import type { BookingsRelationshipsRuntime } from "@voyant-travel/bookings/runtime-port"; import { type FinanceServiceRuntime } from "@voyant-travel/finance"; import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; import type { OwnedBookingHandlerRegistry } from "./owned-handler.js"; import type { SourceAdapterRegistry } from "./registry.js"; import type { ProductionBookingSessionPaymentDeps } from "./sessions-payment-production.js"; import { type BookingSessionCompositeHandler, type BookingSessionModule, type BookingSessionRepository, type CommitOwnedBookingInput } from "./sessions-service.js"; export interface ProductionBookingSessionModuleDeps { db: PostgresJsDatabase; repository: BookingSessionRepository; resolveOwnedHandlers(): OwnedBookingHandlerRegistry | Promise; resolveSourceRegistry(): SourceAdapterRegistry | Promise; resolveCompositeHandler?(): BookingSessionCompositeHandler | undefined | Promise; relationships?: BookingsRelationshipsRuntime; financeRuntime?: FinanceServiceRuntime; payments?: Omit; } export declare function createProductionBookingSessionModule(deps: ProductionBookingSessionModuleDeps): BookingSessionModule; export declare function normalizeBookingSelection(_target: CommitOwnedBookingInput["session"]["target"], selection: Record, access?: CommitOwnedBookingInput["access"]): Record; export declare const normalizeProductSelection: typeof normalizeBookingSelection;