import Config from './config'; import Data, { dataArray, option } from './data'; import Select from './select'; import Slim from './slim'; declare type Callback = (...args: any[]) => any; interface Options { select: string | Element; data: dataArray; showSearch: boolean; searchPlaceholder: string; searchText: string; searchHighlight: boolean; closeOnSelect: boolean; showContent: 'auto' | 'up' | 'down'; placeholder: string; allowDeselect: boolean; isEnabled: boolean; valuesUseText: boolean; showOptionTooltips: boolean; ajax: Callback; addable: Callback; beforeOnChange: Callback; onChange: Callback; beforeOpen: Callback; afterOpen: Callback; beforeClose: Callback; afterClose: Callback; } export declare class SlimSelect { config: Config; select: Select; data: Data; slim: Slim; ajax: Callback; addable: Callback; beforeOnChange: Callback; onChange: Callback; beforeOpen: Callback; afterOpen: Callback; beforeClose: Callback; afterClose: Callback; constructor(info: Partial); validate(info: Partial): void; selected(): { data: { [x: string]: string; }; text: string; value: string; }[] | { data: { [x: string]: string; }; text: string; value: string; }; set(value: string | string[], type?: string, close?: boolean, render?: boolean): void; setSelected(value: string | string[], type?: string, close?: boolean, render?: boolean): void; setData(data: dataArray): void; addData(data: option): void; open(): void; close(): void; moveContentAbove(): void; moveContentBelow(): void; enable(): void; disable(): void; search(value: string): void; setSearchText(text: string): void; render(): void; destroy(id?: string): void; } export default SlimSelect;