import type { CreateBookingMeta, CreateRecurringBookingData } from '../dto/types';
import type { BookingResponse } from '../../types';
import type { IBookingService } from "../interfaces/IBookingService";
import type { RegularBookingService } from "./RegularBookingService";
export type BookingHandlerInput = {
    bookingData: CreateRecurringBookingData;
} & CreateBookingMeta;
export declare const handleNewRecurringBooking: (input: BookingHandlerInput, deps: IRecurringBookingServiceDependencies) => Promise<BookingResponse[]>;
export interface IRecurringBookingServiceDependencies {
    regularBookingService: RegularBookingService;
}
/**
 * Recurring Booking Service takes care of creating/rescheduling recurring bookings.
 */
export declare class RecurringBookingService implements IBookingService {
    private readonly deps;
    constructor(deps: IRecurringBookingServiceDependencies);
    createBooking(input: {
        bookingData: CreateRecurringBookingData;
        bookingMeta?: CreateBookingMeta;
    }): Promise<BookingResponse[]>;
    rescheduleBooking(input: {
        bookingData: CreateRecurringBookingData;
        bookingMeta?: CreateBookingMeta;
    }): Promise<BookingResponse[]>;
}
//# sourceMappingURL=RecurringBookingService.d.ts.map