import type { PrismaClient } from '../../../../prisma';
import { WorkflowMethods } from '../../../../prisma/enums';
export declare class WorkflowReminderRepository {
    private prismaClient;
    constructor(prismaClient: PrismaClient);
    findScheduledMessagesToCancel({ teamId, userIdsWithNoCredits, }: {
        teamId?: number | null;
        userIdsWithNoCredits: number[];
    }): Promise<{
        booking: {
            user: {
                email: string;
            } | null;
            attendees: {
                email: string;
                locale: string | null;
            }[];
        } | null;
        id: number;
        uuid: string | null;
        referenceId: string | null;
        scheduledDate: Date;
        workflowStep: {
            action: import('../../../../kysely/types.ts').WorkflowActions;
        } | null;
    }[]>;
    updateRemindersToEmail({ reminderIds }: {
        reminderIds: number[];
    }): Promise<import('../../../../prisma/generated/prisma/internal/prismaNamespace').BatchPayload>;
    create({ bookingUid, workflowStepId, method, scheduledDate, scheduled, seatReferenceUid, }: {
        bookingUid: string;
        workflowStepId: number;
        method: WorkflowMethods;
        scheduledDate: Date;
        scheduled: boolean;
        seatReferenceUid?: string;
    }): Promise<{
        method: import('../../../../kysely/types.ts').WorkflowMethods;
        id: number;
        cancelled: boolean | null;
        bookingUid: string | null;
        uuid: string | null;
        referenceId: string | null;
        scheduledDate: Date;
        scheduled: boolean;
        workflowStepId: number | null;
        seatReferenceId: string | null;
        isMandatoryReminder: boolean | null;
        retryCount: number;
    }>;
    findByIdIncludeStepAndWorkflow(id: number): import('../../../../prisma/generated/prisma/models').Prisma__WorkflowReminderClient<({
        workflowStep: ({
            workflow: {
                name: string;
                id: number;
                type: import('../../../../kysely/types.ts').WorkflowType;
                time: number | null;
                trigger: import('../../../../kysely/types.ts').WorkflowTriggerEvents;
                userId: number | null;
                position: number;
                teamId: number | null;
                timeUnit: import('../../../../kysely/types.ts').TimeUnit | null;
                isActiveOnAll: boolean;
            };
        } & {
            id: number;
            template: import('../../../../kysely/types.ts').WorkflowTemplates;
            action: import('../../../../kysely/types.ts').WorkflowActions;
            stepNumber: number;
            workflowId: number;
            sendTo: string | null;
            reminderBody: string | null;
            emailSubject: string | null;
            numberRequired: boolean | null;
            sender: string | null;
            numberVerificationPending: boolean;
            includeCalendarEvent: boolean;
            verifiedAt: Date | null;
            agentId: string | null;
            inboundAgentId: string | null;
        }) | null;
    } & {
        method: import('../../../../kysely/types.ts').WorkflowMethods;
        id: number;
        cancelled: boolean | null;
        bookingUid: string | null;
        uuid: string | null;
        referenceId: string | null;
        scheduledDate: Date;
        scheduled: boolean;
        workflowStepId: number | null;
        seatReferenceId: string | null;
        isMandatoryReminder: boolean | null;
        retryCount: number;
    }) | null, null, import("@prisma/client/runtime/client").DefaultArgs, {
        omit: import('../../../../prisma/generated/prisma/internal/prismaNamespace').GlobalOmitConfig | undefined;
    }>;
}
//# sourceMappingURL=WorkflowReminderRepository.d.ts.map