import { Config } from './config'; import { Select } from './select'; import { Slim } from './slim'; import { Data, dataArray, Option } from './data'; interface Constructor { select: string | Element; data?: dataArray; showSearch?: boolean; searchPlaceholder?: string; searchText?: string; searchingText?: string; searchFocus?: boolean; searchHighlight?: boolean; searchFilter?: (opt: Option, search: string) => boolean; closeOnSelect?: boolean; showContent?: string; placeholder?: string; allowDeselect?: boolean; allowDeselectOption?: boolean; hideSelectedOption?: boolean; deselectLabel?: string; isEnabled?: boolean; valuesUseText?: boolean; showOptionTooltips?: boolean; selectByGroup?: boolean; limit?: number; timeoutDelay?: number; addToBody?: boolean; ajax?: (value: string, func: (info: any) => void) => void; addable?: (value: string) => Option | string; beforeOnChange?: (info: Option | Option[]) => void | boolean; onChange?: (info: Option | Option[]) => void; beforeOpen?: () => void; afterOpen?: () => void; beforeClose?: () => void; afterClose?: () => void; } export default class SlimSelect { config: Config; select: Select; data: Data; slim: Slim; ajax: ((value: string, func: (info: any) => void) => void) | null; addable: ((value: string) => Option | string) | null; beforeOnChange: ((info: Option) => void | boolean) | null; onChange: ((info: Option) => void) | null; beforeOpen: (() => void) | null; afterOpen: (() => void) | null; beforeClose: (() => void) | null; afterClose: (() => void) | null; constructor(info: Constructor); validate(info: Constructor): HTMLSelectElement; selected(): string | 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 | null): void; } export {};