import PrinterProvider from './printProvider'; import { PrinterConfig, PrintTask, Response } from './interfaces'; declare class Printer { private readonly agents; constructor(); registerOne(key: string, provider: T): this; register(providers: Array<{ key: string; provider: PrinterProvider; }>): this; /** * return the first of registered printProviders */ get defaultAgent(): PrinterProvider; get agentKeys(): string[]; get allAgents(): PrinterProvider[]; get isConnect(): { [k: string]: boolean; }; /** * get agent connect status ,if not agengKey return all registered agents status * @param agentKey * @returns */ getAgentConnectStatus(agentKey?: string[]): { [k: string]: boolean; }; /** * get the specific printProvider * @param key - provider key * @returns */ getAgent(key: string): PrinterProvider | undefined; private throwIfNoAgents; connect: () => Promise<{ [k: string]: boolean; }>; disconnect(): void; reconnect(agengKey: string): Promise; private getAgentOrDefault; print(task: { _agentKey?: string; } & PrintTask, agentKey?: string): Promise; printPreview(task: { _agentKey?: string; } & PrintTask, agentKey?: string): Promise; getPrinters; } & Response>(agentKey?: string): Promise; getPrinterConfig(printer: string): Promise; setPrinterConfig(config: PrinterConfig, agentKey?: string): Promise; notifyPrintResult(callback: (response: T) => void, agentKey: string[]): void; getTaskStatus(taskID: string[], agentKey: string): Promise; getGlobalConfig(agentKey: string): Promise; setGlobalConfig(config: { notifyOnTaskFailure?: boolean | undefined; }, agentKey: string): Promise; getAgentInfo(agentKey: string): Promise; } export default Printer;