import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types'; import { GetTimeSlotsOptions, GetTimeSlotsResponse, CheckTimeSlotOptions, CheckTimeSlotResponse, GetScheduledTimeSlotsOptions, GetScheduledTimeSlotsResponse } from './index.typings.js'; export { CheckReservationDetailsRequest, CheckReservationDetailsResponse, CheckTimeSlotRequest, ExperienceConflictType, ExperienceConflictTypeWithLiterals, ExperienceOptions, ExperienceTableCombinationAvailability, ExperienceTableCombinationConflictType, ExperienceTableCombinationConflictTypeWithLiterals, GetScheduledTimeSlotsRequest, GetTimeSlotsRequest, MaybeTableCombinations, MaybeTableIds, ReservationLocationConflict, ReservationLocationConflictType, ReservationLocationConflictTypeWithLiterals, StandardOptions, Status, StatusWithLiterals, Table, TableCombination, TableCombinationAvailability, TableCombinationConflict, TableCombinationConflictType, TableCombinationConflictTypeWithLiterals, TableConflict, TableConflictType, TableConflictTypeWithLiterals, TableReservedConflict, TimeRange, TimeSlot, TimeSlotAvailability, TimeSlotAvailabilityExperienceOptions, TimeSlotAvailabilityOptionsOneOf, TimeSlotAvailabilityStandardOptions, TimeSlotAvailabilityTimeSlotAvailabilityType, TimeSlotAvailabilityTimeSlotAvailabilityTypeWithLiterals, TimeSlotAvailabilityType, TimeSlotAvailabilityTypeWithLiterals, TimeSlotTableCombination, Type, TypeWithLiterals, V1TimeSlotAvailability, V1TimeSlotAvailabilityOptionsOneOf } from './index.typings.js'; declare function getTimeSlots$1(httpClient: HttpClient): GetTimeSlotsSignature; interface GetTimeSlotsSignature { /** * Returns a list of time slots at a specified reservation location on a specified `date`, and their availability for a specified `partySize`. * * Without passing optional parameters, the list will contain a single time slot at the specified `date`. * Use `slotsBefore` and `slotsAfter` to get additional time slots before and after the specified `date`. * * If you do not provide a `duration`, the duration will be calculated automatically based on the reservation location's configuration. * The reservation location's settings used to determine the duration are its `defaultTurnoverTime` and `turnoverTimeRules`. These specify how much time should be allotted for a reservation of a party of a specified size. * * The interval between `startDate`s of time slots in the response is determined by the reservation location's `timeSlotInterval`. This interval is not affected by the `duration` provided. * @param - ID of the reservation location for which to retrieve time slots. * @param - Date and time for which to retrieve a time slot in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#coordinated_Universal_Time_(UTC)) format. * @param - Size of the party that needs to be seated during this time slot. * * Min: `1` * @param - Options for retrieving the time slots. */ (reservationLocationId: string, date: Date, partySize: number, options?: GetTimeSlotsOptions): Promise>; } declare function checkTimeSlot$1(httpClient: HttpClient): CheckTimeSlotSignature; interface CheckTimeSlotSignature { /** * Checks a restaurant's availability to accommodate a reservation for a given party size in a given time slot. * * `checkTimeSlot()` returns availability information for the restaurant's table combinations, and flags any party pacing or seat pacing conflicts that the proposed reservation would cause. * @param - ID of the reservation location for which to check the time slot. */ (reservationLocationId: string, options?: NonNullablePaths): Promise>; } declare function getScheduledTimeSlots$1(httpClient: HttpClient): GetScheduledTimeSlotsSignature; interface GetScheduledTimeSlotsSignature { /** * Returns a list of scheduled time slots at a specified reservation location for a specified time range, and their availability for a specified `partySize`. * * Scheduled time slots are sequential time periods whose start times fall within a restaurant's opening hours. Opening hours are defined in the reservation location's `businessSchedule`. * * [Experiences](https://dev.wix.com/docs/api-reference/business-solutions/restaurants/wix-restaurants-new/reservations/experiences/introduction) have their own business schedules that override that of the reservation location. To get scheduled time slots for an experience, pass the ID of that experience to this method. * * If a restaurant is open during distinct time periods throughout the week, the `startDate` of the first scheduled time slot returned for each period is the same as starting time of that time period. * If a restaurant is always open, the `startDate` of the first returned scheduled time slot for each week is Sunday at `00:00`. * * The duration of scheduled time slots and the interval between their `startDate`s is determined by the reservation location's `timeSlotInterval`. * * For example: * * A restaurant is open every night from `22:30` to `03:55` with a `timeSlotInterval` of 1 hour. * If you called this method with the time range `23:00` to `02:50`, it would return time slots starting at `23:30`, `00:30`, `01:30`, and `02:30`. * @param - ID of the reservation location for which to retrieve time slots. * @param - Size of the party that needs to be seated during this time slot. * * Min: `1` */ (reservationLocationId: string, partySize: number, options: NonNullablePaths): Promise>; } declare const getTimeSlots: MaybeContext & typeof getTimeSlots$1>; declare const checkTimeSlot: MaybeContext & typeof checkTimeSlot$1>; declare const getScheduledTimeSlots: MaybeContext & typeof getScheduledTimeSlots$1>; export { CheckTimeSlotOptions, CheckTimeSlotResponse, GetScheduledTimeSlotsOptions, GetScheduledTimeSlotsResponse, GetTimeSlotsOptions, GetTimeSlotsResponse, checkTimeSlot, getScheduledTimeSlots, getTimeSlots };