export * from './core/types'; export * from './core/interfaces'; export { PrintQuality, PaperSize, DuplexMode, PageOrientation, ColorMode, PaperTray } from './core/types'; export { WindowsPrinterManagerAdapter } from './adapters/windows/windows-printer-manager.adapter'; export { WindowsPrinterAdapter } from './adapters/windows/windows-printer.adapter'; export type { PrintOptions as WindowsPrintOptions, PrinterInfo as WindowsPrinterInfo } from './core/types'; import type { PrintOptions, PrinterCapabilitiesInfo, PrinterInfo } from './core/types'; /** * Windows PDFPrinter with GDI and PDFium rendering * * @example * ```typescript * import { PDFPrinter, DuplexMode, PageOrientation, ColorMode, PaperSize, PrintQuality, PaperTray } from 'windows-pdf-printer-native'; * * const printer = new PDFPrinter(); * await printer.print('./document.pdf', { * copies: 2, * duplex: DuplexMode.VERTICAL, * orientation: PageOrientation.LANDSCAPE, * color: ColorMode.COLOR, * paperSize: PaperSize.A4, * paperTray: PaperTray.AUTO, * quality: PrintQuality.MEDIUM * }); * * // For validated creation: * const printer = await PDFPrinter.create('MyPrinter'); * ``` */ export declare class PDFPrinter { private printer; constructor(printerName?: string); /** * Create a PDFPrinter with validation */ static create(printerName?: string): Promise; print(pdfPath: string, options?: PrintOptions): Promise; printRaw(data: Buffer, documentName?: string, options?: PrintOptions): Promise; getPrinterName(): string; /** * Enable or disable page caching for PDF rendering * * Cache is enabled by default for better performance when printing multiple copies. * Disable cache when printing many different PDFs to prevent memory buildup. * * @param enabled - true to enable cache, false to disable * * @example * ```typescript * const printer = new PDFPrinter(); * * // Disable cache when printing different PDFs sequentially * printer.setCacheEnabled(false); * await printer.print('./doc1.pdf'); * await printer.print('./doc2.pdf'); * await printer.print('./doc3.pdf'); * * // Enable cache when printing multiple copies of the same PDF * printer.setCacheEnabled(true); * await printer.print('./report.pdf', { copies: 10 }); * ``` */ setCacheEnabled(enabled: boolean): void; } /** * Windows PrinterManager * * @example * ```typescript * const printers = await PrinterManager.getAvailablePrinters(); * const defaultPrinter = await PrinterManager.getDefaultPrinter(); * ``` */ export declare class PrinterManager { private static manager; static getAvailablePrinters(): Promise; static getDefaultPrinter(): Promise; static getPrinterCapabilities(printerName: string): Promise; static printerExists(printerName: string): Promise; static listPrinters: typeof PrinterManager.getAvailablePrinters; } export declare function listPrinters(): Promise; export declare function getDefaultPrinter(): Promise; export declare function printerExists(printerName: string): Promise; //# sourceMappingURL=index.d.ts.map