// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://url.spec.whatwg.org/#interface-urlsearchparams

[
    Constructor(optional (sequence<sequence<USVString>> or record<USVString, USVString> or USVString) init = ""),
    Exposed=(Window,Worker),
    RaisesException=Constructor
] interface URLSearchParams {
    void append(USVString name, USVString value);
    [ImplementedAs=deleteAllWithName] void delete(USVString name);
    USVString? get(USVString name);
    sequence<USVString> getAll(USVString name);
    boolean has(USVString name);
    void set(USVString name, USVString value);

    void sort();

    iterable<USVString, USVString>;
    stringifier;
};
