/// <reference path="../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from "i18next";
/// <reference path="../vendor/react/react.d.ts" />
//@ts-ignore
import { Component } from "react";
import { GcPdfSearcher } from "./GcPdfSearcher";
import { ReplaceHelper } from "./ReplaceHelper";
import { SearchWorker } from "./SearchWorker";
import { FindOptions, SearchOptionType, SearchPanelModel, SearchPanelProps, SearchResult } from "./types";
/**
 * Base class for search panel/bar implementations.
 **/
export declare class SearchPanelBase extends Component<SearchPanelProps, SearchPanelModel> {
    outerDiv: HTMLDivElement | null;
    protected _mounted: boolean;
    protected _optionsDirty: boolean;
    private _onDocumentLoadHandler?;
    private _onSupportApiConnectedHandler?;
    private _replaceHelper;
    get searcher(): GcPdfSearcher;
    get viewer(): import("..").GcPdfViewer;
    get eventBus(): import("../Models/ViewerTypes").IGCEventBus;
    get i18n(): i18n;
    get replaceMode(): boolean;
    set replaceMode(replaceMode: boolean);
    get replaceWith(): string;
    set replaceWith(replaceWith: string);
    get searchWorker(): SearchWorker;
    componentDidMount(): void;
    componentWillUnmount(): void;
    replaceNext(): Promise<void>;
    get replaceHelper(): ReplaceHelper;
    replaceAll(): Promise<void>;
    bindEvents(): void;
    unbindEvents(): void;
    onDocumentLoad(): Promise<void>;
    onSupportApiConnected(args: any): Promise<void>;
    onQueryInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * Toggle search option.
     * @param option
     * @param checked
     */
    onOptionToggle(option: SearchOptionType, checked: boolean): void;
    /**
     * Clear search results.
     **/
    resetResults(): Promise<void>;
    /**
     * Set search options.
     * @param options
     */
    setOptions(options: FindOptions): void;
    updateText(text: string): void;
    onEscKey(): Promise<void>;
    onEnterKey(): Promise<void>;
    getBriefResultsInfo(): string;
    updateBriefResultsInfo(briefInfo?: string): void;
    highlightNextSearchResult(backward?: boolean): Promise<void>;
    onSearchBtnClick(): Promise<void>;
    /**
     * Continue search in document.
     * Returns false when search is suspended, otherwise returns true (search completed or canceled).
     * @param maxResultsCount
     * @returns
     **/
    loadMoreResults(maxResultsCount?: number): Promise<boolean>;
    onResultClick(result: SearchResult | null): Promise<void>;
    onKeyPress: (e: any) => void;
    ensureSelectedResultClass(result: SearchResult | null): void;
}
