interface DropdownItem { value: string; text: string; html?: HTMLElement } interface DropdownOptions { textkey?: string; valuekey?: string; htmlkey?: string; maxlength?: Number; multiselect?: boolean; selected?: string; selectedlist?: Array<string>; disabled?: boolean; input?: boolean; search?: boolean; searchkeys?: Array<string>; searchplaceholder?: string; tabindex?: Number; placeholder?: string; slidefixed?: boolean; parent?: HTMLElement; } interface Dropdown { sourceFilter: () => Array<DropdownItem | any>; onselected: (item: DropdownItem | any) => void; onselectedlist: (list: Array<DropdownItem | any>) => void; onexpanded: () => void; get disabled(): boolean; set disabled(flag: boolean); get source(): Array<DropdownItem | any>; set source(list: Array<DropdownItem | any>): void; readonly multiselect: boolean; readonly selected: DropdownItem | any; readonly selectedlist: Array<DropdownItem | any>; create(): HTMLElement; select(selected: string, silence?: boolean): void; selectlist(selectedlist: Array<string>, silence?: boolean): void; } declare var Dropdown: { prototype: Dropdown; new(options?: DropdownOptions): Dropdown; resolve(dom?: HTMLElement): HTMLElement; } export default Dropdown;