export type SlideImageFormat = 'png' | 'jpg'; export interface ExtractPdfSlidesInput { /** Absolute or cwd-relative path to the source PDF. */ pdfPath: string; /** Directory to write the rendered slide images into. */ outputDir: string; /** Image encoding (default: 'png'). */ format?: SlideImageFormat; /** * Render scale relative to the PDF's native point size (default: 2.0). * * pdfjs renders at 72 DPI when scale=1. The Python default of 200 DPI maps * to scale ≈ 2.78; we default to 2.0 (≈144 DPI) for a sensible balance of * fidelity vs. file size, overridable per call. */ scale?: number; /** Skip rendering + file writes; return page metadata only. */ dryRun?: boolean; } export interface ExtractedPdfPage { /** 1-based page index (mirrors the Python `slide_NNN` naming). */ index: number; /** Path to the rendered image (empty string on dry-run). */ path: string; /** Rendered pixel width (= native width × scale). */ width: number; /** Rendered pixel height (= native height × scale). */ height: number; } export interface ExtractPdfSlidesResult { pages: ExtractedPdfPage[]; } /** `slide_001.png` — zero-padded to 3 digits to match the Python pipeline. */ export declare function slideImageFilename(index: number, format: SlideImageFormat): string; /** * Render each page of a PDF to an image. Returns per-page metadata. * * On `dryRun`, the PDF is still opened (so page count + dimensions are real), * but no canvas is rendered and no file is written; each page's `path` is the * empty string. * * Throws `VclawError('pdf_parse_failed', ...)` if the document cannot be * parsed or a page cannot be rendered. */ export declare function extractPdfSlides(input: ExtractPdfSlidesInput): Promise; //# sourceMappingURL=pdf.d.ts.map