import { Observable } from 'rxjs'; export interface KitSelectItem { model: M; itemView?: V; inputView?: I; } export declare type KitSelectListStateSourceFn = (input: string) => KitSelectItem[]; export declare type KitSelectListStateAsyncSourceFn = (input: string) => Observable[]>; export declare type KitSelectListStateSource = KitSelectItem[] | KitSelectListStateSourceFn | KitSelectListStateAsyncSourceFn; export declare type KitSelectFilterFn = (input: string, item: KitSelectItemView) => boolean; export declare type KitSelectFilter = undefined | 'includes' | 'startsWith' | 'endsWith' | KitSelectFilterFn; export declare type KitSelectSearchFn = (input: string) => KitSelectItem[] | Observable[]>; export interface KitSelectItemView { model: M; view: any; filter?: string; } export interface KitSelectInputView { model: M; view: any; } export interface KitSelectOptions { showItemsOnFocus?: boolean; searchDebounce?: number; searchOnFocus?: boolean; clearable?: boolean; } export declare const kitSelectDefaultOptions: KitSelectOptions;