import { IGcTextRect } from "../Models/GcMeasurementTypes";
import { GcPdfSearcher } from "./GcPdfSearcher";
import { SearchPanelBase } from "./SearchPanelBase";
import { PaintedBoxInfo, ProgressModel, SearchResult, TextPartsQuadPoints } from "./types";
export declare function getSearchResultsCount(status: 'ready' | 'inprogress' | 'suspended' | 'done' | 'cancelled', results: SearchResult[], progress: ProgressModel, searcher: GcPdfSearcher, _searchPanel: SearchPanelBase): string;
export declare function getResultId(result: SearchResult): string;
export declare function calculateScaledPaintedBoxInfo(textRect: IGcTextRect | null, pageIndex: number, pageView: any, pageRotation: number): IGcTextRect & PaintedBoxInfo | null;
export declare function calculateTextRect(geom: any, styles: any, viewport: any): IGcTextRect | null;
/**
 * Applies the transform to the rectangle and finds the minimum axially aligned bounding box.
 */
export declare function getAxialAlignedBoundingBox(r: any, m: any): number[];
/**
 * Concatenates two transformation matrices together and returns the result.
 * @param m1
 * @param m2
 * @returns
 */
export declare function transform(m1: any, m2: any): any[];
/**
 * For 2d affine transforms
 * @param p
 * @param m
 * @returns
 */
export declare function applyTransform(p: any, m: any): any[];
/**
 * Converts search matches to an array of objects representing the positions
 * within a collection of text content items. Each object contains the start
 * and end positions of a match, identified by the divIdx (index of textContentItems)
 * and offset (position within the corresponding text content).
 *
 * @param matches - An array of match indices representing the positions within
 *                  the concatenated text content.
 * @param matchesLength - An array of match lengths corresponding to the matches.
 *                       If null, assumes a phrase search and uses the query length.
 * @param queryLen - The length of the search query. Used when matchesLength is null.
 * @param pageContent - An array of GcSelectedTextBox objects representing
 *                           the text content items with their divIdx and item properties.
 * @returns An array of objects representing the start and end positions of each match
 *          within the text content items.
 */
export declare function convertSearchMatches(matches: number[], matchesLength: number[], queryLen: number, pageContent: {
    items: IGcTextRect[];
    styles: any[];
}): {
    begin: {
        divIdx: number;
        offset: number;
    };
    end: {
        divIdx: number;
        offset: number;
    };
}[];
export declare function collectHighlightRectangles(begin: {
    divIdx: number;
    offset: number;
}, end: {
    divIdx: number;
    offset: number;
}, pageContent: any): {
    rect: IGcTextRect;
    fromOffset: number;
    toOffset: number;
}[];
export declare function convertedMatchesToQuadPoints(convertedMatches: any, pageContent: any, pageIndex: number, viewer: any, options?: {
    includeSourceData: boolean;
}): TextPartsQuadPoints;
export declare function hashSearchResultId(searchResult: SearchResult): string;
export declare function hashString(str: any): string;
