import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; export { getStorefrontSlotResourceAvailability, getStorefrontSlotsResourceAvailability, type StorefrontSlotResourceAvailability, } from "./service-boundary-resource-sql.js"; export type StorefrontSlotStatus = "open" | "closed" | "sold_out" | "cancelled"; export interface StorefrontSlotRow { id: string; productId: string; itineraryId: string | null; optionId: string | null; startTimeId: string | null; dateLocal: Date | string; startsAt: Date | string; endsAt: Date | string | null; timezone: string; status: StorefrontSlotStatus; unlimited: boolean; initialPax: number | null; remainingPax: number | null; remainingResources: number | null; pastCutoff: boolean; tooEarly: boolean; nights: number | null; days: number | null; startTimeLabel: string | null; startTimeLocal: string | null; durationMinutes: number | null; } export interface StorefrontProductPricingFacts { id: string; sellCurrency: string; sellAmountCents: number | null; capacityMode: string; } export interface StorefrontProductOptionFacts { id: string; name: string; description: string | null; } export interface StorefrontOptionUnitFacts { id: string; name: string; unitType: string; minAge: number | null; maxAge: number | null; occupancyMin: number | null; occupancyMax: number | null; isRequired: boolean; } export interface StorefrontItineraryDay { id: string; dayNumber: number; title: string | null; description: string | null; } export interface StorefrontItineraryDayService { id: string; dayId: string; name: string; description: string | null; sortOrder: number | null; } export interface StorefrontItineraryDayMedia { id: string; dayId: string | null; url: string; isCover: boolean; sortOrder: number; } export declare function listStorefrontSlots(db: PostgresJsDatabase, filters?: { productId?: string; slotId?: string; optionId?: string; status?: StorefrontSlotStatus; dateFrom?: string; dateTo?: string; limit?: number; offset?: number; includeCancelled?: boolean; }): Promise; export declare function countStorefrontSlots(db: PostgresJsDatabase, filters?: { productId?: string; slotId?: string; optionId?: string; status?: StorefrontSlotStatus; dateFrom?: string; dateTo?: string; includeCancelled?: boolean; }): Promise; export declare function listMeetingPointsByProductIds(db: PostgresJsDatabase, productIds: string[]): Promise>; export declare function listDefaultItineraryIdsByProductIds(db: PostgresJsDatabase, productIds: string[]): Promise>; export declare function loadProductPricingFacts(db: PostgresJsDatabase, productId: string): Promise; export declare function loadProductOptionFacts(db: PostgresJsDatabase, input: { productId: string; optionId?: string | null; }): Promise; export declare function listOptionUnitFacts(db: PostgresJsDatabase, optionId: string): Promise; export declare function listItineraryDays(db: PostgresJsDatabase, itineraryId: string, languageTag?: string | null): Promise; export declare function listItineraryDayServices(db: PostgresJsDatabase, dayIds: string[], languageTag?: string | null): Promise; export declare function listItineraryDayMedia(db: PostgresJsDatabase, input: { productId: string; dayIds: string[]; }): Promise;