import type { EventType, User, WorkflowReminder, WorkflowStep, Prisma } from '../../../../prisma-client';
type PartialWorkflowStep = (Partial<WorkflowStep> & {
    workflow: {
        userId?: number;
        teamId?: number;
    };
}) | null;
type Booking = Prisma.BookingGetPayload<{
    include: {
        attendees: true;
    };
}>;
type PartialBooking = (Pick<Booking, "startTime" | "endTime" | "location" | "description" | "metadata" | "customInputs" | "responses" | "uid" | "attendees" | "userPrimaryEmail" | "smsReminderNumber" | "title"> & {
    eventType: (Partial<EventType> & {
        slug: string;
        team: {
            parentId?: number;
            hideBranding: boolean;
        };
        hosts: {
            user: {
                email: string;
                destinationCalendar?: {
                    primaryEmail: string;
                };
            };
        }[] | undefined;
    }) | null;
} & {
    user: Partial<User> | null;
}) | null;
export type PartialWorkflowReminder = Pick<WorkflowReminder, "id" | "isMandatoryReminder" | "scheduledDate" | "uuid"> & {
    booking: PartialBooking | null;
} & {
    workflowStep: PartialWorkflowStep;
};
type RemindersToDeleteType = {
    referenceId: string | null;
    id: number;
};
export declare function getAllRemindersToDelete(): Promise<RemindersToDeleteType[]>;
type RemindersToCancelType = {
    referenceId: string | null;
    id: number;
};
export declare function getAllRemindersToCancel(): Promise<RemindersToCancelType[]>;
export declare const select: {
    id: true;
    scheduledDate: true;
    isMandatoryReminder: true;
    uuid: true;
    workflowStep: {
        select: {
            action: true;
            sendTo: true;
            reminderBody: true;
            emailSubject: true;
            template: true;
            sender: true;
            includeCalendarEvent: true;
            workflow: {
                select: {
                    userId: true;
                    teamId: true;
                };
            };
        };
    };
    booking: {
        select: {
            startTime: true;
            endTime: true;
            location: true;
            description: true;
            smsReminderNumber: true;
            userPrimaryEmail: true;
            user: {
                select: {
                    email: true;
                    name: true;
                    timeZone: true;
                    locale: true;
                    username: true;
                    timeFormat: true;
                    hideBranding: true;
                };
            };
            metadata: true;
            uid: true;
            customInputs: true;
            responses: true;
            attendees: true;
            eventType: {
                select: {
                    bookingFields: true;
                    title: true;
                    slug: true;
                    hosts: {
                        select: {
                            user: {
                                select: {
                                    email: true;
                                    destinationCalendar: {
                                        select: {
                                            primaryEmail: true;
                                        };
                                    };
                                };
                            };
                        };
                    };
                    recurringEvent: true;
                    team: {
                        select: {
                            parentId: true;
                            hideBranding: true;
                        };
                    };
                    customReplyToEmail: true;
                };
            };
        };
    };
};
export declare function getAllUnscheduledReminders(): Promise<PartialWorkflowReminder[]>;
export {};
//# sourceMappingURL=getWorkflowReminders.d.ts.map