export interface Select2Group { label: string; options: Select2Option[]; classes?: string; } export interface Select2Option { value: Select2Value; label: string; disabled?: boolean; component?: string | Function; classes?: string; } export declare type Select2Value = string | number | boolean; export declare type Select2UpdateValue = Select2Value | Select2Value[]; export declare type Select2Data = (Select2Group | Select2Option)[]; export declare const timeout = 200; export declare function getOptionByValue(data: Select2Data, value: Select2Value | null | undefined): Select2Option | null; export declare function getOptionsByValue(data: Select2Data, value: Select2UpdateValue | null | undefined, multiple: boolean | null | undefined): Select2Option | Select2Option[] | null; export declare function getFirstAvailableOption(data: Select2Data): Select2Value | null; export declare function valueIsNotInFilteredData(filteredData: Select2Data, value: Select2Value | null | undefined): boolean; export declare function getPreviousOption(filteredData: Select2Data, hoveringValue: Select2Value | null | undefined): Select2Value | null | undefined; export declare function getNextOption(filteredData: Select2Data, hoveringValue: Select2Value | null | undefined): Select2Value | null | undefined; export declare function getLastScrollTopIndex(hoveringValue: Select2Value | null | undefined, results: HTMLElement, filteredData: Select2Data, lastScrollTopIndex: number): number | null; export declare function getFilteredData(data: Select2Data, searchText: string | null, editPattern?: (str: string) => string): Select2Data; export declare function getOptionStyle(option: Select2Option, hoveringValue: Select2Value | null | undefined): string; export declare function getDropdownStyle(isOpen: boolean): "select2-container select2-container--default select2-container-dropdown select2-container--open" | "select2-container select2-container--default select2-container-dropdown"; export declare function getContainerStyle(disabled: boolean | undefined, isOpen: boolean): string; export declare function getSelectionStyle(multiple?: boolean | undefined): string; export declare function isSearchboxHiddex(data: Select2Data, minCountForSearch?: number): boolean; export declare function getSearchStyle(isHidden: boolean): "select2-search select2-search--dropdown select2-search--hide" | "select2-search select2-search--dropdown"; export declare function isSelected(options: Select2Option | Select2Option[] | null, option: Select2Option, multiple: boolean | null | undefined): "true" | "false"; export declare function removeSelection(options: Select2Option | Select2Option[] | null, option: Select2Option): void;