/** * @fileoverview PDF Generator using Puppeteer * @module generator/PdfGenerator */ import { MarkdownParser } from '../parser/index.js'; import type { ParsedDocument, PdfOptions } from '../types/index.js'; /** * PDF Generator class that converts Markdown to PDF using Puppeteer * * @example * ```typescript * const generator = new PdfGenerator(); * await generator.initialize(); * await generator.generatePdf('/path/to/file.md', '/path/to/output.pdf'); * await generator.close(); * ``` */ export declare class PdfGenerator { /** Puppeteer browser instance */ private browser; /** Markdown parser instance */ private parser; /** Whether the generator has been initialized */ private initialized; /** * Create a new PdfGenerator instance */ constructor(); /** * Initialize the PDF generator (launches browser) * Must be called before generating PDFs */ initialize(): Promise; /** * Close the PDF generator and release resources */ close(): Promise; /** * Ensure the generator is initialized * @throws Error if not initialized */ private ensureInitialized; /** * Build the complete HTML document for PDF generation * @param content - Rendered HTML content * @param frontMatter - Document frontmatter * @param options - PDF options * @param tocHtml - Optional table of contents HTML * @returns Complete HTML document string */ private buildHtmlDocument; /** * Build paginated content with headers and footers on each page */ private buildPaginatedContent; /** * Generate header template for PDF * @param frontMatter - Document frontmatter * @param theme - Theme for styling * @returns HTML template string for header */ private generateHeaderTemplate; /** * Generate footer template for PDF with page numbers * @param theme - Theme for styling * @returns HTML template string for footer */ private generateFooterTemplate; /** * Generate PDF from a parsed document * @param document - Parsed Markdown document * @param outputPath - Path for the output PDF file * @param options - PDF generation options */ generateFromDocument(document: ParsedDocument, outputPath: string, options?: PdfOptions): Promise; /** * Generate PDF from Markdown content string * @param markdownContent - Markdown content to convert * @param outputPath - Path for the output PDF file * @param options - PDF generation options */ generateFromContent(markdownContent: string, outputPath: string, options?: PdfOptions): Promise; /** * Get the Markdown parser instance * @returns The parser instance */ getParser(): MarkdownParser; } //# sourceMappingURL=PdfGenerator.d.ts.map