import { BookingRepository } from '../repositories/BookingRepository';
import { IntervalLimitKey } from '../../../lib/intervalLimits/intervalLimitSchema';
export interface ICheckBookingLimitsService {
    bookingRepo: BookingRepository;
}
export declare class CheckBookingLimitsService {
    private readonly dependencies;
    constructor(dependencies: ICheckBookingLimitsService);
    private _checkBookingLimits;
    checkBookingLimits: (bookingLimits: Partial<Record<"PER_DAY" | "PER_MONTH" | "PER_WEEK" | "PER_YEAR", number | undefined>>, eventStartDate: Date, eventId: number, rescheduleUid?: string | undefined, timeZone?: string | null | undefined, includeManagedEvents?: boolean | undefined) => Promise<boolean>;
    private _checkBookingLimit;
    checkBookingLimit: (args_0: {
        eventStartDate: Date;
        eventId?: number;
        key: IntervalLimitKey;
        limitingNumber: number | undefined;
        rescheduleUid?: string | undefined;
        timeZone?: string | null;
        teamId?: number;
        user?: {
            id: number;
            email: string;
        };
        includeManagedEvents?: boolean;
    }) => Promise<void>;
}
//# sourceMappingURL=checkBookingLimits.d.ts.map