import TomSelect from 'tom-select'; import { Field } from '../field'; import { Form } from '../form'; import { SelectFieldOptions } from '../interfaces'; import { HTMLElementEvent, Option, OptionGroup, SelectFieldValue } from '../types'; export declare class SelectField extends Field { options: SelectFieldOptions; private _tomselect; constructor(parent: HTMLElement, form: Form, options: SelectFieldOptions); private ensureTomSelectDefaultOptions; initialize(): Promise; syncValue(): void; bindChange(): void; getTomselect(): TomSelect | null; pullOptions(query: string, callback: (options?: Option[], groups?: OptionGroup[]) => void, fetchOptions: Option[] | ((query: string) => Promise), fetchGroups?: OptionGroup[] | ((query: string) => Promise)): Promise; initTomselect(): void; handleDisabled(): void; createSelectElement(): void; syncOptions(options: Option[], groups: OptionGroup[]): void; private createOption; onGui(): void; change(event: HTMLElementEvent): void; getValue(): SelectFieldValue; }