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