import type { EventType as PrismaEventType } from '../../../prisma-client';
import { Prisma } from '../../../prisma-client';
import type { Ensure } from "@calcom/types/utils";
type NotSupportedProps = "locations";
type IEventType = Ensure<Partial<Omit<Prisma.EventTypeCreateInput, NotSupportedProps> & {
    userId: PrismaEventType["userId"];
    profileId: PrismaEventType["profileId"];
    teamId: PrismaEventType["teamId"];
    parentId: PrismaEventType["parentId"];
    scheduleId: PrismaEventType["scheduleId"];
}>, "title" | "slug" | "length">;
type UserWithSelectedCalendars<TSelectedCalendar extends {
    eventTypeId: number | null;
}> = {
    allSelectedCalendars: TSelectedCalendar[];
};
export declare class EventTypeRepository {
    private static generateCreateEventTypeData;
    static create(data: IEventType): Promise<{
        calVideoSettings: {
            eventTypeId: number;
            createdAt: Date;
            updatedAt: Date;
            disableRecordingForOrganizer: boolean;
            disableRecordingForGuests: boolean;
            enableAutomaticTranscription: boolean;
            redirectUrlOnExit: string | null;
            disableTranscriptionForGuests: boolean;
            disableTranscriptionForOrganizer: boolean;
        } | null;
    } & {
        id: number;
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        forwardParamsSuccessRedirect: boolean | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        maxActiveBookingsPerBooker: number | null;
        maxActiveBookingPerBookerOfferReschedule: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
    }>;
    static createMany(data: IEventType[]): Promise<import('../../../prisma-client/runtime/library').GetBatchResult>;
    static findAllByUpId({ upId, userId }: {
        upId: string;
        userId: number;
    }, { orderBy, where, cursor: cursorId, limit, }?: {
        orderBy?: Prisma.EventTypeOrderByWithRelationInput[];
        where?: Prisma.EventTypeWhereInput;
        cursor?: number | null;
        limit?: number | null;
    }): Promise<{
        users: {
            name: string | null;
            id: number;
            username: string | null;
            avatarUrl: string | null;
        }[];
        id: number;
        children: ({
            users: {
                name: string | null;
                id: number;
                username: string | null;
                avatarUrl: string | null;
            }[];
        } & {
            id: number;
            length: number;
            title: string;
            metadata: Prisma.JsonValue;
            description: string | null;
            price: number;
            hidden: boolean;
            currency: string;
            slug: string;
            userId: number | null;
            interfaceLanguage: string | null;
            position: number;
            locations: Prisma.JsonValue;
            offsetStart: number;
            profileId: number | null;
            teamId: number | null;
            useEventLevelSelectedCalendars: boolean;
            eventName: string | null;
            parentId: number | null;
            bookingFields: Prisma.JsonValue;
            timeZone: string | null;
            periodType: import('../../../prisma-client').$Enums.PeriodType;
            periodStartDate: Date | null;
            periodEndDate: Date | null;
            periodDays: number | null;
            periodCountCalendarDays: boolean | null;
            lockTimeZoneToggleOnBookingPage: boolean;
            requiresConfirmation: boolean;
            requiresConfirmationWillBlockSlot: boolean;
            requiresConfirmationForFreeEmail: boolean;
            requiresBookerEmailVerification: boolean;
            canSendCalVideoTranscriptionEmails: boolean;
            autoTranslateDescriptionEnabled: boolean;
            recurringEvent: Prisma.JsonValue;
            disableGuests: boolean;
            hideCalendarNotes: boolean;
            hideCalendarEventDetails: boolean;
            minimumBookingNotice: number;
            beforeEventBuffer: number;
            afterEventBuffer: number;
            seatsPerTimeSlot: number | null;
            onlyShowFirstAvailableSlot: boolean;
            disableCancelling: boolean | null;
            disableRescheduling: boolean | null;
            seatsShowAttendees: boolean | null;
            seatsShowAvailabilityCount: boolean | null;
            schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
            scheduleId: number | null;
            allowReschedulingCancelledBookings: boolean | null;
            slotInterval: number | null;
            successRedirectUrl: string | null;
            forwardParamsSuccessRedirect: boolean | null;
            bookingLimits: Prisma.JsonValue;
            durationLimits: Prisma.JsonValue;
            isInstantEvent: boolean;
            instantMeetingExpiryTimeOffsetInSeconds: number;
            instantMeetingScheduleId: number | null;
            instantMeetingParameters: string[];
            assignAllTeamMembers: boolean;
            assignRRMembersUsingSegment: boolean;
            rrSegmentQueryValue: Prisma.JsonValue;
            useEventTypeDestinationCalendarEmail: boolean;
            isRRWeightsEnabled: boolean;
            maxLeadThreshold: number | null;
            includeNoShowInRRCalculation: boolean;
            allowReschedulingPastBookings: boolean;
            hideOrganizerEmail: boolean;
            maxActiveBookingsPerBooker: number | null;
            maxActiveBookingPerBookerOfferReschedule: boolean;
            customReplyToEmail: string | null;
            eventTypeColor: Prisma.JsonValue;
            rescheduleWithSameRoundRobinHost: boolean;
            secondaryEmailId: number | null;
            useBookerTimezone: boolean;
            restrictionScheduleId: number | null;
        })[];
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        hosts: ({
            user: {
                name: string | null;
                id: number;
                username: string | null;
                avatarUrl: string | null;
            };
        } & {
            weight: number | null;
            userId: number;
            eventTypeId: number;
            scheduleId: number | null;
            createdAt: Date;
            isFixed: boolean;
            priority: number | null;
            weightAdjustment: number | null;
        })[];
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
        hashedLink: {
            link: string;
            id: number;
            eventTypeId: number;
        }[];
        instantMeetingSchedule: {
            name: string;
            id: number;
        } | null;
        aiPhoneCallConfig: {
            id: number;
            enabled: boolean;
            eventTypeId: number;
            templateType: string;
            schedulerName: string | null;
            generalPrompt: string | null;
            yourPhoneNumber: string;
            numberToCall: string;
            guestName: string | null;
            guestEmail: string | null;
            guestCompany: string | null;
            beginMessage: string | null;
            llmId: string | null;
        } | null;
    }[]>;
    static findAllByUpIdWithMinimalData({ upId, userId }: {
        upId: string;
        userId: number;
    }, { orderBy, where, cursor: cursorId, limit, }?: {
        orderBy?: Prisma.EventTypeOrderByWithRelationInput[];
        where?: Prisma.EventTypeWhereInput;
        cursor?: number | null;
        limit?: number | null;
    }): Promise<{
        id: number;
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
        hashedLink: {
            link: string;
            id: number;
            eventTypeId: number;
        }[];
        instantMeetingSchedule: {
            name: string;
            id: number;
        } | null;
        aiPhoneCallConfig: {
            id: number;
            enabled: boolean;
            eventTypeId: number;
            templateType: string;
            schedulerName: string | null;
            generalPrompt: string | null;
            yourPhoneNumber: string;
            numberToCall: string;
            guestName: string | null;
            guestEmail: string | null;
            guestCompany: string | null;
            beginMessage: string | null;
            llmId: string | null;
        } | null;
    }[]>;
    static findTeamEventTypes({ teamId, parentId, userId, limit, cursor, orderBy, where, }: {
        teamId: number;
        parentId?: number | null;
        userId: number;
        limit?: number | null;
        cursor?: number | null;
        orderBy?: Prisma.EventTypeOrderByWithRelationInput[];
        where?: Prisma.EventTypeWhereInput;
    }): Promise<{
        users: {
            name: string | null;
            id: number;
            username: string | null;
            avatarUrl: string | null;
        }[];
        id: number;
        children: ({
            users: {
                name: string | null;
                id: number;
                username: string | null;
                avatarUrl: string | null;
            }[];
        } & {
            id: number;
            length: number;
            title: string;
            metadata: Prisma.JsonValue;
            description: string | null;
            price: number;
            hidden: boolean;
            currency: string;
            slug: string;
            userId: number | null;
            interfaceLanguage: string | null;
            position: number;
            locations: Prisma.JsonValue;
            offsetStart: number;
            profileId: number | null;
            teamId: number | null;
            useEventLevelSelectedCalendars: boolean;
            eventName: string | null;
            parentId: number | null;
            bookingFields: Prisma.JsonValue;
            timeZone: string | null;
            periodType: import('../../../prisma-client').$Enums.PeriodType;
            periodStartDate: Date | null;
            periodEndDate: Date | null;
            periodDays: number | null;
            periodCountCalendarDays: boolean | null;
            lockTimeZoneToggleOnBookingPage: boolean;
            requiresConfirmation: boolean;
            requiresConfirmationWillBlockSlot: boolean;
            requiresConfirmationForFreeEmail: boolean;
            requiresBookerEmailVerification: boolean;
            canSendCalVideoTranscriptionEmails: boolean;
            autoTranslateDescriptionEnabled: boolean;
            recurringEvent: Prisma.JsonValue;
            disableGuests: boolean;
            hideCalendarNotes: boolean;
            hideCalendarEventDetails: boolean;
            minimumBookingNotice: number;
            beforeEventBuffer: number;
            afterEventBuffer: number;
            seatsPerTimeSlot: number | null;
            onlyShowFirstAvailableSlot: boolean;
            disableCancelling: boolean | null;
            disableRescheduling: boolean | null;
            seatsShowAttendees: boolean | null;
            seatsShowAvailabilityCount: boolean | null;
            schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
            scheduleId: number | null;
            allowReschedulingCancelledBookings: boolean | null;
            slotInterval: number | null;
            successRedirectUrl: string | null;
            forwardParamsSuccessRedirect: boolean | null;
            bookingLimits: Prisma.JsonValue;
            durationLimits: Prisma.JsonValue;
            isInstantEvent: boolean;
            instantMeetingExpiryTimeOffsetInSeconds: number;
            instantMeetingScheduleId: number | null;
            instantMeetingParameters: string[];
            assignAllTeamMembers: boolean;
            assignRRMembersUsingSegment: boolean;
            rrSegmentQueryValue: Prisma.JsonValue;
            useEventTypeDestinationCalendarEmail: boolean;
            isRRWeightsEnabled: boolean;
            maxLeadThreshold: number | null;
            includeNoShowInRRCalculation: boolean;
            allowReschedulingPastBookings: boolean;
            hideOrganizerEmail: boolean;
            maxActiveBookingsPerBooker: number | null;
            maxActiveBookingPerBookerOfferReschedule: boolean;
            customReplyToEmail: string | null;
            eventTypeColor: Prisma.JsonValue;
            rescheduleWithSameRoundRobinHost: boolean;
            secondaryEmailId: number | null;
            useBookerTimezone: boolean;
            restrictionScheduleId: number | null;
        })[];
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        hosts: ({
            user: {
                name: string | null;
                id: number;
                username: string | null;
                avatarUrl: string | null;
            };
        } & {
            weight: number | null;
            userId: number;
            eventTypeId: number;
            scheduleId: number | null;
            createdAt: Date;
            isFixed: boolean;
            priority: number | null;
            weightAdjustment: number | null;
        })[];
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
        hashedLink: {
            link: string;
            id: number;
            eventTypeId: number;
        }[];
        instantMeetingSchedule: {
            name: string;
            id: number;
        } | null;
        aiPhoneCallConfig: {
            id: number;
            enabled: boolean;
            eventTypeId: number;
            templateType: string;
            schedulerName: string | null;
            generalPrompt: string | null;
            yourPhoneNumber: string;
            numberToCall: string;
            guestName: string | null;
            guestEmail: string | null;
            guestCompany: string | null;
            beginMessage: string | null;
            llmId: string | null;
        } | null;
    }[]>;
    static findAllByUserId({ userId }: {
        userId: number;
    }): Promise<{
        id: number;
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        forwardParamsSuccessRedirect: boolean | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        maxActiveBookingsPerBooker: number | null;
        maxActiveBookingPerBookerOfferReschedule: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
    }[]>;
    static findTitleById({ id }: {
        id: number;
    }): Promise<{
        title: string;
    } | null>;
    static findByIdWithUserAccess({ id, userId }: {
        id: number;
        userId: number;
    }): Promise<{
        id: number;
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        forwardParamsSuccessRedirect: boolean | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        maxActiveBookingsPerBooker: number | null;
        maxActiveBookingPerBookerOfferReschedule: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
    } | null>;
    static findById({ id, userId }: {
        id: number;
        userId: number;
    }): Promise<{
        schedule: {
            name: string;
            id: number;
        } | null;
        users: {
            name: string | null;
            id: number;
            username: string | null;
            email: string;
            locale: string | null;
            avatarUrl: string | null;
            defaultScheduleId: number | null;
            isPlatformManaged: boolean;
        }[];
        id: number;
        children: {
            owner: {
                name: string | null;
                id: number;
                username: string | null;
                email: string;
                avatarUrl: string | null;
            } | null;
            hidden: boolean;
            slug: string;
        }[];
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        webhooks: {
            id: string;
            active: boolean;
            secret: string | null;
            eventTypeId: number | null;
            subscriberUrl: string;
            payloadTemplate: string | null;
            eventTriggers: import('../../../prisma-client').$Enums.WebhookTriggerEvents[];
        }[];
        owner: {
            id: number;
        } | null;
        hidden: boolean;
        team: {
            name: string;
            id: number;
            members: {
                user: {
                    name: string | null;
                    id: number;
                    username: string | null;
                    email: string;
                    locale: string | null;
                    avatarUrl: string | null;
                    defaultScheduleId: number | null;
                    isPlatformManaged: boolean;
                    eventTypes: {
                        slug: string;
                    }[];
                };
                role: import('../../../prisma-client').$Enums.MembershipRole;
                accepted: boolean;
            }[];
            slug: string | null;
            parentId: number | null;
            parent: {
                slug: string | null;
                organizationSettings: {
                    lockEventTypeCreationForUsers: boolean;
                } | null;
            } | null;
            rrTimestampBasis: import('../../../prisma-client').$Enums.RRTimestampBasis;
        } | null;
        workflows: ({
            workflow: {
                name: string;
                id: number;
                time: number | null;
                team: {
                    name: string;
                    id: number;
                    members: {
                        id: number;
                        role: import('../../../prisma-client').$Enums.MembershipRole;
                        userId: number;
                        teamId: number;
                        createdAt: Date | null;
                        updatedAt: Date | null;
                        disableImpersonation: boolean;
                        accepted: boolean;
                        customRoleId: string | null;
                    }[];
                    slug: string | null;
                } | null;
                trigger: import('../../../prisma-client').$Enums.WorkflowTriggerEvents;
                userId: number | null;
                teamId: number | null;
                steps: {
                    id: number;
                    template: import('../../../prisma-client').$Enums.WorkflowTemplates;
                    action: import('../../../prisma-client').$Enums.WorkflowActions;
                    workflowId: number;
                    stepNumber: number;
                    sendTo: string | null;
                    reminderBody: string | null;
                    emailSubject: string | null;
                    numberRequired: boolean | null;
                    sender: string | null;
                    numberVerificationPending: boolean;
                    includeCalendarEvent: boolean;
                    verifiedAt: Date | null;
                }[];
                timeUnit: import('../../../prisma-client').$Enums.TimeUnit | null;
                activeOn: {
                    eventType: {
                        id: number;
                        title: string;
                        parentId: number | null;
                        _count: {
                            children: number;
                        };
                    };
                }[];
            };
        } & {
            id: number;
            eventTypeId: number;
            workflowId: number;
        })[];
        hosts: {
            weight: number | null;
            userId: number;
            scheduleId: number | null;
            isFixed: boolean;
            priority: number | null;
        }[];
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        locations: Prisma.JsonValue;
        offsetStart: number;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        forwardParamsSuccessRedirect: boolean | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        maxActiveBookingsPerBooker: number | null;
        maxActiveBookingPerBookerOfferReschedule: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
        hashedLink: {
            link: string;
            id: number;
            eventTypeId: number;
        }[];
        destinationCalendar: {
            id: number;
            userId: number | null;
            credentialId: number | null;
            eventTypeId: number | null;
            integration: string;
            externalId: string;
            primaryEmail: string | null;
            delegationCredentialId: string | null;
            domainWideDelegationCredentialId: string | null;
        } | null;
        customInputs: {
            id: number;
            type: import('../../../prisma-client').$Enums.EventTypeCustomInputType;
            label: string;
            required: boolean;
            placeholder: string;
            options: Prisma.JsonValue;
            eventTypeId: number;
        }[];
        parent: {
            id: number;
            teamId: number | null;
        } | null;
        instantMeetingSchedule: {
            name: string;
            id: number;
        } | null;
        aiPhoneCallConfig: {
            id: number;
            enabled: boolean;
            eventTypeId: number;
            templateType: string;
            schedulerName: string | null;
            generalPrompt: string | null;
            yourPhoneNumber: string;
            numberToCall: string;
            guestName: string | null;
            guestEmail: string | null;
            guestCompany: string | null;
            beginMessage: string | null;
            llmId: string | null;
        } | null;
        fieldTranslations: {
            field: import('../../../prisma-client').$Enums.EventTypeAutoTranslatedField;
            targetLocale: string;
            translatedText: string;
        }[];
        calVideoSettings: {
            disableRecordingForOrganizer: boolean;
            disableRecordingForGuests: boolean;
            enableAutomaticTranscription: boolean;
            redirectUrlOnExit: string | null;
            disableTranscriptionForGuests: boolean;
            disableTranscriptionForOrganizer: boolean;
        } | null;
        restrictionSchedule: {
            name: string;
            id: number;
        } | null;
    } | null>;
    static findByIdMinimal({ id }: {
        id: number;
    }): Promise<{
        id: number;
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        forwardParamsSuccessRedirect: boolean | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        maxActiveBookingsPerBooker: number | null;
        maxActiveBookingPerBookerOfferReschedule: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
    } | null>;
    static findByIdIncludeHostsAndTeam({ id }: {
        id: number;
    }): Promise<{
        hosts: ({
            user: {
                name: string | null;
                id: number;
                email: string;
                credentials: {
                    key: Prisma.JsonValue;
                    user: {
                        email: string;
                    } | null;
                    id: number;
                    type: string;
                    userId: number | null;
                    teamId: number | null;
                    delegationCredentialId: string | null;
                    appId: string | null;
                    invalid: boolean | null;
                }[];
                selectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
            };
            weight: number | null;
            createdAt: Date;
            priority: number | null;
        } & {
            user: Omit<{
                selectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
            }, "selectedCalendars"> & {
                allSelectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
                userLevelSelectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
            };
        })[];
        team: {
            parentId: number | null;
            rrResetInterval: import('../../../prisma-client').$Enums.RRResetInterval | null;
            rrTimestampBasis: import('../../../prisma-client').$Enums.RRTimestampBasis;
        } | null;
        id: number;
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        forwardParamsSuccessRedirect: boolean | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        maxActiveBookingsPerBooker: number | null;
        maxActiveBookingPerBookerOfferReschedule: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
    } | null>;
    static findAllByTeamIdIncludeManagedEventTypes({ teamId }: {
        teamId?: number;
    }): Promise<{
        id: number;
        length: number;
        title: string;
        metadata: Prisma.JsonValue;
        description: string | null;
        price: number;
        hidden: boolean;
        currency: string;
        slug: string;
        userId: number | null;
        interfaceLanguage: string | null;
        position: number;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        useEventLevelSelectedCalendars: boolean;
        eventName: string | null;
        parentId: number | null;
        bookingFields: Prisma.JsonValue;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        lockTimeZoneToggleOnBookingPage: boolean;
        requiresConfirmation: boolean;
        requiresConfirmationWillBlockSlot: boolean;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        disableCancelling: boolean | null;
        disableRescheduling: boolean | null;
        seatsShowAttendees: boolean | null;
        seatsShowAvailabilityCount: boolean | null;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        scheduleId: number | null;
        allowReschedulingCancelledBookings: boolean | null;
        slotInterval: number | null;
        successRedirectUrl: string | null;
        forwardParamsSuccessRedirect: boolean | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        maxActiveBookingsPerBooker: number | null;
        maxActiveBookingPerBookerOfferReschedule: boolean;
        customReplyToEmail: string | null;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
    }[]>;
    static findForSlots({ id }: {
        id: number;
    }): Promise<{
        hosts: ({
            schedule: {
                id: number;
                availability: {
                    days: number[];
                    date: Date | null;
                    startTime: Date;
                    endTime: Date;
                }[];
                timeZone: string | null;
            } | null;
            user: {
                schedules: {
                    id: number;
                    availability: {
                        days: number[];
                        date: Date | null;
                        startTime: Date;
                        endTime: Date;
                    }[];
                    timeZone: string | null;
                }[];
                id: number;
                username: string | null;
                email: string;
                availability: {
                    id: number;
                    days: number[];
                    date: Date | null;
                    userId: number | null;
                    eventTypeId: number | null;
                    scheduleId: number | null;
                    startTime: Date;
                    endTime: Date;
                }[];
                credentials: {
                    key: Prisma.JsonValue;
                    user: {
                        email: string;
                    } | null;
                    id: number;
                    type: string;
                    userId: number | null;
                    teamId: number | null;
                    delegationCredentialId: string | null;
                    appId: string | null;
                    invalid: boolean | null;
                }[];
                timeZone: string;
                selectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
                startTime: number;
                endTime: number;
                bufferTime: number;
                defaultScheduleId: number | null;
                timeFormat: number | null;
                travelSchedules: {
                    id: number;
                    userId: number;
                    timeZone: string;
                    startDate: Date;
                    endDate: Date | null;
                    prevTimeZone: string | null;
                }[];
            };
            weight: number | null;
            createdAt: Date;
            isFixed: boolean;
            priority: number | null;
        } & {
            user: Omit<{
                selectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
            }, "selectedCalendars"> & {
                allSelectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
                userLevelSelectedCalendars: {
                    error: string | null;
                    id: string;
                    userId: number;
                    credentialId: number | null;
                    eventTypeId: number | null;
                    integration: string;
                    externalId: string;
                    delegationCredentialId: string | null;
                    domainWideDelegationCredentialId: string | null;
                    googleChannelId: string | null;
                    googleChannelKind: string | null;
                    googleChannelResourceId: string | null;
                    googleChannelResourceUri: string | null;
                    googleChannelExpiration: string | null;
                    lastErrorAt: Date | null;
                    watchAttempts: number;
                    unwatchAttempts: number;
                    maxAttempts: number;
                }[];
            };
        })[];
        users: (Omit<{
            schedules: {
                id: number;
                availability: {
                    days: number[];
                    date: Date | null;
                    startTime: Date;
                    endTime: Date;
                }[];
                timeZone: string | null;
            }[];
            id: number;
            username: string | null;
            email: string;
            availability: {
                id: number;
                days: number[];
                date: Date | null;
                userId: number | null;
                eventTypeId: number | null;
                scheduleId: number | null;
                startTime: Date;
                endTime: Date;
            }[];
            credentials: {
                key: Prisma.JsonValue;
                user: {
                    email: string;
                } | null;
                id: number;
                type: string;
                userId: number | null;
                teamId: number | null;
                delegationCredentialId: string | null;
                appId: string | null;
                invalid: boolean | null;
            }[];
            timeZone: string;
            selectedCalendars: {
                error: string | null;
                id: string;
                userId: number;
                credentialId: number | null;
                eventTypeId: number | null;
                integration: string;
                externalId: string;
                delegationCredentialId: string | null;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
                lastErrorAt: Date | null;
                watchAttempts: number;
                unwatchAttempts: number;
                maxAttempts: number;
            }[];
            startTime: number;
            endTime: number;
            bufferTime: number;
            defaultScheduleId: number | null;
            timeFormat: number | null;
            travelSchedules: {
                id: number;
                userId: number;
                timeZone: string;
                startDate: Date;
                endDate: Date | null;
                prevTimeZone: string | null;
            }[];
        }, "selectedCalendars"> & {
            allSelectedCalendars: {
                error: string | null;
                id: string;
                userId: number;
                credentialId: number | null;
                eventTypeId: number | null;
                integration: string;
                externalId: string;
                delegationCredentialId: string | null;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
                lastErrorAt: Date | null;
                watchAttempts: number;
                unwatchAttempts: number;
                maxAttempts: number;
            }[];
            userLevelSelectedCalendars: {
                error: string | null;
                id: string;
                userId: number;
                credentialId: number | null;
                eventTypeId: number | null;
                integration: string;
                externalId: string;
                delegationCredentialId: string | null;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
                lastErrorAt: Date | null;
                watchAttempts: number;
                unwatchAttempts: number;
                maxAttempts: number;
            }[];
        })[];
        metadata: {
            config?: {
                useHostSchedulesForTeamEvent?: boolean | undefined;
            } | undefined;
            smartContractAddress?: string | undefined;
            blockchainId?: number | undefined;
            multipleDuration?: number[] | undefined;
            giphyThankYouPage?: string | undefined;
            additionalNotesRequired?: boolean | undefined;
            disableSuccessPage?: boolean | undefined;
            disableStandardEmails?: {
                all?: {
                    host?: boolean | undefined;
                    attendee?: boolean | undefined;
                } | undefined;
                confirmation?: {
                    host?: boolean | undefined;
                    attendee?: boolean | undefined;
                } | undefined;
            } | undefined;
            managedEventConfig?: {
                unlockedFields?: {
                    schedule?: true | undefined;
                    profile?: true | undefined;
                    bookings?: true | undefined;
                    users?: true | undefined;
                    children?: true | undefined;
                    length?: true | undefined;
                    title?: true | undefined;
                    metadata?: true | undefined;
                    description?: true | undefined;
                    price?: true | undefined;
                    webhooks?: true | undefined;
                    owner?: true | undefined;
                    hidden?: true | undefined;
                    team?: true | undefined;
                    availability?: true | undefined;
                    workflows?: true | undefined;
                    hosts?: true | undefined;
                    currency?: true | undefined;
                    slug?: true | undefined;
                    userId?: true | undefined;
                    interfaceLanguage?: true | undefined;
                    position?: true | undefined;
                    locations?: true | undefined;
                    offsetStart?: true | undefined;
                    profileId?: true | undefined;
                    teamId?: true | undefined;
                    useEventLevelSelectedCalendars?: true | undefined;
                    eventName?: true | undefined;
                    parentId?: true | undefined;
                    bookingFields?: true | undefined;
                    timeZone?: true | undefined;
                    periodType?: true | undefined;
                    periodStartDate?: true | undefined;
                    periodEndDate?: true | undefined;
                    periodDays?: true | undefined;
                    periodCountCalendarDays?: true | undefined;
                    lockTimeZoneToggleOnBookingPage?: true | undefined;
                    requiresConfirmation?: true | undefined;
                    requiresConfirmationWillBlockSlot?: true | undefined;
                    requiresConfirmationForFreeEmail?: true | undefined;
                    requiresBookerEmailVerification?: true | undefined;
                    canSendCalVideoTranscriptionEmails?: true | undefined;
                    autoTranslateDescriptionEnabled?: true | undefined;
                    recurringEvent?: true | undefined;
                    disableGuests?: true | undefined;
                    hideCalendarNotes?: true | undefined;
                    hideCalendarEventDetails?: true | undefined;
                    minimumBookingNotice?: true | undefined;
                    beforeEventBuffer?: true | undefined;
                    afterEventBuffer?: true | undefined;
                    seatsPerTimeSlot?: true | undefined;
                    onlyShowFirstAvailableSlot?: true | undefined;
                    disableCancelling?: true | undefined;
                    disableRescheduling?: true | undefined;
                    seatsShowAttendees?: true | undefined;
                    seatsShowAvailabilityCount?: true | undefined;
                    schedulingType?: true | undefined;
                    scheduleId?: true | undefined;
                    allowReschedulingCancelledBookings?: true | undefined;
                    slotInterval?: true | undefined;
                    successRedirectUrl?: true | undefined;
                    forwardParamsSuccessRedirect?: true | undefined;
                    bookingLimits?: true | undefined;
                    durationLimits?: true | undefined;
                    isInstantEvent?: true | undefined;
                    instantMeetingExpiryTimeOffsetInSeconds?: true | undefined;
                    instantMeetingScheduleId?: true | undefined;
                    instantMeetingParameters?: true | undefined;
                    assignAllTeamMembers?: true | undefined;
                    assignRRMembersUsingSegment?: true | undefined;
                    rrSegmentQueryValue?: true | undefined;
                    useEventTypeDestinationCalendarEmail?: true | undefined;
                    isRRWeightsEnabled?: true | undefined;
                    maxLeadThreshold?: true | undefined;
                    includeNoShowInRRCalculation?: true | undefined;
                    allowReschedulingPastBookings?: true | undefined;
                    hideOrganizerEmail?: true | undefined;
                    maxActiveBookingsPerBooker?: true | undefined;
                    maxActiveBookingPerBookerOfferReschedule?: true | undefined;
                    customReplyToEmail?: true | undefined;
                    eventTypeColor?: true | undefined;
                    rescheduleWithSameRoundRobinHost?: true | undefined;
                    secondaryEmailId?: true | undefined;
                    useBookerTimezone?: true | undefined;
                    restrictionScheduleId?: true | undefined;
                    hashedLink?: true | undefined;
                    destinationCalendar?: true | undefined;
                    customInputs?: true | undefined;
                    parent?: true | undefined;
                    instantMeetingSchedule?: true | undefined;
                    aiPhoneCallConfig?: true | undefined;
                    fieldTranslations?: true | undefined;
                    selectedCalendars?: true | undefined;
                    calVideoSettings?: true | undefined;
                    secondaryEmail?: true | undefined;
                    restrictionSchedule?: true | undefined;
                    _count?: true | undefined;
                } | undefined;
            } | undefined;
            requiresConfirmationThreshold?: {
                time: number;
                unit: "months" | "years" | "days" | "hours" | "minutes" | "milliseconds" | "seconds" | "dates";
            } | undefined;
            bookerLayouts?: {
                enabledLayouts: import('../../../prisma/zod-utils').BookerLayouts[];
                defaultLayout: import('../../../prisma/zod-utils').BookerLayouts;
            } | null | undefined;
            apps?: unknown;
        } | null;
        rrSegmentQueryValue: {
            type: "group";
            id?: string | undefined;
            children1?: Record<string, {
                type?: string | undefined;
                properties?: {
                    field?: any;
                    operator?: any;
                    value?: any;
                    valueSrc?: any;
                    valueError?: (string | null)[] | undefined;
                    valueType?: any;
                } | undefined;
            }> | undefined;
            properties?: any;
        } | {
            type: "switch_group";
            id?: string | undefined;
            children1?: Record<string, {
                type?: string | undefined;
                properties?: {
                    field?: any;
                    operator?: any;
                    value?: any;
                    valueSrc?: any;
                    valueError?: (string | null)[] | undefined;
                    valueType?: any;
                } | undefined;
            }> | undefined;
            properties?: any;
        } | null | undefined;
        schedule: {
            id: number;
            availability: {
                days: number[];
                date: Date | null;
                startTime: Date;
                endTime: Date;
            }[];
            timeZone: string | null;
        } | null;
        id: number;
        length: number;
        team: {
            id: number;
            parentId: number | null;
            bookingLimits: Prisma.JsonValue;
            rrResetInterval: import('../../../prisma-client').$Enums.RRResetInterval | null;
            rrTimestampBasis: import('../../../prisma-client').$Enums.RRTimestampBasis;
            includeManagedEventsInLimits: boolean;
        } | null;
        availability: {
            days: number[];
            date: Date | null;
            startTime: Date;
            endTime: Date;
        }[];
        slug: string;
        offsetStart: number;
        useEventLevelSelectedCalendars: boolean;
        timeZone: string | null;
        periodType: import('../../../prisma-client').$Enums.PeriodType;
        periodStartDate: Date | null;
        periodEndDate: Date | null;
        periodDays: number | null;
        periodCountCalendarDays: boolean | null;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        schedulingType: import('../../../prisma-client').$Enums.SchedulingType | null;
        slotInterval: number | null;
        bookingLimits: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        includeNoShowInRRCalculation: boolean;
        allowReschedulingPastBookings: boolean;
        hideOrganizerEmail: boolean;
        rescheduleWithSameRoundRobinHost: boolean;
        useBookerTimezone: boolean;
        restrictionScheduleId: number | null;
        parent: {
            team: {
                id: number;
                bookingLimits: Prisma.JsonValue;
                includeManagedEventsInLimits: boolean;
            } | null;
        } | null;
    } | null>;
    static getSelectedCalendarsFromUser<TSelectedCalendar extends {
        eventTypeId: number | null;
    }>({ user, eventTypeId, }: {
        user: UserWithSelectedCalendars<TSelectedCalendar>;
        eventTypeId: number;
    }): TSelectedCalendar[];
}
export {};
//# sourceMappingURL=eventType.d.ts.map