export type BookingAmendmentStatus = "proposed" | "accepted" | "applied" | "rejected" | "failed"; export type BookingAmendmentActor = "customer" | "staff" | "partner" | "system"; export type BookingRevisionRole = "before" | "proposed_after"; export interface BookingAmendmentPolicyDecision { code: string; version: string; decision: "allowed" | "acceptance_required"; reason: string; } export interface BookingAmendmentEffects { finance: "not_required"; legal: "not_required"; documents: "not_required"; fulfillment: "not_required"; supplier: "not_required"; } export declare const bookingAmendments: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "booking_amendments"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; bookingId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; travelerId: import("drizzle-orm/pg-core").PgColumn<{ name: "traveler_id"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; kind: import("drizzle-orm/pg-core").PgColumn<{ name: "kind"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; status: import("drizzle-orm/pg-core").PgColumn<{ name: "status"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: BookingAmendmentStatus; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: BookingAmendmentStatus; }>; baseBookingRevision: import("drizzle-orm/pg-core").PgColumn<{ name: "base_booking_revision"; tableName: "booking_amendments"; dataType: "number"; columnType: "PgInteger"; data: number; driverParam: string | number; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; resultBookingRevision: import("drizzle-orm/pg-core").PgColumn<{ name: "result_booking_revision"; tableName: "booking_amendments"; dataType: "number"; columnType: "PgInteger"; data: number; driverParam: string | number; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; requestedPatch: import("drizzle-orm/pg-core").PgColumn<{ name: "requested_patch"; tableName: "booking_amendments"; dataType: "json"; columnType: "PgJsonb"; data: { firstName?: string | undefined; lastName?: string | undefined; email?: string | null | undefined; phone?: string | null | undefined; preferredLanguage?: string | null | undefined; }; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: { firstName?: string | undefined; lastName?: string | undefined; email?: string | null | undefined; phone?: string | null | undefined; preferredLanguage?: string | null | undefined; }; }>; acceptanceRequired: import("drizzle-orm/pg-core").PgColumn<{ name: "acceptance_required"; tableName: "booking_amendments"; dataType: "boolean"; columnType: "PgBoolean"; data: boolean; driverParam: boolean; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; policyDecisions: import("drizzle-orm/pg-core").PgColumn<{ name: "policy_decisions"; tableName: "booking_amendments"; dataType: "json"; columnType: "PgJsonb"; data: BookingAmendmentPolicyDecision[]; driverParam: unknown; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: BookingAmendmentPolicyDecision[]; }>; priceDeltaCents: import("drizzle-orm/pg-core").PgColumn<{ name: "price_delta_cents"; tableName: "booking_amendments"; dataType: "number"; columnType: "PgInteger"; data: number; driverParam: string | number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; priceCurrency: import("drizzle-orm/pg-core").PgColumn<{ name: "price_currency"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; effects: import("drizzle-orm/pg-core").PgColumn<{ name: "effects"; tableName: "booking_amendments"; dataType: "json"; columnType: "PgJsonb"; data: BookingAmendmentEffects; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: BookingAmendmentEffects; }>; previewIdempotencyKey: import("drizzle-orm/pg-core").PgColumn<{ name: "preview_idempotency_key"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; acceptIdempotencyKey: import("drizzle-orm/pg-core").PgColumn<{ name: "accept_idempotency_key"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; applyIdempotencyKey: import("drizzle-orm/pg-core").PgColumn<{ name: "apply_idempotency_key"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; requestedBy: import("drizzle-orm/pg-core").PgColumn<{ name: "requested_by"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; requestedActor: import("drizzle-orm/pg-core").PgColumn<{ name: "requested_actor"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: BookingAmendmentActor; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: BookingAmendmentActor; }>; reason: import("drizzle-orm/pg-core").PgColumn<{ name: "reason"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; acceptedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "accepted_at"; tableName: "booking_amendments"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; acceptedBy: import("drizzle-orm/pg-core").PgColumn<{ name: "accepted_by"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; acceptedActor: import("drizzle-orm/pg-core").PgColumn<{ name: "accepted_actor"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: BookingAmendmentActor; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: BookingAmendmentActor; }>; appliedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "applied_at"; tableName: "booking_amendments"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; appliedBy: import("drizzle-orm/pg-core").PgColumn<{ name: "applied_by"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; appliedActor: import("drizzle-orm/pg-core").PgColumn<{ name: "applied_actor"; tableName: "booking_amendments"; dataType: "string"; columnType: "PgText"; data: BookingAmendmentActor; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: BookingAmendmentActor; }>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "booking_amendments"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: "booking_amendments"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; export declare const bookingRevisions: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "booking_revisions"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "booking_revisions"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; amendmentId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "booking_revisions"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; bookingId: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "booking_revisions"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; bookingRevision: import("drizzle-orm/pg-core").PgColumn<{ name: "booking_revision"; tableName: "booking_revisions"; dataType: "number"; columnType: "PgInteger"; data: number; driverParam: string | number; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; role: import("drizzle-orm/pg-core").PgColumn<{ name: "role"; tableName: "booking_revisions"; dataType: "string"; columnType: "PgText"; data: BookingRevisionRole; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: BookingRevisionRole; }>; snapshot: import("drizzle-orm/pg-core").PgColumn<{ name: "snapshot"; tableName: "booking_revisions"; dataType: "json"; columnType: "PgJsonb"; data: { bookingId: string; bookingNumber: string; revision: number; travelers: { id: string; personId: string | null; participantType: "other" | "traveler" | "occupant"; travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null; firstName: string; lastName: string; email: string | null; phone: string | null; preferredLanguage: string | null; isPrimary: boolean; }[]; }; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: { bookingId: string; bookingNumber: string; revision: number; travelers: { id: string; personId: string | null; participantType: "other" | "traveler" | "occupant"; travelerCategory: "other" | "adult" | "child" | "infant" | "senior" | null; firstName: string; lastName: string; email: string | null; phone: string | null; preferredLanguage: string | null; isPrimary: boolean; }[]; }; }>; changedFields: import("drizzle-orm/pg-core").PgColumn<{ name: "changed_fields"; tableName: "booking_revisions"; dataType: "json"; columnType: "PgJsonb"; data: string[]; driverParam: unknown; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: string[]; }>; authorizedBy: import("drizzle-orm/pg-core").PgColumn<{ name: "authorized_by"; tableName: "booking_revisions"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; reason: import("drizzle-orm/pg-core").PgColumn<{ name: "reason"; tableName: "booking_revisions"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "booking_revisions"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; export type BookingAmendmentRow = typeof bookingAmendments.$inferSelect; export type NewBookingAmendmentRow = typeof bookingAmendments.$inferInsert; export type BookingRevisionRow = typeof bookingRevisions.$inferSelect; export type NewBookingRevisionRow = typeof bookingRevisions.$inferInsert;