#import <HTML/HTMLElement.idl>
#import <HTML/HTMLOptionsCollection.idl>

// https://html.spec.whatwg.org/multipage/form-elements.html#htmlselectelement
[Exposed=Window]
interface HTMLSelectElement : HTMLElement {

    [Reflect] attribute boolean disabled;
    [Reflect] attribute boolean multiple;
    [Reflect] attribute boolean required;
    [SameObject] readonly attribute HTMLOptionsCollection options;

    readonly attribute DOMString type;

    readonly attribute unsigned long length;
    getter Element? item(unsigned long index);
    getter Element? namedItem(DOMString name);
    [CEReactions] undefined add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null);

    attribute long selectedIndex;

};
