import type { CashMovementReceipt, ShiftSummaryReceipt } from '../pos/schicht-typen.js'; import type { PosPaperSize } from '../printing/escpos.js'; import { type ReceiptLayout } from './layout.js'; /** * Bons der Schicht als Zeilenmodell: Z-Bon (`shift_close`), X-Bon * (`shift_interim`) und Kassenbewegung (`cash_movement`), aus den Bon-Daten * der Antwort (`receipt` von `closeMyShift`, `getMyShiftReport`, * `recordMyCashMovement`). Gezeichnet wird wie jeder Beleg: Raster, Blatt, * ESC/POS, ePOS. * * Kein Registrierkassenbeleg: keine Signatur, kein QR, kein DEP. Jeder Bon * endet mit „Kein Registrierkassenbeleg“. * * **Blind** (ohne Recht `cashView`) sind Soll, Ist, Differenz, Barumsatz und * die gezaehlte Stueckelung `null`: ihre Zeilen fallen weg, nie steht dort * „0,00“ oder ein Strich. Dasselbe gilt fuer jede andere leere Angabe. */ export interface ShiftReceiptLayoutOptions { /** Papierbreite fuer den Bauplan; Vorgabe `mm58`. Die Druckbreite waehlt der Druckweg. */ paperSize?: PosPaperSize; } /** * Z-Bon bzw. X-Bon der Schicht. Titel nach `kind`: „Schichtabschluss“ oder * „Zwischenbericht“. Wirft (`KasseneckValidationError`, `scope: 'request'`), * wenn die Bon-Daten keine Z- oder X-Bon-Daten sind. */ export declare function shiftReceiptLayout(receipt: ShiftSummaryReceipt, options?: ShiftReceiptLayoutOptions): ReceiptLayout; /** * Bon einer Kassenbewegung (Einzahlung, Auszahlung, Umbuchung). Wirft * (`KasseneckValidationError`, `scope: 'request'`), wenn die Bon-Daten keine * Kassenbewegung sind. */ export declare function cashMovementLayout(receipt: CashMovementReceipt, options?: ShiftReceiptLayoutOptions): ReceiptLayout;