import { Change } from 'diff'; import { default as default_2 } from 'react'; import { DocumentInitParameters } from 'pdfjs-dist/types/src/display/api'; import { events } from 'events'; import { PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api'; import * as pdfjs from 'pdfjs-dist'; export declare type Annotation = any; export declare enum AnnotationEditorType { NONE = 0, FREETEXT = 3, DATE = 27, STAMP = 13 } export declare function convertAnnotationsToContent(params: { annotations: Annotation[]; pdf: string | ArrayBuffer; font?: string | ArrayBuffer; subject?: Record; }): Promise; export declare function debounce void>(func: T, wait: number): (...args: Parameters) => void; export declare function diffPDF(oldPDF: PDFData, newPDF: PDFData): Promise<{ consistent: boolean; diffs: PageDiff[]; }>; export declare function download(pdfBytes: Uint8Array, filename: string): void; export declare class EventHelper { eventBus: any; listeners: Record void>; constructor(eventBus: any, listeners: Record void>); mount(): void; unmount(): void; } export declare function extractTextContent(doc: pdfjs.PDFDocumentProxy): Promise; export declare function getDocument(data: PDFData): Promise; export declare function getSubject(pdf: string | ArrayBuffer | Uint8Array): Promise; export declare const getViewerInstance: (pdfIframe: HTMLIFrameElement) => { PDFViewerApplication: any; PDFViewerApplicationOptions: any; }; export declare function locateKeywords(pdfViewerApp: PDFViewerApp, keywords: string): Promise<{ pageIndex: number; rect: number[]; }[]>; declare interface PageDiff { pageIndex: number; textConsistent: boolean; imageConsistent: boolean; textDiffs: Change[]; imageDiffs: boolean; } export declare function pdfBytesToUrl(pdfBytes: Uint8Array): string; declare type PDFData = DocumentInitParameters["data"]; export declare const PDFEditor: default_2.FC; export declare class PDFEditorConnector { viewerUrl: string; eventBus: any; _eventBus: events< { updateTitle: [title: string]; }>; iframeWindow: Window; app: PDFViewerApp; mobileMode: boolean; get filename(): any; constructor(params: { viewerUrl: string; viewerParams?: PDFViewerParams; mobileMode?: boolean; }); setAnnotationEditorType(type: AnnotationEditorType, data?: { bitmapFile: string; }): void; getAllAnnotations(): Annotation[]; selectAnnotationById(id: string): void; setAnnotations(annotations: any[]): void; removeAnnotationById(id: string): void; removeAllAnnotations(): void; jumpToAnnotationById(id: string): void; getAnnotationById(id: string): any; addEmptyPage(): Promise; open(url: string): any; connect(pdfViewerIframe: HTMLIFrameElement): Promise; disconnect(): void; getPdfData(): Promise; locate(keywords: string): Promise<{ pageIndex: number; rect: number[]; }[]>; } export declare interface PDFEditorInstance { } export declare interface PDFEditorProps { className?: string; connector: PDFEditorConnector; title?: string; onReady?: (connector: PDFEditorConnector) => void; } export declare type PDFViewerApp = any; export declare interface PDFViewerParams { disableworker?: boolean; textLayer?: "off" | "visible" | "shadow" | "hover"; locale?: string; disableAutoFetch?: boolean; disableFontFace?: boolean; disableHistory?: boolean; disableRange?: boolean; disableStream?: boolean; verbosity?: number; enableAltText?: boolean; enableGuessAltText?: boolean; enableUpdatedAddImage?: boolean; highlightEditorColors?: string; maxCanvasPixels?: number; spreadModeOnLoad?: number; supportsCaretBrowsingMode?: boolean; disableDragOpen?: boolean; [index: string]: string | number | boolean | undefined; } export declare const usePDFEditorConnector: (params: ConstructorParameters["0"]) => PDFEditorConnector; export { }