import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; import type { AvailabilityPickupPointListQuery, AvailabilitySlotPickupListQuery, CreateAvailabilityPickupPointInput, CreateAvailabilitySlotPickupInput, CreateCustomPickupAreaInput, CreateLocationPickupTimeInput, CreatePickupGroupInput, CreatePickupLocationInput, CreateProductMeetingConfigInput, CustomPickupAreaListQuery, LocationPickupTimeListQuery, PickupGroupListQuery, PickupLocationListQuery, ProductMeetingConfigListQuery, UpdateAvailabilityPickupPointInput, UpdateAvailabilitySlotPickupInput, UpdateCustomPickupAreaInput, UpdateLocationPickupTimeInput, UpdatePickupGroupInput, UpdatePickupLocationInput, UpdateProductMeetingConfigInput } from "./service-shared.js"; export declare function listPickupPoints(db: PostgresJsDatabase, query: AvailabilityPickupPointListQuery): Promise>; export declare function getPickupPointById(db: PostgresJsDatabase, id: string): Promise<{ id: string; productId: string; facilityId: string | null; name: string; description: string | null; locationText: string | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function createPickupPoint(db: PostgresJsDatabase, data: CreateAvailabilityPickupPointInput): Promise<{ id: string; productId: string; facilityId: string | null; createdAt: Date; updatedAt: Date; name: string; description: string | null; active: boolean; locationText: string | null; } | undefined>; export declare function updatePickupPoint(db: PostgresJsDatabase, id: string, data: UpdateAvailabilityPickupPointInput): Promise<{ id: string; productId: string; facilityId: string | null; name: string; description: string | null; locationText: string | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function deletePickupPoint(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; export declare function listSlotPickups(db: PostgresJsDatabase, query: AvailabilitySlotPickupListQuery): Promise>; export declare function getSlotPickupById(db: PostgresJsDatabase, id: string): Promise<{ id: string; slotId: string; pickupPointId: string; initialCapacity: number | null; remainingCapacity: number | null; createdAt: Date; updatedAt: Date; } | null>; export declare function createSlotPickup(db: PostgresJsDatabase, data: CreateAvailabilitySlotPickupInput): Promise<{ id: string; createdAt: Date; updatedAt: Date; slotId: string; pickupPointId: string; initialCapacity: number | null; remainingCapacity: number | null; } | undefined>; export declare function updateSlotPickup(db: PostgresJsDatabase, id: string, data: UpdateAvailabilitySlotPickupInput): Promise<{ id: string; slotId: string; pickupPointId: string; initialCapacity: number | null; remainingCapacity: number | null; createdAt: Date; updatedAt: Date; } | null>; export declare function deleteSlotPickup(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; export declare function listMeetingConfigs(db: PostgresJsDatabase, query: ProductMeetingConfigListQuery): Promise>; export declare function getMeetingConfigById(db: PostgresJsDatabase, id: string): Promise<{ id: string; productId: string; optionId: string | null; facilityId: string | null; mode: "meeting_only" | "pickup_only" | "meet_or_pickup"; allowCustomPickup: boolean; allowCustomDropoff: boolean; requiresPickupSelection: boolean; requiresDropoffSelection: boolean; usePickupAllotment: boolean; meetingInstructions: string | null; pickupInstructions: string | null; dropoffInstructions: string | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function createMeetingConfig(db: PostgresJsDatabase, data: CreateProductMeetingConfigInput): Promise<{ id: string; productId: string; optionId: string | null; facilityId: string | null; createdAt: Date; updatedAt: Date; active: boolean; mode: "meeting_only" | "pickup_only" | "meet_or_pickup"; allowCustomPickup: boolean; allowCustomDropoff: boolean; requiresPickupSelection: boolean; requiresDropoffSelection: boolean; usePickupAllotment: boolean; meetingInstructions: string | null; pickupInstructions: string | null; dropoffInstructions: string | null; } | undefined>; export declare function updateMeetingConfig(db: PostgresJsDatabase, id: string, data: UpdateProductMeetingConfigInput): Promise<{ id: string; productId: string; optionId: string | null; facilityId: string | null; mode: "meeting_only" | "pickup_only" | "meet_or_pickup"; allowCustomPickup: boolean; allowCustomDropoff: boolean; requiresPickupSelection: boolean; requiresDropoffSelection: boolean; usePickupAllotment: boolean; meetingInstructions: string | null; pickupInstructions: string | null; dropoffInstructions: string | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function deleteMeetingConfig(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; export declare function listPickupGroups(db: PostgresJsDatabase, query: PickupGroupListQuery): Promise>; export declare function getPickupGroupById(db: PostgresJsDatabase, id: string): Promise<{ id: string; meetingConfigId: string; kind: "pickup" | "dropoff" | "meeting"; name: string; description: string | null; active: boolean; sortOrder: number; createdAt: Date; updatedAt: Date; } | null>; export declare function createPickupGroup(db: PostgresJsDatabase, data: CreatePickupGroupInput): Promise<{ id: string; createdAt: Date; updatedAt: Date; name: string; description: string | null; active: boolean; sortOrder: number; kind: "pickup" | "dropoff" | "meeting"; meetingConfigId: string; } | undefined>; export declare function updatePickupGroup(db: PostgresJsDatabase, id: string, data: UpdatePickupGroupInput): Promise<{ id: string; meetingConfigId: string; kind: "pickup" | "dropoff" | "meeting"; name: string; description: string | null; active: boolean; sortOrder: number; createdAt: Date; updatedAt: Date; } | null>; export declare function deletePickupGroup(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; export declare function listPickupLocations(db: PostgresJsDatabase, query: PickupLocationListQuery): Promise>; export declare function getPickupLocationById(db: PostgresJsDatabase, id: string): Promise<{ id: string; groupId: string; facilityId: string | null; name: string; description: string | null; locationText: string | null; leadTimeMinutes: number | null; active: boolean; sortOrder: number; createdAt: Date; updatedAt: Date; } | null>; export declare function createPickupLocation(db: PostgresJsDatabase, data: CreatePickupLocationInput): Promise<{ id: string; facilityId: string | null; createdAt: Date; updatedAt: Date; name: string; description: string | null; active: boolean; sortOrder: number; locationText: string | null; groupId: string; leadTimeMinutes: number | null; } | undefined>; export declare function updatePickupLocation(db: PostgresJsDatabase, id: string, data: UpdatePickupLocationInput): Promise<{ id: string; groupId: string; facilityId: string | null; name: string; description: string | null; locationText: string | null; leadTimeMinutes: number | null; active: boolean; sortOrder: number; createdAt: Date; updatedAt: Date; } | null>; export declare function deletePickupLocation(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; export declare function listLocationPickupTimes(db: PostgresJsDatabase, query: LocationPickupTimeListQuery): Promise>; export declare function getLocationPickupTimeById(db: PostgresJsDatabase, id: string): Promise<{ id: string; pickupLocationId: string; slotId: string | null; startTimeId: string | null; timingMode: "fixed_time" | "offset_from_start"; localTime: string | null; offsetMinutes: number | null; instructions: string | null; initialCapacity: number | null; remainingCapacity: number | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function createLocationPickupTime(db: PostgresJsDatabase, data: CreateLocationPickupTimeInput): Promise<{ id: string; startTimeId: string | null; createdAt: Date; updatedAt: Date; localTime: string | null; active: boolean; slotId: string | null; initialCapacity: number | null; remainingCapacity: number | null; pickupLocationId: string; timingMode: "fixed_time" | "offset_from_start"; offsetMinutes: number | null; instructions: string | null; } | undefined>; export declare function updateLocationPickupTime(db: PostgresJsDatabase, id: string, data: UpdateLocationPickupTimeInput): Promise<{ id: string; pickupLocationId: string; slotId: string | null; startTimeId: string | null; timingMode: "fixed_time" | "offset_from_start"; localTime: string | null; offsetMinutes: number | null; instructions: string | null; initialCapacity: number | null; remainingCapacity: number | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function deleteLocationPickupTime(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; export declare function listCustomPickupAreas(db: PostgresJsDatabase, query: CustomPickupAreaListQuery): Promise>; export declare function getCustomPickupAreaById(db: PostgresJsDatabase, id: string): Promise<{ id: string; meetingConfigId: string; name: string; description: string | null; geographicText: string | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function createCustomPickupArea(db: PostgresJsDatabase, data: CreateCustomPickupAreaInput): Promise<{ id: string; createdAt: Date; updatedAt: Date; name: string; description: string | null; active: boolean; meetingConfigId: string; geographicText: string | null; } | undefined>; export declare function updateCustomPickupArea(db: PostgresJsDatabase, id: string, data: UpdateCustomPickupAreaInput): Promise<{ id: string; meetingConfigId: string; name: string; description: string | null; geographicText: string | null; active: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function deleteCustomPickupArea(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>;