/** * The functionality for getting shit actually printed. * * @example * ```ts * import { Printer } from 'jsr:@memdmp/libepos/print'; * const printer = new Printer(Deno.env.get('PRINTER_URL'), 'local_printer'); * ``` * * @module */ import { EposPrint, type SoapEnvelopeDocumentRoot } from './epos-xml.js'; /** * An Epson Point of Sale Thermal Printer. * * @example Create a printer. * ```ts * import { Printer } from 'jsr:@memdmp/libepos/print'; * const printer = new Printer(Deno.env.get('PRINTER_URL'), 'local_printer'); * ``` * * @example Print something * ```ts * printer * .print_unchecked( * new EposPrint().append( * new EposText() * .align(EposAlign.Center) * .setSize(2, 2) * .setFont(EposFont.FontB) * .setTextLn('Example'), * new EposFeed().units(15), * new EposText().setSize(1, 1).setFont(EposFont.FontC), * new EposText('Tomatosuppenverkaufstelle\n'), * new EposText('1234 Beispielstadt\n'), * new EposText('Lichtenstein\n'), * new EposFeed(), * // ... Print the actual receipt information here ... * new EposCut(EposCutType.Feed) * ) * ) * .then((response) => console.log(response)); * ``` */ export declare class EposPrinter { protected _deviceId: string; timeout: number; host: URL; referrer: string | undefined; get deviceId(): string; set deviceId(id: string); constructor(host: string | URL, _deviceId: string, timeout?: number); fetch: typeof fetch; /** * @param document The document to print * @returns Whatever the printer gives back to us. We if the HTTP code is not 2xx - however we don't validate the body. This is subject to change in the future */ print_unchecked(document: EposPrint | SoapEnvelopeDocumentRoot): Promise; } //# sourceMappingURL=epos-print.d.ts.map