import type { TimeUnit } from '../../../../prisma/enums';
import { WebhookTriggerEvents } from '../../../../prisma/enums';
import { getBooking } from "./getBooking";
import type { TWebhook, TTriggerNoShowPayloadSchema } from "./schema";
export type Host = {
    id: number;
    email: string;
};
export type Booking = Awaited<ReturnType<typeof getBooking>>;
type Webhook = TWebhook;
export type Participants = TTriggerNoShowPayloadSchema["data"][number]["participants"];
export declare function getHosts(booking: Booking): Host[];
export declare function sendWebhookPayload(webhook: Webhook, triggerEvent: WebhookTriggerEvents, booking: Booking, maxStartTime: number, hostEmail?: string): Promise<any>;
export declare function calculateMaxStartTime(startTime: Date, time: number, timeUnit: TimeUnit): number;
export declare function checkIfUserJoinedTheCall(userId: number, allParticipants: Participants): boolean;
export declare const log: import("tslog").Logger<unknown>;
export declare const prepareNoShowTrigger: (payload: string) => Promise<{
    booking: Booking;
    webhook: TWebhook;
    hostsThatDidntJoinTheCall: Host[];
    numberOfHostsThatJoined: number;
    didGuestJoinTheCall: boolean;
} | void>;
export {};
//# sourceMappingURL=common.d.ts.map