/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
export declare class SearchStore {
    /**
     * An utility methods escaping user string to safely pass it into new Regex(variable)
     * @param value Unescaped string
     */
    static escapeRegex(value?: string): string;
    constructor();
    /**
     * Text in the search input
     *
     * @observable
     */
    searchQuery: string;
    /**
     * Array with line numbers, eg [0, 0, 10, 21, 21, 40...]
     *
     * @observable
     */
    occurrences: number[];
    /**
     * Index within the occurrences array. Showing where is activeOverlay currently located
     *
     * @observable
     */
    activeOverlayIndex: number;
    /**
     * Sets default activeOverlayIndex
     * @param text An array of any textual data (logs, for example)
     * @param query Search query from input
     */
    onSearch(text?: string[] | null, query?: string): void;
    /**
     * Does searching within text array, create a list of search keyword occurrences.
     * Each keyword "occurrence" is saved as index of the line where keyword was found
     * @param lines An array of any textual data (logs, for example)
     * @param query Search query from input
     * @returns Array of line indexes [0, 0, 14, 17, 17, 17, 20...]
     */
    private findOccurrences;
    /**
     * Getting next overlay index within the occurrences array
     * @param loopOver Allows to jump from last element to first
     * @returns next overlay index
     */
    private getNextOverlay;
    /**
     * Getting previous overlay index within the occurrences array of occurrences
     * @param loopOver Allows to jump from first element to last one
     * @returns previous overlay index
     */
    private getPrevOverlay;
    setNextOverlayActive(): void;
    setPrevOverlayActive(): void;
    /**
     * Gets line index of where active overlay is located
     * @returns A line index within the text/logs array
     */
    get activeOverlayLine(): number;
    get activeFind(): number;
    get totalFinds(): number;
    /**
     * Checks if overlay is active (to highlight it with orange background usually)
     * @param line Index of the line where overlay is located
     * @param occurrence Number of the overlay within one line
     */
    isActiveOverlay(line: number, occurrence: number): boolean;
    private reset;
}
