import type { PdfDecomposerOptions, PdfDecomposerState, PdfDecomposerError } from '../types/decomposer.types.js'; import type { DecomposeResult } from '../types/decompose.types.js'; import { PdfDocument } from './PdfDocument.js'; import type { PdfPageRenderer } from '../types/renderer.types.js'; /** * Core PDF decomposition logic for already-loaded PDF documents * * Decomposes a PDF document and extracts all content including: * - Text content with positioning and formatting * - Images (if extractImages option is enabled) * - Document structure and metadata * - Page-level information (dimensions, rotation, etc.) * * @param pdfDocument Already loaded and processed PdfDocument instance * @param options Optional configuration for decomposition process * @param progressCallback Optional callback for progress updates * @param errorCallback Optional callback for error notifications * @returns Promise resolving to DecomposeResult with pages array * * @example * ```typescript * import { pdfDecompose } from 'pdf-decomposer/core' * * // Load PDF first * const pdfProxy = await PdfLoader.loadFromBuffer(buffer) * const pdfDocument = new PdfDocument(pdfProxy) * await pdfDocument.process() * * // Then decompose with progress tracking * const pages = await pdfDecompose(pdfDocument, { * startPage: 1, * endPage: 10, * elementComposer: true, * extractImages: true * }, (state) => { * console.log(`Progress: ${state.progress}% - ${state.message}`) * }) * ``` */ export declare function pdfDecompose(pdfDocument: PdfDocument, options?: PdfDecomposerOptions, progressCallback?: (state: PdfDecomposerState) => void, errorCallback?: (error: PdfDecomposerError) => void, renderer?: PdfPageRenderer | null): Promise; //# sourceMappingURL=PdfDecompose.d.ts.map