import type { ItemsUnion, Item, Value, FetchFunction, SearchFn, GetValueFn, GetTitleFn } from './types'; export declare enum KeyboardKeys { ArrowDown = "ArrowDown", ArrowUp = "ArrowUp", Enter = "Enter", Escape = "Escape" } /** * Приоритет проверки по порядку * * Поиск производим по изначальной структуре, дабы выдавать правильный результат в * событии select (должны отдавать изначально переданный формат) */ export declare enum SearchType { ByFetch = 0, ByItemText = 1, ByItemGetTitle = 2, ByItemTitle = 3, Error = 4 } export declare const transformItems: (items: ItemsUnion | null, getValue?: GetValueFn, getTitle?: GetTitleFn) => ItemsUnion; export declare const findElementByValue: (items?: ItemsUnion, value?: Value, getValue?: GetValueFn, getTitle?: GetTitleFn) => any; export declare const getTitleByValue: (items?: ItemsUnion, value?: Value, getValue?: GetValueFn, getTitle?: GetTitleFn) => any; export declare const getSearchType: (fetchItems?: FetchFunction, items?: ItemsUnion, getTitle?: GetTitleFn) => SearchType; export declare const searchByItemText: (query: string, items: string[]) => Promise; export declare const searchByItemTitle: (query: string, items: Item[]) => Promise; export declare const searchByGetTitleFn: (getTitle: GetTitleFn, query: string, items: any[]) => Promise; export declare const getSearchFn: (type: SearchType, fetchItems?: FetchFunction, getTitle?: GetTitleFn) => SearchFn;