/// /// /** PDF.js related types */ export interface PDFDocumentProxy { numPages: number; fingerprint: string; getPage(pageNumber: number): Promise; getOutline(): Promise; getData(): Promise; } export interface PDFPageProxy { pageNumber: number; _pageIndex: number; view: [number, number, number, number]; commonObjs: { get(objectId: string): any; has(objectId: string): boolean; }; objs: { get(objectId: string): any; has(objectId: string): boolean; _objs: any; }; getViewport(params: ViewportParameters): PageViewport; getAnnotations(): Promise; getTextContent(): Promise; render(params: RenderParameters): { promise: Promise; }; } export interface ViewportParameters { scale: number; rotation?: number; } export interface PageViewport { width: number; height: number; transform: number[]; convertToViewportRectangle(rect: number[]): number[]; } export interface RenderParameters { canvasContext: any; viewport: PageViewport; } export interface TextContent { items: TextItem[]; } export interface TextItem { str: string; fontName: string; width: number; height: number; transform: number[]; } export interface Annotation { id: string; type: string; rect: number[]; [key: string]: any; } /** Application-specific types */ export interface ImageData { boundingBox: BoundingBox; data: Buffer; objectId: string; contentType: 'image/png' | 'image/jpeg'; } export interface BoundingBox { readonly left: number; readonly right: number; readonly bottom: number; readonly top: number; readonly width: number; readonly height: number; } export interface RenderOptions { readonly width?: number; readonly type?: 'image/jpeg' | 'image/png'; readonly quality?: number; } export interface FontInfo { readonly raw: string; readonly identifier: string; readonly fontFamily: string; readonly fontWeight: 'normal' | 'bold'; readonly fontStyle: 'normal' | 'italic'; } /** Canvas cleanup interface */ export interface CanvasLike { width: number; height: number; toBuffer(type: string, options?: { quality: number; }): Buffer; } /** Error types */ export declare class PdfProcessingError extends Error { readonly pageIndex?: number | undefined; readonly cause?: Error | undefined; constructor(message: string, pageIndex?: number | undefined, cause?: Error | undefined); } export declare class MemoryError extends PdfProcessingError { constructor(message: string, pageIndex?: number); } export declare class InvalidPdfError extends PdfProcessingError { constructor(message: string); } //# sourceMappingURL=pdf.types.d.ts.map