/** * Der Weg vom Vertragsabschluss bis zum ersten Beleg — als Daten, nicht als * Fliesstext. * * **Warum das im Paket steht und nicht nur in der Doku:** die Kette hat eine * harte Reihenfolge, und jeder Schritt scheitert mit einem eigenen Code, wenn * ein vorheriger fehlt (`fon_missing`, `signature_missing`, * `signature_not_ready`). * Wer die Reihenfolge nur aus einer Fehlermeldung lernt, lernt sie einmal je * Fehler. Hier steht sie vorher — abfragbar, ausgebbar, und in * [nextFlowStep] auch beantwortbar. * * **Kein eigener Vertragsschritt.** AVV und Nutzungsvertrag bestaetigt der * Betrieb ueber denselben Einrichtungs-Link wie seinen FinanzOnline-Zugang * (Schritt `fon`). Live geht ohne beide keine Kasse live * (`contracts_pending`); den Stand zeigen `avv` und `terms` am Betrieb. * * Zwei Dinge laufen bewusst **parallel**: der Signaturantrag und das Anlegen * der Kasse. Eine mit `automatic:true` angelegte Kasse wartet, bis die * Signatur bereit ist, und geht dann von selbst live. Der Kundenstatus nennt * darum immer nur den **weitesten erreichten** Meilenstein, nicht die einzige * laufende Arbeit. */ import type { PartnerCustomerStatus } from './typen.js'; /** Ein Schritt der Kette. */ export interface FlowStep { key: string; /** Was in diesem Schritt passiert. */ text: string; /** Der Aufruf, der ihn ausloest — `null`, wenn hier nur gewartet wird. */ call: string | null; /** Das Ereignis, das seinen Abschluss meldet — `null`, wenn es sofort feststeht. */ waitsFor: string | null; /** Der Fehlercode, mit dem ein spaeterer Aufruf sich beschwert, wenn dieser Schritt fehlt. */ missingCode: string | null; } /** * Die Kette in ihrer Reihenfolge. Sie beschreibt den **Live-Weg**; mit einem * `pk_test_`-Schluessel entfallen die FinanzOnline-Schritte, und die Signatur * ist sofort bereit (AT100-Testkarte — die damit erzeugten Belege sind keine * gueltigen RKSV-Belege). */ export declare const PARTNER_FLOW: readonly FlowStep[]; /** * Der Schritt, an dem ein Betrieb mit diesem Status steht — `null` fuer * `blocked` und fuer jeden Status, den dieses Paket nicht kennt. */ export declare function nextFlowStep(status: PartnerCustomerStatus): FlowStep | null;