export interface ICustomHighlight {
    rects: ({
        x: number;
        y: number;
        w: number;
        h: number;
    } | number[])[];
    color?: string;
    borderColor?: string;
    borderWidth?: number;
    text?: string;
    paintHandler?: (ctx: CanvasRenderingContext2D, highlight: ICustomHighlight) => void;
}
export type HighlightStyleArgs = {
    color?: string;
    borderColor?: string;
    borderWidth?: number;
};
export type HighlightBehaviorArgs = {
    clearPrevious?: boolean;
    skipPaint?: boolean;
};
export type HighlightArgs = HighlightStyleArgs & HighlightBehaviorArgs;
export interface ITextHighlightManager {
    highlightTextSegment(pageIndex: number, startCharIndex: number, endCharIndex: number, args?: {
        color?: string;
        borderColor?: string;
        borderWidth?: number;
        clearPrevious?: boolean;
        skipPaint?: boolean;
    }): Promise<boolean>;
    clearHighlightedSegments(pageIndex: number | number[], args?: HighlightBehaviorArgs): void;
    getHighlightsForPage(pageIndex: number): ICustomHighlight[];
    repaintTextLayer(pageIndices: number | number[]): void;
    addHighlight(pageIndex: number, highlight: ICustomHighlight, args?: HighlightBehaviorArgs): any;
    removeHighlight(pageIndex: number, index: number, args?: HighlightBehaviorArgs): any;
    clearAllHighlights(args?: HighlightBehaviorArgs): any;
}
