/** * Leser der Schicht-Antworten: aus dem Draht `/v3` werden die Modelle in * `schicht-typen.ts`. Paketintern, nicht Teil der Oberflaeche. * * Regel wie beim Lager: ein Betrag, eine Anzahl oder eine Nummer ist eine * Ganzzahl, eine Kennung ein nicht leerer Text, sonst endet der Aufruf mit * `KasseneckValidationError`. Ein Ersatzwert wie `0` waere eine falsche * Aussage („nichts in der Lade“ statt „Antwort kaputt“). Texte sind * nachsichtiger: ein fehlender oder fremder Wert wird `null`. * * Felder, die nur mit Recht kommen (`expectedCents`, `runningTotals` …), * stehen im Modell genau dann, wenn der Server sie sendet. */ import { type ValidationScope } from '../client/errors.js'; import type { CashMovement, CashMovementReceipt, CashMovementResult, DrawerOpeningsResult, OpenShiftResult, ShiftReport, CloseShiftResult, DrawerState, Shift, ShiftSummaryReceipt } from './schicht-typen.js'; type Roh = Record; /** Wer liest (fuer die Meldung) und wo im Rumpf. */ export interface Ort { name: string; pfad: string; /** `response` fuer Antworten, `request` fuer Bon-Daten, die ein Aufrufer uebergibt. */ scope: ValidationScope; } /** Ein Objekt, das da sein muss. */ export declare function pflichtObjekt(ort: Ort, w: unknown): Roh; /** Eine Schicht; was nur mit `cashView` kommt, steht nur, wenn gesendet. */ export declare function schicht(ort: Ort, w: unknown): Shift; export declare function ladeStand(ort: Ort, w: unknown): DrawerState; export declare function bewegung(ort: Ort, w: unknown): CashMovement; /** Bon-Daten eines Z- oder X-Bons; eine andere Art ist ein Fehler. */ export declare function schichtBon(ort: Ort, w: unknown): ShiftSummaryReceipt; /** Bon-Daten einer Kassenbewegung; eine andere Art ist ein Fehler. */ export declare function bewegungsBon(ort: Ort, w: unknown): CashMovementReceipt; export declare function abschluss(ort: Ort, w: unknown): CloseShiftResult; export declare function geoeffnet(ort: Ort, w: unknown): OpenShiftResult; export declare function gebucht(ort: Ort, w: unknown): CashMovementResult; export declare function gemeldet(ort: Ort, w: unknown): DrawerOpeningsResult; export declare function bericht(ort: Ort, w: unknown): ShiftReport; export {};