import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; export interface SourcedBookingTravelerInput { firstName: string; lastName: string; email?: string | null; phone?: string | null; category?: "adult" | "child" | "infant" | "senior" | "other" | null; isPrimary?: boolean; } export interface CreateSourcedBookingCommitmentInput { bookingNumber: string; personId?: string | null; organizationId?: string | null; contactFirstName?: string | null; contactLastName?: string | null; contactEmail?: string | null; contactPhone?: string | null; sellCurrency: string; sellAmountCents: number; title: string; description?: string | null; quantity: number; serviceDate?: string | null; endDate?: string | null; startsAt?: Date | null; endsAt?: Date | null; travelers: SourcedBookingTravelerInput[]; entityModule: string; entityId: string; sourceKind: string; sourceProvider?: string | null; sourceConnectionId: string; sourceRef: string; upstreamRef: string; storefrontId?: string | null; channelId?: string | null; supplierOperationId: string; now: Date; } export interface CreateSourcedBookingCommitmentResult { bookingId: string; bookingItemId: string; allocationIds: string[]; } /** * Materialize a supplier-secured component as the first-party commercial * commitment. The caller owns the surrounding transaction and must serialize * on its Supplier Operation before invoking this service. */ export declare function createSourcedBookingCommitment(db: PostgresJsDatabase, input: CreateSourcedBookingCommitmentInput): Promise;