import { Event, InitModelOf, KeyStrokeContext, Outline, Page, PropertyChangeEvent, SearchOutlineEventMap, SearchOutlineModel, SearchState } from '../../index';
export declare class SearchOutline extends Outline implements SearchOutlineModel {
    model: SearchOutlineModel;
    eventMap: SearchOutlineEventMap;
    self: SearchOutline;
    searchQuery: string;
    maxSearchFieldLength: number;
    minSearchTokenLength: number;
    searchFieldKeyStrokeContext: KeyStrokeContext;
    searchStatus: string;
    $searchPanel: JQuery;
    $clearIcon: JQuery;
    $searchStatus: JQuery;
    $queryField: JQuery<HTMLInputElement>;
    protected _searchQueryValid: boolean;
    protected _searchStates: Set<SearchState>;
    protected _searchStateChangeHandler: (event: PropertyChangeEvent<number | boolean, SearchState>) => void;
    protected _searchStateDestroyHandler: (event: Event<SearchState>) => void;
    protected _init(model: InitModelOf<this>): void;
    protected _initKeyStrokeContext(): void;
    protected _createKeyStrokeContextForSearchField(): KeyStrokeContext;
    protected _render(): void;
    protected _remove(): void;
    protected _renderProperties(): void;
    protected _renderTitle(): void;
    setSearchQuery(searchQuery: string): void;
    protected _setSearchQuery(searchQuery: string): void;
    protected _renderSearchQuery(): void;
    protected _updateHasText(): void;
    setSearchStatus(searchStatus: string): void;
    protected _updateSearchStatus(): void;
    protected _renderSearchStatus(): void;
    setMaxSearchFieldLength(maxSearchFieldLength: number): void;
    protected _setMaxSearchFieldLength(maxSearchFieldLength: number): void;
    setMinSearchTokenLength(minSearchTokenLength: number): void;
    protected _setMinSearchTokenLength(minSearchTokenLength: number): void;
    search(): void;
    protected _validateSearchQuery(): void;
    protected _triggerSearch(): void;
    resetSearch(): void;
    protected _triggerResetSearch(): void;
    protected _createOnQueryFieldInputFunction(): (event: JQuery.TriggeredEvent) => void;
    protected _onClearIconMouseDown(event: JQuery.MouseDownEvent): void;
    protected _onQueryFieldKeyPress(event: JQuery.KeyPressEvent): void;
    focusQueryField(): void;
    /**
     * Focus and select content AFTER the search outline was rendered (and therefore the query field filled).
     */
    validateFocus(): void;
    updateSearchStates(): void;
    protected _getRelevantSearchPages(): SearchPage[];
    setSearchStates(searchStates: Set<SearchState>): void;
    protected _installSearchStateListeners(searchState: SearchState): void;
    protected _uninstallSearchStateListeners(searchState: SearchState): void;
    protected _onSearchStateChanged(event: PropertyChangeEvent<number | boolean, SearchState>): void;
    protected _onSearchStateDestroy(event: Event<SearchState>): void;
    get resultCount(): number;
    get limited(): boolean;
    get pending(): boolean;
}
export interface SearchPage extends Page {
    searchState?: SearchState;
}
//# sourceMappingURL=SearchOutline.d.ts.map