import { IScheduleSettings, ITimingRule } from '@core/types';
/**
 * Generates a list of time slots between the given start and end date
 * @param start The start date of the time slots
 * @param end The end date of the time slots
 * @param slotLength The length of each time slot in minutes
 * @returns A list of time slots
 */
export declare function getTimeSlotsBetweenTime(start: Date, end: Date, slotLength: number): Date[];
/**
 * Generates a list of time slots between the given date and rules
 * @param date The date for which time slots will be generated
 * @param rules A list of {@link ITimingRule} to calculate time slots
 * @param slotLength The length of each time slot in minutes
 * @returns A list of time slots in the given date
 */
export declare function getTimeSlotsByDate(date: Date, rules: ITimingRule[], slotLength: number): Date[];
/**
 * Get timeslots for entire week starting from the weekStart date
 * @param weekStart Start date of week
 * @param schedule Restaurant schedule
 * @param slotLength The length of each time slot in minutes
 * @returns Array of time slots for entire week
 */
export declare function getTimeSlotsForWeek(weekStart: Date, schedule: IScheduleSettings, slotLength: number): Date[];
