import type { Dayjs } from '../../dayjs';
import dayjs from '../../dayjs';
import type { EventBusyDetails } from "@calcom/types/Calendar";
import type { IntervalLimitUnit } from "./intervalLimitSchema";
/**
 * Extracts date parameters from a booking and period
 * @param booking The booking to extract date parameters from
 * @param periodStart The start of the period
 * @param periodEnd The end of the period
 * @param timeZone The timezone to use
 * @returns Object containing extracted date parameters
 */
export declare function extractDateParameters(booking: EventBusyDetails, periodStart: Dayjs, periodEnd: Dayjs, timeZone: string): {
    bookingStart: dayjs.Dayjs;
    bookingDay: string;
    periodStartDay: string;
    periodEndDay: string;
};
/**
 * Checks if a booking is within a given period
 * @param booking The booking to check
 * @param periodStart The start of the period
 * @param periodEnd The end of the period
 * @param timeZone The timezone to use
 * @returns Boolean indicating if the booking is within the period
 */
export declare function isBookingWithinPeriod(booking: EventBusyDetails, periodStart: Dayjs, periodEnd: Dayjs, timeZone: string): boolean;
/**
 * Gets unit from a busy time's start and end dates
 * @param start The start date
 * @param end The end date
 * @returns The appropriate interval limit unit
 */
export declare function getUnitFromBusyTime(start: Dayjs, end: Dayjs): IntervalLimitUnit;
//# sourceMappingURL=utils.d.ts.map