import type { CFStateConfigFragment } from "../common-types/state-fragment"; /** * Pre-order fragment — no deposit required. * * Mirrors preorder-with-deposit but removes the cross-axis rule that gates * `on_hold` on payment state. An order can be placed on hold while still * `unpaid` — payment is collected later (pay-at-pickup, BOPIS, COD, etc.). * * State flow: * * unpaid|on_hold → (cashier collects payment) → paid|on_hold * ↓ * (progress fulfillment) * ↓ * paid|in_progress * * Key difference from preorder-with-deposit: * - No cross-axis rule blocking `on_hold` when unpaid. The cashier can * confirm the pre-order without collecting a deposit first. * - `unpaid|on_hold` is whitelisted as a valid first-save state pair. * - `in_progress` still requires at least a partial payment (you must pay * before the merchant starts fulfilling). * * Prefix all IDs with your extension id before merging to avoid collisions. */ export declare const preorderNoDepositFragment: CFStateConfigFragment;