import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; export type GenerateAvailabilitySlotsOptions = { /** If provided, only generate slots for this rule. Otherwise, process all active rules. */ ruleId?: string; /** How many days ahead from "now" to generate slots for. Defaults to 90. */ horizonDays?: number; /** Default start time (HH:MM, 24h) used when a rule does not define one. Defaults to "09:00". */ defaultStartTime?: string; /** Cap on slots expanded per rule. Defaults to 1000. */ perRuleLimit?: number; /** Override "now" for deterministic generation. Defaults to new Date(). */ now?: Date; /** * Auto-seed `allocation_resources` for each freshly-created slot from * its option's `product_option_resource_templates.default_count`. * Templates without `default_count` are still skipped — those need * pax-aware materialisation via the admin route. Defaults to true. */ materializeResources?: boolean; }; export type GenerateAvailabilitySlotsResult = { rulesProcessed: number; slotsCreated: number; slotsSkipped: number; resourcesMaterialized: number; }; /** * Materialize availability slots from active availability rules. * * `startsAt` is stored as a true UTC instant for the wall-clock time on * `dateLocal` in the rule's `timezone`. */ export declare function generateAvailabilitySlots(db: PostgresJsDatabase, options?: GenerateAvailabilitySlotsOptions): Promise;