/// <reference path="../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from 'i18next';
//@ts-ignore
import React from 'react';
import GcPdfViewer from '../GcPdfViewer';
import { SearchPanelBase } from '../Search/SearchPanelBase';
import { SearchPanelProps } from '../Search/types';
import { FloatingSearchBarModel } from './types';
export declare class FloatingSearchBar extends SearchPanelBase {
    state: FloatingSearchBarModel;
    private _pendingInputFocus;
    private _searchQueryInput;
    private _settingsDropdown;
    constructor(props: SearchPanelProps);
    componentWillUnmount(): void;
    onEnterKey(): Promise<void>;
    onEscKey(): Promise<void>;
    private renderSearchToolbar;
    onReplaceInputKeyPress: (e: any) => void;
    private renderReplaceTextToolbar;
//@ts-ignore
//@ts-ignore
    render(): React.JSX.Element | null;
    focusSearchQueryInput(select?: boolean): void;
    get isMounted(): boolean;
    get visible(): boolean;
    componentWillUpdate(nextProps: Readonly<SearchPanelProps>, nextState: Readonly<FloatingSearchBarModel>, nextContext: any): void;
    set visible(visible: boolean);
    get viewer(): GcPdfViewer;
    get in17n(): i18n;
    toggle(expand?: boolean, replaceMode?: boolean): void;
    /**
     * Toggles the replace mode in the floating search bar. If the `enable` parameter is not provided,
     * it will toggle the current `replaceMode` state. If `enable` is provided, it sets the `replaceMode`
     * state to this value.
     *
     * @param {boolean} [enable] - Optional. If provided, sets the `replaceMode` state to this value.
     *                              If not provided, the method will toggle the current `replaceMode` state.
     */
    toggleReplaceMode(enable?: boolean): void;
    /**
     * Show floating bar.
     **/
    show(): void;
    /**
     * Hide floating bar.
     **/
    hide(): void;
    _autoStartAfterInputChangeTimeout: any;
    autoStartAfterInputChange(): void;
    private _autoStartOnOptionToggleTimeout;
    autoStartOnOptionToggle(): void;
    get searchBackward(): boolean;
    continueSearch(backward?: boolean): Promise<void>;
    cancelAndResetAsyncSearch(): void;
    private _loadAllResultsAsyncActiveId;
    loadAllResults(curId?: string): void;
    private _toggleRootVisibility;
//@ts-ignore
    renderSearchSettingsContent(): JSX.Element | null;
}
