export declare type T_LTWH = {
    left: number;
    top: number;
    width: number;
    height: number;
};
export declare type T_Scaled = {
    x1: number;
    y1: number;
    x2: number;
    y2: number;
    width: number;
    height: number;
};
export declare type T_Position = {
    boundingRect: T_LTWH;
    rects: Array<T_LTWH>;
    pageNumber: number;
};
export declare type T_ScaledPosition = {
    boundingRect: T_Scaled;
    rects: Array<T_Scaled>;
    pageNumber: number;
    usePdfCoordinates?: boolean;
};
export declare type T_Content = {
    text?: string;
    image?: string;
};
export declare type T_HighlightContent = {
    content: T_Content;
};
export declare type T_Comment = {
    text: string;
    emoji: string;
};
export declare type T_HighlightComment = {
    comment: T_Comment;
};
export declare type T_NewHighlight = {
    position: T_ScaledPosition;
} & T_HighlightContent & T_HighlightComment;
export declare type T_Highlight = {
    id: string;
} & T_NewHighlight;
export declare type T_ViewportHighlight = {
    position: T_Position;
} & T_HighlightContent & T_HighlightComment;
export declare type T_VIEWPORT = {
    convertToPdfPoint: (x: number, y: number) => Array<number>;
    convertToViewportRectangle: (pdfRectangle: Array<number>) => Array<number>;
    width: number;
    height: number;
};
export declare type T_EventBus = {
    on: (eventName: string, callback: () => void) => void;
    off: (eventName: string, callback: () => void) => void;
};
export declare type T_PDFJS_Viewer = {
    container: HTMLDivElement;
    viewer: HTMLDivElement;
    getPageView: (page: number) => {
        textLayer: {
            textLayerDiv: HTMLDivElement;
        };
        viewport: T_VIEWPORT;
        div: HTMLDivElement;
        canvas: HTMLCanvasElement;
    };
    setDocument: (document: T_PDFJS_Document) => Promise<void>;
    scrollPageIntoView: (options: {
        pageNumber: number;
        destArray: Array<any>;
    }) => void;
    currentScaleValue: string;
};
export declare type T_PDFJS_Document = {
    destroy: () => void;
    numPages: number;
};
export declare type T_PDFJS_LinkService = {
    setDocument: (document: Object) => void;
    setViewer: (viewer: T_PDFJS_Viewer) => void;
};
export declare type T_PDFJS = {
    TextLayerBuilder: {
        prototype: {
            _bindMouse: () => void;
        };
    };
    PDFViewer: (options: Object) => T_PDFJS_Viewer;
    PDFLinkService: () => T_PDFJS_LinkService;
    getDocument: (url: string) => Promise<T_PDFJS_Document>;
    disableWorker: boolean;
};
