import type { BookingAuditProducerService } from '../../../booking-audit/lib/service/BookingAuditProducerService.interface';
import type { HashedLinkService } from '../../../hashedLink/lib/service/HashedLinkService';
import type { ISimpleLogger } from '../../../di/shared/services/logger.service';
import type { Actor } from "../types/actor";
import type { BookingCreatedPayload, BookingRescheduledPayload } from "./types";
interface BookingEventHandlerDeps {
    log: ISimpleLogger;
    hashedLinkService: HashedLinkService;
    bookingAuditProducerService: BookingAuditProducerService;
}
export declare class BookingEventHandlerService {
    private readonly deps;
    private readonly log;
    constructor(deps: BookingEventHandlerDeps);
    onBookingCreated(payload: BookingCreatedPayload, actor: Actor): Promise<void>;
    onBookingRescheduled(payload: BookingRescheduledPayload): Promise<void>;
    /**
     * Handles common tasks that need to be executed in both booking created and rescheduled events
     * A dedicated place because there are many tasks that need to be executed in both events.
     */
    private onBookingCreatedOrRescheduled;
    private updatePrivateLinkUsage;
}
export {};
//# sourceMappingURL=BookingEventHandlerService.d.ts.map