export interface RenderOptions { width: number; height: number; maintainAspectRatio?: boolean; backgroundColor?: number; } export interface RenderedPage { buffer: any; width: number; height: number; stride: number; _bitmap?: any; } export declare class PdfRenderService { private pdfium; private isInitialized; private pageCache; private cacheEnabled; private logger; constructor(); /** * Initialize PDFium library (using singleton for performance) */ initialize(): Promise; /** * Enable or disable page caching */ setCacheEnabled(enabled: boolean): void; isCacheEnabled(): boolean; /** * Cleanup PDFium library (using reference counting for singleton) */ cleanup(): void; /** * Clear page cache */ clearCache(): void; /** * Cleanup rendered page bitmap */ cleanupRenderedPage(renderedPage: RenderedPage): void; /** * Load PDF document from buffer */ loadDocument(pdfData: Buffer): any; /** * Close PDF document and clear its cache */ closeDocument(pdfDoc: any): void; /** * Get page count from document */ getPageCount(pdfDoc: any): number; /** * Get page dimensions in points (1/72 inch) */ getPageDimensions(pdfDoc: any, pageIndex: number): { width: number; height: number; }; calculateRenderWidth(pdfDoc: any, pageIndex: number, targetWidth: number): { width: number; height: number; }; /** * Render a single PDF page to bitmap with caching */ renderPage(pdfDoc: any, pageIndex: number, options: RenderOptions): RenderedPage; getCacheKey(pageIndex: number, width: number, height: number): string; /** * Pre-render multiple pages in parallel (performance optimization) */ preRenderPages(pdfDoc: any, pageIndices: number[], options: RenderOptions): Promise; } //# sourceMappingURL=pdf-render.service.d.ts.map