import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
interface ShortcutEntry {
    shortcut: string;
    categoriesList: string;
}
interface CategoryEntry {
    key: string;
    provider: string;
    category: string;
    label: string;
    example?: string;
}
declare class SearchFilterComponent extends GirafeHTMLElement {
    protected templateUrl: string | null;
    protected styleUrls: string[] | null;
    template: () => import("uhtml").Hole;
    enabled: boolean;
    currentPrefixSymbol: string | null;
    private prefixSymbols;
    private categories;
    private availableShortcuts;
    private selectedCategories;
    private filterExamples;
    private fsmState;
    private focusedShortcutIndex;
    private readonly numberOfChipsToShow;
    constructor();
    private registerEvents;
    private initSearchFilter;
    private loadSearchCategories;
    private sanitizeShortcuts;
    getSelectedCategoryEntries(shortened?: boolean): CategoryEntry[];
    getNumberOfOverflowChips(): number;
    getNumberOfOverflowChipsAsLabel(): string;
    isMenuOpen(): boolean;
    isCategoriesOpen(): boolean;
    isShortcutsOpen(): boolean;
    isCategorySelected(categoryEntry: CategoryEntry): boolean;
    hasShortcutsConfigured(): boolean;
    isFilterActive(): boolean;
    getSelectionCount(): number;
    onFilterButtonClick(event: Event): void;
    onCategoryToggle(categoryEntry: CategoryEntry, e: Event): void;
    onSelectAll(event: Event): void;
    onClearSelection(event: Event): void;
    onChipClick(event: Event): void;
    onRemoveChip(categoryEntry: CategoryEntry, event: Event): void;
    private closeMenu;
    private transitionTo;
    getAllCategoriesFlattened(): CategoryEntry[];
    private createCategoryEntry;
    private categoryEntriesToSearchCategories;
    private applyFiltersChange;
    getShortcutEntries(): ShortcutEntry[];
    private translateCategory;
    getShortcutForCategory(categoryEntry: CategoryEntry): string;
    private onPrefixUsed;
    private readonly parentKeyDownHandler;
    /**
     * Triggered on a keydown event from the parent search input field.
     */
    onParentKeyDown(e: KeyboardEvent): void;
    onShortcutListDown(e: KeyboardEvent): void;
    private navigateToResult;
    private focusResultFromIndex;
    private applyShortcut;
    onShortcutClick(shortcut: string): void;
    private readonly outsideClickHandler;
    private onOutsideClick;
    private readonly insideClickHandler;
    private onInsideClick;
    private removeClickHandlers;
    private addParentKeyDownEventListener;
    private removeParentKeyDownHandler;
    protected connectedCallback(): void;
    protected disconnectedCallback(): void;
}
export default SearchFilterComponent;
