import type { PrintOptions, PrinterInfo, PrinterCapabilitiesInfo } from '../types'; /** * Interface for printer operations * All platform-specific implementations must implement this */ export interface IPrinter { /** * Print a PDF file */ print(pdfPath: string, options?: PrintOptions): Promise; /** * Print raw data (PCL, PostScript, etc) */ printRaw(data: Buffer, documentName?: string, options?: PrintOptions): Promise; /** * Get the printer name being used */ getPrinterName(): string; /** * Enable or disable page caching for PDF rendering (optional) * Cache is enabled by default for better performance */ setCacheEnabled?(enabled: boolean): void; } /** * Interface for printer management operations */ export interface IPrinterManager { /** * Get list of all available printers */ getAvailablePrinters(): PrinterInfo[] | Promise; /** * Get the default printer name */ getDefaultPrinter(): string | null | Promise; /** * Get the default printer name */ getPrinterCapabilities(printerName: string): PrinterCapabilitiesInfo; /** * Check if a printer exists */ printerExists(printerName: string): boolean | Promise; /** * Open a printer handle (platform-specific) */ openPrinter?(printerName: string): any; /** * Close a printer handle (platform-specific) */ closePrinter?(handle: any): void; } //# sourceMappingURL=index.d.ts.map