import type { Booking } from '../../../prisma-client';
import type { CalendarEventBuilder } from "./builder";
export declare class CalendarEventDirector {
    private builder;
    private existingBooking;
    private cancellationReason;
    setBuilder(builder: CalendarEventBuilder): void;
    setExistingBooking(booking: Pick<Booking, "id" | "uid" | "title" | "startTime" | "endTime" | "eventTypeId" | "userId" | "dynamicEventSlugRef" | "dynamicGroupSlugRef" | "location">): void;
    setCancellationReason(reason: string): void;
    buildForRescheduleEmail({ allowRescheduleForCancelledBooking, }?: {
        /**
         * By default we don't want to allow reschedule for cancelled bookings.
         */
        allowRescheduleForCancelledBooking?: boolean;
    }): Promise<void>;
    buildWithoutEventTypeForRescheduleEmail(): Promise<void>;
}
//# sourceMappingURL=director.d.ts.map