import type { Workflow } from '../types';
import { SchedulingType } from '../../../../../prisma/enums';
import type { CalendarEvent } from "@calcom/types/Calendar";
export type ExtendedCalendarEvent = Omit<CalendarEvent, "bookerUrl"> & {
    metadata?: {
        videoCallUrl: string | undefined;
    };
    eventType: {
        slug: string;
        schedulingType?: SchedulingType | null;
        hosts?: {
            user: {
                email: string;
                destinationCalendar?: {
                    primaryEmail: string | null;
                } | null;
            };
        }[];
    };
    rescheduleReason?: string | null;
    cancellationReason?: string | null;
    bookerUrl: string;
};
type ProcessWorkflowStepParams = {
    smsReminderNumber: string | null;
    calendarEvent: ExtendedCalendarEvent;
    emailAttendeeSendToOverride?: string;
    hideBranding?: boolean;
    seatReferenceUid?: string;
};
export interface ScheduleWorkflowRemindersArgs extends ProcessWorkflowStepParams {
    workflows: Workflow[];
    isNotConfirmed?: boolean;
    isRescheduleEvent?: boolean;
    isFirstRecurringEvent?: boolean;
    isDryRun?: boolean;
}
export declare const scheduleWorkflowReminders: (args: ScheduleWorkflowRemindersArgs) => Promise<void>;
export interface SendCancelledRemindersArgs {
    workflows: Workflow[];
    smsReminderNumber: string | null;
    evt: ExtendedCalendarEvent;
    hideBranding?: boolean;
}
export declare const sendCancelledReminders: (args: SendCancelledRemindersArgs) => Promise<void>;
export {};
//# sourceMappingURL=reminderScheduler.d.ts.map