import { EventEmitter } from '../../stencil-public-runtime'; export interface CategoryInterface { key: string; placeholder?: string; filterFn: (query: string, options: CategoryInterface['options']) => CategoryInterface['options']; renderItem: (item: CategoryInterface['options'][0]) => string; title?: string; options: any; filteredOptions?: any; open?: boolean; inputEl?: HTMLInputElement; lsKey?: string; } export declare class FtbSearchableContent { items: any[]; renderItems: (items: any[]) => string | string[]; filterFn: (items: any[], query: string, categories?: CategoryInterface[]) => Promise; placeholder: string; categories: CategoryInterface[]; /** alternative to "categories" property. used when categories list should be updated on category change */ getCategories: (currentCategories?: CategoryInterface[]) => CategoryInterface[]; debounce: number; clear: number; /** on which width to render mobile view */ mobileThreshold?: number; open: boolean; filteredItems: any[]; searchInProgress: boolean; inputFocused: boolean; mobileMode: boolean; inputKeyDown: EventEmitter; inputFocusChange: EventEmitter; openCategoryChange: EventEmitter; searchInProgressCategoryChange: EventEmitter; element: HTMLElement; private inputEl; private queryChanges$; private categoryUpdated$; private onDestroyed$; private ready$; private inputDirty; private resizeObserver; private mobileFilterEl; componentWillLoad(): Promise; onClearSignal(): void; componentDidLoad(): void; createFilterModal(): void; setMinHeight(el: HTMLDivElement): void; componentWillUpdate(): Promise; private categoryDefaultSelect; private subscribeToQueryChanges; disconnectedCallback(): void; private search; private onKeyDown; private onKeyUp; private onCategoryInputKeyDown; private onCategoryInputKeyUp; private toggleCategory; private selectOption; setFocus(isFocused: boolean): void; openFilter(): void; isFilterActive(): boolean; render(): any; }