import { z } from "zod"; export { BOOKING_LIFECYCLE_CONFORMANCE_V1_REQUIRED_SCENARIO_IDS, bookingLifecycleConformanceScenariosV1, } from "./lifecycle-conformance-scenarios.js"; /** * The processor checkout handoff as it appears on a Booking lifecycle outcome, * mirroring `PaymentHostedCheckout` from `@voyant-travel/payments`. * * Mirrored rather than imported, for two reasons. A contracts package describes * the wire and depends only on zod — it does not pull in a runtime package. And * `@voyant-travel/finance-contracts`, which carries the same mirror for * finance's own routes, is **not on the public npm surface**: importing it here * would drag it and its closure back onto npm through this published package, * which `verify:public-surface` rejects (voyant#4059). * * The copy is not free-floating. `projectPaymentSession` in * `@voyant-travel/catalog` assigns the `payment_sessions.checkout` column — * typed `PaymentHostedCheckout` by the port itself — into this type, so a * drifted arm fails that build rather than silently serving a shape the port no * longer produces. */ export declare const bookingPaymentRedirectCheckoutV1: z.ZodObject<{ kind: z.ZodEnum<{ hosted_checkout: "hosted_checkout"; redirect: "redirect"; }>; url: z.ZodString; expiresAt: z.ZodOptional>; }, z.core.$strip>; /** * The in-page arm. `clientSecret` and `publishableKey` are opaque here on * purpose: the runtime forwards them and never parses them, so no provider's * token format is baked into the contract. */ export declare const bookingPaymentEmbeddedCheckoutV1: z.ZodObject<{ kind: z.ZodLiteral<"embedded">; clientSecret: z.ZodString; publishableKey: z.ZodString; providerAccountId: z.ZodOptional>; expiresAt: z.ZodOptional>; }, z.core.$strip>; export declare const bookingPaymentCheckoutV1: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodEnum<{ hosted_checkout: "hosted_checkout"; redirect: "redirect"; }>; url: z.ZodString; expiresAt: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"embedded">; clientSecret: z.ZodString; publishableKey: z.ZodString; providerAccountId: z.ZodOptional>; expiresAt: z.ZodOptional>; }, z.core.$strip>], "kind">; export type BookingPaymentCheckoutV1 = z.infer; /** Durable offline-payment material persisted with a successful Commit. */ export declare const bookingSessionBankTransferV1: z.ZodObject<{ paymentSessionId: z.ZodNullable; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>; export type BookingSessionBankTransferV1 = z.infer; export declare const bookingCommitmentPolicyKindV1: z.ZodEnum<{ owned_atomic_commit: "owned_atomic_commit"; sourced_supplier_first: "sourced_supplier_first"; operator_backed_commit: "operator_backed_commit"; }>; export type BookingCommitmentPolicyKindV1 = z.infer; export declare const bookingInventoryAuthorityV1: z.ZodEnum<{ sourced: "sourced"; owned: "owned"; }>; export type BookingInventoryAuthorityV1 = z.infer; export declare const paymentGuaranteePolicyV1: z.ZodEnum<{ required_before_commit: "required_before_commit"; not_required: "not_required"; pay_later_authorized: "pay_later_authorized"; }>; export type PaymentGuaranteePolicyV1 = z.infer; export declare const paymentGuaranteeStateV1: z.ZodEnum<{ not_required: "not_required"; missing: "missing"; established: "established"; post_commit_authorized: "post_commit_authorized"; }>; export type PaymentGuaranteeStateV1 = z.infer; export declare const supplierSecurityStateV1: z.ZodEnum<{ pending: "pending"; failed: "failed"; not_applicable: "not_applicable"; not_started: "not_started"; intent_persisted: "intent_persisted"; secured: "secured"; in_doubt: "in_doubt"; }>; export type SupplierSecurityStateV1 = z.infer; export declare const bookingCommitmentPolicyV1: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ owned_atomic_commit: "owned_atomic_commit"; sourced_supplier_first: "sourced_supplier_first"; operator_backed_commit: "operator_backed_commit"; }>; inventoryAuthority: z.ZodEnum<{ sourced: "sourced"; owned: "owned"; }>; paymentGuarantee: z.ZodEnum<{ required_before_commit: "required_before_commit"; not_required: "not_required"; pay_later_authorized: "pay_later_authorized"; }>; allowBookingBeforeSupplierSecured: z.ZodBoolean; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>; export type BookingCommitmentPolicyV1 = z.infer; export declare const bookingLifecycleCommitInputV1: z.ZodObject<{ idempotencyKey: z.ZodString; policy: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ owned_atomic_commit: "owned_atomic_commit"; sourced_supplier_first: "sourced_supplier_first"; operator_backed_commit: "operator_backed_commit"; }>; inventoryAuthority: z.ZodEnum<{ sourced: "sourced"; owned: "owned"; }>; paymentGuarantee: z.ZodEnum<{ required_before_commit: "required_before_commit"; not_required: "not_required"; pay_later_authorized: "pay_later_authorized"; }>; allowBookingBeforeSupplierSecured: z.ZodBoolean; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>; session: z.ZodObject<{ id: z.ZodString; revision: z.ZodNumber; expectedRevision: z.ZodNumber; state: z.ZodEnum<{ active: "active"; consumed: "consumed"; abandoned: "abandoned"; }>; }, z.core.$strip>; quote: z.ZodObject<{ id: z.ZodString; sessionId: z.ZodString; sessionRevision: z.ZodNumber; state: z.ZodEnum<{ expired: "expired"; fresh: "fresh"; superseded: "superseded"; mismatched: "mismatched"; }>; }, z.core.$strip>; hold: z.ZodObject<{ required: z.ZodBoolean; id: z.ZodOptional; sessionId: z.ZodOptional; state: z.ZodEnum<{ expired: "expired"; not_required: "not_required"; live: "live"; missing: "missing"; released: "released"; converted: "converted"; }>; }, z.core.$strip>; paymentGuarantee: z.ZodEnum<{ not_required: "not_required"; missing: "missing"; established: "established"; post_commit_authorized: "post_commit_authorized"; }>; supplier: z.ZodObject<{ state: z.ZodEnum<{ pending: "pending"; failed: "failed"; not_applicable: "not_applicable"; not_started: "not_started"; intent_persisted: "intent_persisted"; secured: "secured"; in_doubt: "in_doubt"; }>; operationId: z.ZodOptional; intentPersistedBeforeDispatch: z.ZodDefault; }, z.core.$strip>; requirements: z.ZodOptional; showsPayment: z.ZodBoolean; showsReview: z.ZodLiteral; configureSubSteps: z.ZodOptional; required: z.ZodLiteral; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"product-option">; options: z.ZodArray>; name: z.ZodString; description: z.ZodOptional>; isDefault: z.ZodOptional; units: z.ZodOptional>; unitType: z.ZodOptional>; minQuantity: z.ZodOptional>; maxQuantity: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"option-units">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"cabin-category">; categories: z.ZodArray; name: z.ZodString; type: z.ZodOptional; capacityMin: z.ZodOptional; capacityMax: z.ZodOptional; description: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"cabin-number">; perCategory: z.ZodRecord; label: z.ZodString; capacity: z.ZodOptional; hasAccessibilityFeatures: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"date-range">; minNights: z.ZodNumber; maxNights: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"occupancy">; bands: z.ZodArray; maxAge: z.ZodOptional; minCount: z.ZodNumber; maxCount: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"air-arrangement">; required: z.ZodOptional; }, z.core.$strip>], "kind">>>; paxBands: z.ZodArray; maxAge: z.ZodOptional; minCount: z.ZodNumber; maxCount: z.ZodNumber; }, z.core.$strip>>; paxBandsAllowedTotal: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, z.core.$strip>; paxBandDependencies: z.ZodOptional; maxPerMaster: z.ZodOptional; maxDependentSum: z.ZodOptional; }, z.core.$strip>>>; travelerFields: z.ZodArray>>; appliesToBands: z.ZodOptional>; maxLength: z.ZodOptional; }, z.core.$strip>>; bookingFields: z.ZodArray; maxLength: z.ZodOptional; }, z.core.$strip>>; accommodation: z.ZodOptional>; capacity: z.ZodOptional>; baseRateHint: z.ZodOptional>; ratePlans: z.ZodOptional>; chargeFrequency: z.ZodOptional>; cancellationPolicy: z.ZodOptional>; inclusions: z.ZodOptional>; currency: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>>>; sharedRoomAllowed: z.ZodBoolean; subSteps: z.ZodOptional; options: z.ZodArray>; capacity: z.ZodOptional>; baseRateHint: z.ZodOptional>; ratePlans: z.ZodOptional>; chargeFrequency: z.ZodOptional>; cancellationPolicy: z.ZodOptional>; inclusions: z.ZodOptional>; currency: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>>; sharedRoomAllowed: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"extensions">; options: z.ZodArray>; side: z.ZodEnum<{ pre: "pre"; post: "post"; }>; nights: z.ZodOptional>; pricePerPersonHint: z.ZodOptional>; }, z.core.$strip>>; allowsPre: z.ZodBoolean; allowsPost: z.ZodBoolean; }, z.core.$strip>], "kind">>>; }, z.core.$strip>>; addons: z.ZodOptional>; kind: z.ZodEnum<{ extras: "extras"; excursions: "excursions"; insurance: "insurance"; }>; groupKey: z.ZodOptional>; pricingMode: z.ZodOptional>; unitAmountCents: z.ZodOptional>; currency: z.ZodOptional>; pricedPerPerson: z.ZodOptional>; selectionType: z.ZodOptional>>; minQuantity: z.ZodOptional>; maxQuantity: z.ZodOptional>; defaultQuantity: z.ZodOptional>; }, z.core.$strip>>>; groups: z.ZodOptional; label: z.ZodString; groupBy: z.ZodOptional>; perGuestSelection: z.ZodBoolean; items: z.ZodArray>; kind: z.ZodEnum<{ extras: "extras"; excursions: "excursions"; insurance: "insurance"; }>; groupKey: z.ZodOptional>; pricingMode: z.ZodOptional>; unitAmountCents: z.ZodOptional>; currency: z.ZodOptional>; pricedPerPerson: z.ZodOptional>; selectionType: z.ZodOptional>>; minQuantity: z.ZodOptional>; maxQuantity: z.ZodOptional>; defaultQuantity: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>>>; }, z.core.$strip>>; ancillaries: z.ZodOptional>; planLabel: z.ZodOptional>; price: z.ZodObject<{ amountMinor: z.ZodNumber; currency: z.ZodString; }, z.core.$strict>; pricedPerPerson: z.ZodDefault; highlights: z.ZodDefault; }, z.core.$strict>>>; eligibility: z.ZodObject<{ status: z.ZodEnum<{ eligible: "eligible"; ineligible: "ineligible"; referral: "referral"; }>; reasons: z.ZodDefault>>; }, z.core.$strict>; disclosures: z.ZodDefault; required: z.ZodBoolean; }, z.core.$strict>>>; requiredTravelerFields: z.ZodDefault; options: z.ZodOptional>>; helpText: z.ZodOptional; }, z.core.$strict>>>; validUntil: z.ZodString; quoteRef: z.ZodString; metadata: z.ZodOptional>; }, z.core.$strict>>>; diagnostics: z.ZodDefault; status: z.ZodEnum<{ timeout: "timeout"; ok: "ok"; unavailable: "unavailable"; error: "error"; }>; message: z.ZodOptional; latencyMs: z.ZodOptional; }, z.core.$strict>>>; }, z.core.$strict>>>; }, z.core.$strip>>; paymentIntents: z.ZodArray>; }, z.core.$strip>; selection: z.ZodRecord; }, z.core.$strip>>; proposalAcceptance: z.ZodOptional; }, z.core.$strip>>; replayOfCommitId: z.ZodOptional; }, z.core.$strip>; export type BookingLifecycleCommitInputV1 = z.infer; export declare const bookingLifecycleNextActionV1: z.ZodEnum<{ none: "none"; establish_payment_guarantee: "establish_payment_guarantee"; refresh_session_state: "refresh_session_state"; request_fresh_quote: "request_fresh_quote"; request_new_hold: "request_new_hold"; persist_and_dispatch_supplier_operation: "persist_and_dispatch_supplier_operation"; await_supplier_operation: "await_supplier_operation"; reconcile_supplier_operation: "reconcile_supplier_operation"; select_alternative_inventory: "select_alternative_inventory"; manual_review: "manual_review"; renew_proposal_version_acceptance: "renew_proposal_version_acceptance"; continue_component_commit: "continue_component_commit"; return_idempotent_result: "return_idempotent_result"; }>; export type BookingLifecycleNextActionV1 = z.infer; export declare const bookingLifecycleCommitOutcomeV1: z.ZodUnion; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; booking: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ confirmed: "confirmed"; }>; }, z.core.$strip>; allocationIds: z.ZodArray; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; supplierOperationId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_bookings_committed">; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; bookings: z.ZodArray; allocationIds: z.ZodArray; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_commit_pending">; nextAction: z.ZodLiteral<"continue_component_commit">; components: z.ZodArray; bookingId: z.ZodOptional; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"payment_required">; nextAction: z.ZodLiteral<"establish_payment_guarantee">; checkoutIntent: z.ZodOptional>; paymentTarget: z.ZodEnum<{ quote: "quote"; booking_session: "booking_session"; supplier_operation: "supplier_operation"; }>; allowedGuarantees: z.ZodArray>; paymentSession: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ pending: "pending"; failed: "failed"; cancelled: "cancelled"; paid: "paid"; expired: "expired"; requires_redirect: "requires_redirect"; processing: "processing"; authorized: "authorized"; }>; amountCents: z.ZodNumber; currency: z.ZodString; redirectUrl: z.ZodNullable; checkout: z.ZodNullable; url: z.ZodString; expiresAt: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"embedded">; clientSecret: z.ZodString; publishableKey: z.ZodString; providerAccountId: z.ZodOptional>; expiresAt: z.ZodOptional>; }, z.core.$strip>], "kind">>; expiresAt: z.ZodNullable; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_pending">; nextAction: z.ZodEnum<{ persist_and_dispatch_supplier_operation: "persist_and_dispatch_supplier_operation"; await_supplier_operation: "await_supplier_operation"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_in_doubt">; nextAction: z.ZodLiteral<"reconcile_supplier_operation">; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_failed">; nextAction: z.ZodEnum<{ select_alternative_inventory: "select_alternative_inventory"; manual_review: "manual_review"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"revision_mismatch">; nextAction: z.ZodLiteral<"refresh_session_state">; expectedRevision: z.ZodNumber; actualRevision: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"quote_failure">; nextAction: z.ZodLiteral<"request_fresh_quote">; reason: z.ZodEnum<{ expired: "expired"; superseded: "superseded"; mismatched_session: "mismatched_session"; mismatched_revision: "mismatched_revision"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"hold_failure">; nextAction: z.ZodLiteral<"request_new_hold">; reason: z.ZodEnum<{ expired: "expired"; missing: "missing"; released: "released"; mismatched_session: "mismatched_session"; capacity_unavailable: "capacity_unavailable"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"proposal_acceptance_required">; nextAction: z.ZodLiteral<"renew_proposal_version_acceptance">; proposalVersionId: z.ZodString; }, z.core.$strip>], "kind">, z.ZodObject<{ kind: z.ZodLiteral<"idempotent_replay">; nextAction: z.ZodLiteral<"return_idempotent_result">; originalCommitId: z.ZodString; originalOutcome: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"committed">; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; booking: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ confirmed: "confirmed"; }>; }, z.core.$strip>; allocationIds: z.ZodArray; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; supplierOperationId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_bookings_committed">; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; bookings: z.ZodArray; allocationIds: z.ZodArray; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_commit_pending">; nextAction: z.ZodLiteral<"continue_component_commit">; components: z.ZodArray; bookingId: z.ZodOptional; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"payment_required">; nextAction: z.ZodLiteral<"establish_payment_guarantee">; checkoutIntent: z.ZodOptional>; paymentTarget: z.ZodEnum<{ quote: "quote"; booking_session: "booking_session"; supplier_operation: "supplier_operation"; }>; allowedGuarantees: z.ZodArray>; paymentSession: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ pending: "pending"; failed: "failed"; cancelled: "cancelled"; paid: "paid"; expired: "expired"; requires_redirect: "requires_redirect"; processing: "processing"; authorized: "authorized"; }>; amountCents: z.ZodNumber; currency: z.ZodString; redirectUrl: z.ZodNullable; checkout: z.ZodNullable; url: z.ZodString; expiresAt: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"embedded">; clientSecret: z.ZodString; publishableKey: z.ZodString; providerAccountId: z.ZodOptional>; expiresAt: z.ZodOptional>; }, z.core.$strip>], "kind">>; expiresAt: z.ZodNullable; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_pending">; nextAction: z.ZodEnum<{ persist_and_dispatch_supplier_operation: "persist_and_dispatch_supplier_operation"; await_supplier_operation: "await_supplier_operation"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_in_doubt">; nextAction: z.ZodLiteral<"reconcile_supplier_operation">; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_failed">; nextAction: z.ZodEnum<{ select_alternative_inventory: "select_alternative_inventory"; manual_review: "manual_review"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"revision_mismatch">; nextAction: z.ZodLiteral<"refresh_session_state">; expectedRevision: z.ZodNumber; actualRevision: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"quote_failure">; nextAction: z.ZodLiteral<"request_fresh_quote">; reason: z.ZodEnum<{ expired: "expired"; superseded: "superseded"; mismatched_session: "mismatched_session"; mismatched_revision: "mismatched_revision"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"hold_failure">; nextAction: z.ZodLiteral<"request_new_hold">; reason: z.ZodEnum<{ expired: "expired"; missing: "missing"; released: "released"; mismatched_session: "mismatched_session"; capacity_unavailable: "capacity_unavailable"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"proposal_acceptance_required">; nextAction: z.ZodLiteral<"renew_proposal_version_acceptance">; proposalVersionId: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>]>; export type BookingLifecycleCommitOutcomeV1 = z.infer; export declare const bookingLifecycleCommitOutcomeKindV1: z.ZodEnum<{ committed: "committed"; component_bookings_committed: "component_bookings_committed"; component_commit_pending: "component_commit_pending"; payment_required: "payment_required"; supplier_pending: "supplier_pending"; supplier_in_doubt: "supplier_in_doubt"; supplier_failed: "supplier_failed"; revision_mismatch: "revision_mismatch"; quote_failure: "quote_failure"; hold_failure: "hold_failure"; proposal_acceptance_required: "proposal_acceptance_required"; idempotent_replay: "idempotent_replay"; }>; export type BookingLifecycleCommitOutcomeKindV1 = z.infer; export declare const bookingLifecycleEffectObservationV1: z.ZodObject<{ bookingCreated: z.ZodDefault; allocationCreated: z.ZodDefault; holdConverted: z.ZodDefault; sessionConsumed: z.ZodDefault; quoteConsumed: z.ZodDefault; supplierOperationPersisted: z.ZodDefault; supplierDispatched: z.ZodDefault; paymentGuaranteeEstablished: z.ZodDefault; bookingCreatedBeforeSupplierSecured: z.ZodDefault; financeStatePromotedToBookingStatus: z.ZodDefault; transactionBoundary: z.ZodDefault>; }, z.core.$strip>; export type BookingLifecycleEffectObservationV1 = z.infer; export declare const bookingLifecycleObservationV1: z.ZodObject<{ outcome: z.ZodUnion; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; booking: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ confirmed: "confirmed"; }>; }, z.core.$strip>; allocationIds: z.ZodArray; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; supplierOperationId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_bookings_committed">; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; bookings: z.ZodArray; allocationIds: z.ZodArray; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_commit_pending">; nextAction: z.ZodLiteral<"continue_component_commit">; components: z.ZodArray; bookingId: z.ZodOptional; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"payment_required">; nextAction: z.ZodLiteral<"establish_payment_guarantee">; checkoutIntent: z.ZodOptional>; paymentTarget: z.ZodEnum<{ quote: "quote"; booking_session: "booking_session"; supplier_operation: "supplier_operation"; }>; allowedGuarantees: z.ZodArray>; paymentSession: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ pending: "pending"; failed: "failed"; cancelled: "cancelled"; paid: "paid"; expired: "expired"; requires_redirect: "requires_redirect"; processing: "processing"; authorized: "authorized"; }>; amountCents: z.ZodNumber; currency: z.ZodString; redirectUrl: z.ZodNullable; checkout: z.ZodNullable; url: z.ZodString; expiresAt: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"embedded">; clientSecret: z.ZodString; publishableKey: z.ZodString; providerAccountId: z.ZodOptional>; expiresAt: z.ZodOptional>; }, z.core.$strip>], "kind">>; expiresAt: z.ZodNullable; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_pending">; nextAction: z.ZodEnum<{ persist_and_dispatch_supplier_operation: "persist_and_dispatch_supplier_operation"; await_supplier_operation: "await_supplier_operation"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_in_doubt">; nextAction: z.ZodLiteral<"reconcile_supplier_operation">; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_failed">; nextAction: z.ZodEnum<{ select_alternative_inventory: "select_alternative_inventory"; manual_review: "manual_review"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"revision_mismatch">; nextAction: z.ZodLiteral<"refresh_session_state">; expectedRevision: z.ZodNumber; actualRevision: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"quote_failure">; nextAction: z.ZodLiteral<"request_fresh_quote">; reason: z.ZodEnum<{ expired: "expired"; superseded: "superseded"; mismatched_session: "mismatched_session"; mismatched_revision: "mismatched_revision"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"hold_failure">; nextAction: z.ZodLiteral<"request_new_hold">; reason: z.ZodEnum<{ expired: "expired"; missing: "missing"; released: "released"; mismatched_session: "mismatched_session"; capacity_unavailable: "capacity_unavailable"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"proposal_acceptance_required">; nextAction: z.ZodLiteral<"renew_proposal_version_acceptance">; proposalVersionId: z.ZodString; }, z.core.$strip>], "kind">, z.ZodObject<{ kind: z.ZodLiteral<"idempotent_replay">; nextAction: z.ZodLiteral<"return_idempotent_result">; originalCommitId: z.ZodString; originalOutcome: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"committed">; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; booking: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ confirmed: "confirmed"; }>; }, z.core.$strip>; allocationIds: z.ZodArray; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; supplierOperationId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_bookings_committed">; nextAction: z.ZodLiteral<"none">; checkoutIntent: z.ZodOptional>; bankTransfer: z.ZodOptional; document: z.ZodNullable; }, z.core.$strip>>; instructions: z.ZodObject<{ beneficiary: z.ZodString; iban: z.ZodString; bankName: z.ZodNullable; reference: z.ZodString; amountCents: z.ZodNumber; currency: z.ZodString; dueAt: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>; bookings: z.ZodArray; allocationIds: z.ZodArray; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; consumedSessionId: z.ZodString; consumedQuoteId: z.ZodString; convertedHoldId: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"component_commit_pending">; nextAction: z.ZodLiteral<"continue_component_commit">; components: z.ZodArray; bookingId: z.ZodOptional; supplierOperationId: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"payment_required">; nextAction: z.ZodLiteral<"establish_payment_guarantee">; checkoutIntent: z.ZodOptional>; paymentTarget: z.ZodEnum<{ quote: "quote"; booking_session: "booking_session"; supplier_operation: "supplier_operation"; }>; allowedGuarantees: z.ZodArray>; paymentSession: z.ZodObject<{ id: z.ZodString; status: z.ZodEnum<{ pending: "pending"; failed: "failed"; cancelled: "cancelled"; paid: "paid"; expired: "expired"; requires_redirect: "requires_redirect"; processing: "processing"; authorized: "authorized"; }>; amountCents: z.ZodNumber; currency: z.ZodString; redirectUrl: z.ZodNullable; checkout: z.ZodNullable; url: z.ZodString; expiresAt: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"embedded">; clientSecret: z.ZodString; publishableKey: z.ZodString; providerAccountId: z.ZodOptional>; expiresAt: z.ZodOptional>; }, z.core.$strip>], "kind">>; expiresAt: z.ZodNullable; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_pending">; nextAction: z.ZodEnum<{ persist_and_dispatch_supplier_operation: "persist_and_dispatch_supplier_operation"; await_supplier_operation: "await_supplier_operation"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_in_doubt">; nextAction: z.ZodLiteral<"reconcile_supplier_operation">; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"supplier_failed">; nextAction: z.ZodEnum<{ select_alternative_inventory: "select_alternative_inventory"; manual_review: "manual_review"; }>; supplierOperationId: z.ZodString; bookingId: z.ZodOptional; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"revision_mismatch">; nextAction: z.ZodLiteral<"refresh_session_state">; expectedRevision: z.ZodNumber; actualRevision: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"quote_failure">; nextAction: z.ZodLiteral<"request_fresh_quote">; reason: z.ZodEnum<{ expired: "expired"; superseded: "superseded"; mismatched_session: "mismatched_session"; mismatched_revision: "mismatched_revision"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"hold_failure">; nextAction: z.ZodLiteral<"request_new_hold">; reason: z.ZodEnum<{ expired: "expired"; missing: "missing"; released: "released"; mismatched_session: "mismatched_session"; capacity_unavailable: "capacity_unavailable"; }>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"proposal_acceptance_required">; nextAction: z.ZodLiteral<"renew_proposal_version_acceptance">; proposalVersionId: z.ZodString; }, z.core.$strip>], "kind">; }, z.core.$strip>]>; effects: z.ZodObject<{ bookingCreated: z.ZodDefault; allocationCreated: z.ZodDefault; holdConverted: z.ZodDefault; sessionConsumed: z.ZodDefault; quoteConsumed: z.ZodDefault; supplierOperationPersisted: z.ZodDefault; supplierDispatched: z.ZodDefault; paymentGuaranteeEstablished: z.ZodDefault; bookingCreatedBeforeSupplierSecured: z.ZodDefault; financeStatePromotedToBookingStatus: z.ZodDefault; transactionBoundary: z.ZodDefault>; }, z.core.$strip>; }, z.core.$strip>; export type BookingLifecycleObservationV1 = z.infer; export declare const bookingLifecycleExpectedObservationV1: z.ZodObject<{ outcomeKind: z.ZodEnum<{ committed: "committed"; component_bookings_committed: "component_bookings_committed"; component_commit_pending: "component_commit_pending"; payment_required: "payment_required"; supplier_pending: "supplier_pending"; supplier_in_doubt: "supplier_in_doubt"; supplier_failed: "supplier_failed"; revision_mismatch: "revision_mismatch"; quote_failure: "quote_failure"; hold_failure: "hold_failure"; proposal_acceptance_required: "proposal_acceptance_required"; idempotent_replay: "idempotent_replay"; }>; nextAction: z.ZodEnum<{ none: "none"; establish_payment_guarantee: "establish_payment_guarantee"; refresh_session_state: "refresh_session_state"; request_fresh_quote: "request_fresh_quote"; request_new_hold: "request_new_hold"; persist_and_dispatch_supplier_operation: "persist_and_dispatch_supplier_operation"; await_supplier_operation: "await_supplier_operation"; reconcile_supplier_operation: "reconcile_supplier_operation"; select_alternative_inventory: "select_alternative_inventory"; manual_review: "manual_review"; renew_proposal_version_acceptance: "renew_proposal_version_acceptance"; continue_component_commit: "continue_component_commit"; return_idempotent_result: "return_idempotent_result"; }>; effects: z.ZodObject<{ bookingCreated: z.ZodOptional; allocationCreated: z.ZodOptional; holdConverted: z.ZodOptional; sessionConsumed: z.ZodOptional; quoteConsumed: z.ZodOptional; supplierOperationPersisted: z.ZodOptional; supplierDispatched: z.ZodOptional; paymentGuaranteeEstablished: z.ZodOptional; bookingCreatedBeforeSupplierSecured: z.ZodOptional; financeStatePromotedToBookingStatus: z.ZodOptional; transactionBoundary: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>; export type BookingLifecycleExpectedObservationV1 = z.infer; export declare const bookingLifecycleConformanceScenarioV1: z.ZodObject<{ id: z.ZodString; title: z.ZodString; decision: z.ZodString; input: z.ZodObject<{ idempotencyKey: z.ZodString; policy: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ owned_atomic_commit: "owned_atomic_commit"; sourced_supplier_first: "sourced_supplier_first"; operator_backed_commit: "operator_backed_commit"; }>; inventoryAuthority: z.ZodEnum<{ sourced: "sourced"; owned: "owned"; }>; paymentGuarantee: z.ZodEnum<{ required_before_commit: "required_before_commit"; not_required: "not_required"; pay_later_authorized: "pay_later_authorized"; }>; allowBookingBeforeSupplierSecured: z.ZodBoolean; operatorBackedRiskAccepted: z.ZodDefault; }, z.core.$strip>; session: z.ZodObject<{ id: z.ZodString; revision: z.ZodNumber; expectedRevision: z.ZodNumber; state: z.ZodEnum<{ active: "active"; consumed: "consumed"; abandoned: "abandoned"; }>; }, z.core.$strip>; quote: z.ZodObject<{ id: z.ZodString; sessionId: z.ZodString; sessionRevision: z.ZodNumber; state: z.ZodEnum<{ expired: "expired"; fresh: "fresh"; superseded: "superseded"; mismatched: "mismatched"; }>; }, z.core.$strip>; hold: z.ZodObject<{ required: z.ZodBoolean; id: z.ZodOptional; sessionId: z.ZodOptional; state: z.ZodEnum<{ expired: "expired"; not_required: "not_required"; live: "live"; missing: "missing"; released: "released"; converted: "converted"; }>; }, z.core.$strip>; paymentGuarantee: z.ZodEnum<{ not_required: "not_required"; missing: "missing"; established: "established"; post_commit_authorized: "post_commit_authorized"; }>; supplier: z.ZodObject<{ state: z.ZodEnum<{ pending: "pending"; failed: "failed"; not_applicable: "not_applicable"; not_started: "not_started"; intent_persisted: "intent_persisted"; secured: "secured"; in_doubt: "in_doubt"; }>; operationId: z.ZodOptional; intentPersistedBeforeDispatch: z.ZodDefault; }, z.core.$strip>; requirements: z.ZodOptional; showsPayment: z.ZodBoolean; showsReview: z.ZodLiteral; configureSubSteps: z.ZodOptional; required: z.ZodLiteral; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"product-option">; options: z.ZodArray>; name: z.ZodString; description: z.ZodOptional>; isDefault: z.ZodOptional; units: z.ZodOptional>; unitType: z.ZodOptional>; minQuantity: z.ZodOptional>; maxQuantity: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"option-units">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"cabin-category">; categories: z.ZodArray; name: z.ZodString; type: z.ZodOptional; capacityMin: z.ZodOptional; capacityMax: z.ZodOptional; description: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"cabin-number">; perCategory: z.ZodRecord; label: z.ZodString; capacity: z.ZodOptional; hasAccessibilityFeatures: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"date-range">; minNights: z.ZodNumber; maxNights: z.ZodNumber; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"occupancy">; bands: z.ZodArray; maxAge: z.ZodOptional; minCount: z.ZodNumber; maxCount: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"air-arrangement">; required: z.ZodOptional; }, z.core.$strip>], "kind">>>; paxBands: z.ZodArray; maxAge: z.ZodOptional; minCount: z.ZodNumber; maxCount: z.ZodNumber; }, z.core.$strip>>; paxBandsAllowedTotal: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, z.core.$strip>; paxBandDependencies: z.ZodOptional; maxPerMaster: z.ZodOptional; maxDependentSum: z.ZodOptional; }, z.core.$strip>>>; travelerFields: z.ZodArray>>; appliesToBands: z.ZodOptional>; maxLength: z.ZodOptional; }, z.core.$strip>>; bookingFields: z.ZodArray; maxLength: z.ZodOptional; }, z.core.$strip>>; accommodation: z.ZodOptional>; capacity: z.ZodOptional>; baseRateHint: z.ZodOptional>; ratePlans: z.ZodOptional>; chargeFrequency: z.ZodOptional>; cancellationPolicy: z.ZodOptional>; inclusions: z.ZodOptional>; currency: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>>>; sharedRoomAllowed: z.ZodBoolean; subSteps: z.ZodOptional; options: z.ZodArray>; capacity: z.ZodOptional>; baseRateHint: z.ZodOptional>; ratePlans: z.ZodOptional>; chargeFrequency: z.ZodOptional>; cancellationPolicy: z.ZodOptional>; inclusions: z.ZodOptional>; currency: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>>; sharedRoomAllowed: z.ZodBoolean; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"extensions">; options: z.ZodArray>; side: z.ZodEnum<{ pre: "pre"; post: "post"; }>; nights: z.ZodOptional>; pricePerPersonHint: z.ZodOptional>; }, z.core.$strip>>; allowsPre: z.ZodBoolean; allowsPost: z.ZodBoolean; }, z.core.$strip>], "kind">>>; }, z.core.$strip>>; addons: z.ZodOptional>; kind: z.ZodEnum<{ extras: "extras"; excursions: "excursions"; insurance: "insurance"; }>; groupKey: z.ZodOptional>; pricingMode: z.ZodOptional>; unitAmountCents: z.ZodOptional>; currency: z.ZodOptional>; pricedPerPerson: z.ZodOptional>; selectionType: z.ZodOptional>>; minQuantity: z.ZodOptional>; maxQuantity: z.ZodOptional>; defaultQuantity: z.ZodOptional>; }, z.core.$strip>>>; groups: z.ZodOptional; label: z.ZodString; groupBy: z.ZodOptional>; perGuestSelection: z.ZodBoolean; items: z.ZodArray>; kind: z.ZodEnum<{ extras: "extras"; excursions: "excursions"; insurance: "insurance"; }>; groupKey: z.ZodOptional>; pricingMode: z.ZodOptional>; unitAmountCents: z.ZodOptional>; currency: z.ZodOptional>; pricedPerPerson: z.ZodOptional>; selectionType: z.ZodOptional>>; minQuantity: z.ZodOptional>; maxQuantity: z.ZodOptional>; defaultQuantity: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>>>; }, z.core.$strip>>; ancillaries: z.ZodOptional>; planLabel: z.ZodOptional>; price: z.ZodObject<{ amountMinor: z.ZodNumber; currency: z.ZodString; }, z.core.$strict>; pricedPerPerson: z.ZodDefault; highlights: z.ZodDefault; }, z.core.$strict>>>; eligibility: z.ZodObject<{ status: z.ZodEnum<{ eligible: "eligible"; ineligible: "ineligible"; referral: "referral"; }>; reasons: z.ZodDefault>>; }, z.core.$strict>; disclosures: z.ZodDefault; required: z.ZodBoolean; }, z.core.$strict>>>; requiredTravelerFields: z.ZodDefault; options: z.ZodOptional>>; helpText: z.ZodOptional; }, z.core.$strict>>>; validUntil: z.ZodString; quoteRef: z.ZodString; metadata: z.ZodOptional>; }, z.core.$strict>>>; diagnostics: z.ZodDefault; status: z.ZodEnum<{ timeout: "timeout"; ok: "ok"; unavailable: "unavailable"; error: "error"; }>; message: z.ZodOptional; latencyMs: z.ZodOptional; }, z.core.$strict>>>; }, z.core.$strict>>>; }, z.core.$strip>>; paymentIntents: z.ZodArray>; }, z.core.$strip>; selection: z.ZodRecord; }, z.core.$strip>>; proposalAcceptance: z.ZodOptional; }, z.core.$strip>>; replayOfCommitId: z.ZodOptional; }, z.core.$strip>; expected: z.ZodObject<{ outcomeKind: z.ZodEnum<{ committed: "committed"; component_bookings_committed: "component_bookings_committed"; component_commit_pending: "component_commit_pending"; payment_required: "payment_required"; supplier_pending: "supplier_pending"; supplier_in_doubt: "supplier_in_doubt"; supplier_failed: "supplier_failed"; revision_mismatch: "revision_mismatch"; quote_failure: "quote_failure"; hold_failure: "hold_failure"; proposal_acceptance_required: "proposal_acceptance_required"; idempotent_replay: "idempotent_replay"; }>; nextAction: z.ZodEnum<{ none: "none"; establish_payment_guarantee: "establish_payment_guarantee"; refresh_session_state: "refresh_session_state"; request_fresh_quote: "request_fresh_quote"; request_new_hold: "request_new_hold"; persist_and_dispatch_supplier_operation: "persist_and_dispatch_supplier_operation"; await_supplier_operation: "await_supplier_operation"; reconcile_supplier_operation: "reconcile_supplier_operation"; select_alternative_inventory: "select_alternative_inventory"; manual_review: "manual_review"; renew_proposal_version_acceptance: "renew_proposal_version_acceptance"; continue_component_commit: "continue_component_commit"; return_idempotent_result: "return_idempotent_result"; }>; effects: z.ZodObject<{ bookingCreated: z.ZodOptional; allocationCreated: z.ZodOptional; holdConverted: z.ZodOptional; sessionConsumed: z.ZodOptional; quoteConsumed: z.ZodOptional; supplierOperationPersisted: z.ZodOptional; supplierDispatched: z.ZodOptional; paymentGuaranteeEstablished: z.ZodOptional; bookingCreatedBeforeSupplierSecured: z.ZodOptional; financeStatePromotedToBookingStatus: z.ZodOptional; transactionBoundary: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>; }, z.core.$strip>; export type BookingLifecycleConformanceScenarioV1 = z.infer; export interface BookingLifecycleConformanceHarnessV1 { commit(input: BookingLifecycleCommitInputV1, scenario: BookingLifecycleConformanceScenarioV1): BookingLifecycleObservationV1 | Promise; } export interface BookingLifecycleConformanceResultV1 { scenarioId: string; passed: boolean; error?: unknown; } export declare function runBookingLifecycleConformanceV1(harness: BookingLifecycleConformanceHarnessV1, scenarios?: readonly BookingLifecycleConformanceScenarioV1[]): Promise; export declare function assertBookingLifecycleConformanceV1(harness: BookingLifecycleConformanceHarnessV1, scenarios?: readonly BookingLifecycleConformanceScenarioV1[]): Promise;