import { MembershipRole, SchedulingType } from '../../prisma/enums';
type User = {
    id: number;
    profile: {
        upId: string;
    };
};
type Filters = {
    teamIds?: number[];
    upIds?: string[];
    schedulingTypes?: SchedulingType[];
};
export type EventTypesByViewer = Awaited<ReturnType<typeof getEventTypesByViewer>>;
export declare const getEventTypesByViewer: (user: User, filters?: Filters, forRoutingForms?: boolean) => Promise<{
    allUsersAcrossAllEventTypes: Map<number, {
        id: number;
        name: string | null;
        username: string | null;
        avatarUrl: string | null;
    } & {
        nonProfileUsername: string | null;
        profile: import("@calcom/types/UserProfile").UserProfile;
    }>;
    eventTypeGroups: {
        eventTypes: {
            userIds: number[];
            safeDescription: string | undefined;
            metadata: {
                smartContractAddress?: string | undefined;
                blockchainId?: number | undefined;
                multipleDuration?: number[] | undefined;
                giphyThankYouPage?: string | undefined;
                apps?: {
                    alby?: {
                        price: number;
                        currency: string;
                        appCategories?: string[] | undefined;
                        paymentOption?: string | undefined;
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                    } | undefined;
                    basecamp3?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    campsite?: {} | undefined;
                    closecom?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    dailyvideo?: {} | undefined;
                    fathom?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        trackingId?: string | undefined;
                    } | undefined;
                    feishucalendar?: {} | undefined;
                    ga4?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        trackingId?: string | undefined;
                    } | undefined;
                    giphy?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        thankYouPage?: string | undefined;
                    } | undefined;
                    googlecalendar?: {} | undefined;
                    googlevideo?: {} | undefined;
                    gtm?: {
                        trackingId: string;
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    hubspot?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    intercom?: {} | undefined;
                    jelly?: {} | undefined;
                    jitsivideo?: {} | undefined;
                    larkcalendar?: {} | undefined;
                    make?: {} | undefined;
                    matomo?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        MATOMO_URL?: string | undefined;
                        SITE_ID?: string | undefined;
                    } | undefined;
                    metapixel?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        trackingId?: string | undefined;
                    } | undefined;
                    "mock-payment-app"?: {
                        price: number;
                        currency: string;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        paymentOption?: string | undefined;
                        enabled?: boolean | undefined;
                    } | undefined;
                    nextcloudtalk?: {} | undefined;
                    office365calendar?: {
                        client_id: string;
                        client_secret: string;
                    } | undefined;
                    office365video?: {
                        client_id: string;
                        client_secret: string;
                    } | undefined;
                    paypal?: {
                        price: number;
                        currency: string;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        paymentOption?: string | undefined;
                        enabled?: boolean | undefined;
                    } | undefined;
                    "pipedrive-crm"?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    plausible?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        PLAUSIBLE_URL?: string | undefined;
                        trackingId?: string | undefined;
                    } | undefined;
                    posthog?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        TRACKING_ID?: string | undefined;
                        API_HOST?: string | undefined;
                    } | undefined;
                    qr_code?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    "routing-forms"?: any;
                    salesforce?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        roundRobinLeadSkip?: boolean | undefined;
                        roundRobinSkipCheckRecordOn?: import('../../app-store/salesforce/lib/recordEnum').SalesforceRecordEnum | undefined;
                        skipContactCreation?: boolean | undefined;
                        createEventOn?: import('../../app-store/salesforce/lib/recordEnum').SalesforceRecordEnum | undefined;
                        createNewContactUnderAccount?: boolean | undefined;
                        createLeadIfAccountNull?: boolean | undefined;
                        onBookingWriteToEventObject?: boolean | undefined;
                        onBookingWriteToEventObjectMap?: Record<string, any> | undefined;
                        createEventOnLeadCheckForContact?: boolean | undefined;
                        onBookingChangeRecordOwner?: boolean | undefined;
                        onBookingChangeRecordOwnerName?: string | undefined;
                    } | undefined;
                    shimmervideo?: {} | undefined;
                    stripe?: {
                        price: number;
                        currency: string;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        paymentOption?: string | undefined;
                        enabled?: boolean | undefined;
                    } | undefined;
                    tandemvideo?: {} | undefined;
                    "booking-pages-tag"?: {
                        trackingId: string;
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    "event-type-app-card"?: {
                        isSunrise: boolean;
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    twipla?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        SITE_ID?: string | undefined;
                    } | undefined;
                    umami?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                        SITE_ID?: string | undefined;
                        SCRIPT_URL?: string | undefined;
                    } | undefined;
                    vital?: {} | undefined;
                    webex?: {} | undefined;
                    wordpress?: {
                        isSunrise: boolean;
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    zapier?: {} | undefined;
                    "zoho-bigin"?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    zohocalendar?: {} | undefined;
                    zohocrm?: {
                        enabled?: boolean | undefined;
                        credentialId?: number | undefined;
                        appCategories?: string[] | undefined;
                    } | undefined;
                    zoomvideo?: {} | undefined;
                } | 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;
                        length?: true | undefined;
                        position?: true | undefined;
                        title?: true | undefined;
                        metadata?: true | undefined;
                        hidden?: true | undefined;
                        parent?: true | undefined;
                        price?: true | undefined;
                        currency?: true | undefined;
                        description?: true | undefined;
                        children?: true | undefined;
                        userId?: true | undefined;
                        timeZone?: true | undefined;
                        slug?: true | undefined;
                        locations?: true | undefined;
                        offsetStart?: true | undefined;
                        profileId?: true | undefined;
                        teamId?: true | undefined;
                        eventName?: true | undefined;
                        parentId?: true | undefined;
                        bookingFields?: 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;
                        requiresBookerEmailVerification?: 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;
                        seatsShowAttendees?: true | undefined;
                        seatsShowAvailabilityCount?: true | undefined;
                        schedulingType?: true | undefined;
                        scheduleId?: 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;
                        assignAllTeamMembers?: true | undefined;
                        useEventTypeDestinationCalendarEmail?: true | undefined;
                        isRRWeightsEnabled?: true | undefined;
                        eventTypeColor?: true | undefined;
                        rescheduleWithSameRoundRobinHost?: true | undefined;
                        secondaryEmailId?: true | undefined;
                        hosts?: true | undefined;
                        users?: true | undefined;
                        owner?: true | undefined;
                        team?: true | undefined;
                        hashedLink?: true | undefined;
                        availability?: true | undefined;
                        webhooks?: true | undefined;
                        destinationCalendar?: true | undefined;
                        customInputs?: true | undefined;
                        workflows?: true | undefined;
                        instantMeetingSchedule?: true | undefined;
                        aiPhoneCallConfig?: true | undefined;
                        secondaryEmail?: true | undefined;
                        _count?: true | undefined;
                    } | undefined;
                } | undefined;
                requiresConfirmationThreshold?: {
                    time: number;
                    unit: "milliseconds" | "seconds" | "minutes" | "hours" | "days" | "months" | "years" | "dates";
                } | undefined;
                config?: {
                    useHostSchedulesForTeamEvent?: boolean | undefined;
                } | undefined;
                bookerLayouts?: {
                    enabledLayouts: import('../../prisma/zod-utils').BookerLayouts[];
                    defaultLayout: import('../../prisma/zod-utils').BookerLayouts;
                } | null | undefined;
            } | null;
            children: {
                users: ({
                    id: number;
                    name: string | null;
                    username: string | null;
                    avatarUrl: string | null;
                } & {
                    nonProfileUsername: string | null;
                    profile: import("@calcom/types/UserProfile").UserProfile;
                })[];
                length: number;
                position: number;
                title: string;
                metadata: import('../../prisma-client').Prisma.JsonValue;
                hidden: boolean;
                id: number;
                price: number;
                currency: string;
                description: string | null;
                userId: number | null;
                timeZone: string | null;
                slug: string;
                locations: import('../../prisma-client').Prisma.JsonValue;
                offsetStart: number;
                profileId: number | null;
                teamId: number | null;
                eventName: string | null;
                parentId: number | null;
                bookingFields: import('../../prisma-client').Prisma.JsonValue;
                periodType: import('../../prisma-client').$Enums.PeriodType;
                periodStartDate: Date | null;
                periodEndDate: Date | null;
                periodDays: number | null;
                periodCountCalendarDays: boolean | null;
                lockTimeZoneToggleOnBookingPage: boolean;
                requiresConfirmation: boolean;
                requiresConfirmationWillBlockSlot: boolean;
                requiresBookerEmailVerification: boolean;
                recurringEvent: import('../../prisma-client').Prisma.JsonValue;
                disableGuests: boolean;
                hideCalendarNotes: boolean;
                hideCalendarEventDetails: boolean;
                minimumBookingNotice: number;
                beforeEventBuffer: number;
                afterEventBuffer: number;
                seatsPerTimeSlot: number | null;
                onlyShowFirstAvailableSlot: boolean;
                seatsShowAttendees: boolean | null;
                seatsShowAvailabilityCount: boolean | null;
                schedulingType: import('../../prisma-client').$Enums.SchedulingType | null;
                scheduleId: number | null;
                slotInterval: number | null;
                successRedirectUrl: string | null;
                forwardParamsSuccessRedirect: boolean | null;
                bookingLimits: import('../../prisma-client').Prisma.JsonValue;
                durationLimits: import('../../prisma-client').Prisma.JsonValue;
                isInstantEvent: boolean;
                instantMeetingExpiryTimeOffsetInSeconds: number;
                instantMeetingScheduleId: number | null;
                assignAllTeamMembers: boolean;
                useEventTypeDestinationCalendarEmail: boolean;
                isRRWeightsEnabled: boolean;
                eventTypeColor: import('../../prisma-client').Prisma.JsonValue;
                rescheduleWithSameRoundRobinHost: boolean;
                secondaryEmailId: number | null;
            }[];
            length: number;
            position: number;
            title: string;
            hidden: boolean;
            id: number;
            price: number;
            currency: string;
            description: string | null;
            userId: number | null;
            timeZone: string | null;
            slug: string;
            locations: import('../../prisma-client').Prisma.JsonValue;
            offsetStart: number;
            profileId: number | null;
            teamId: number | null;
            eventName: string | null;
            parentId: number | null;
            bookingFields: import('../../prisma-client').Prisma.JsonValue;
            periodType: import('../../prisma-client').$Enums.PeriodType;
            periodStartDate: Date | null;
            periodEndDate: Date | null;
            periodDays: number | null;
            periodCountCalendarDays: boolean | null;
            lockTimeZoneToggleOnBookingPage: boolean;
            requiresConfirmation: boolean;
            requiresConfirmationWillBlockSlot: boolean;
            requiresBookerEmailVerification: boolean;
            recurringEvent: import('../../prisma-client').Prisma.JsonValue;
            disableGuests: boolean;
            hideCalendarNotes: boolean;
            hideCalendarEventDetails: boolean;
            minimumBookingNotice: number;
            beforeEventBuffer: number;
            afterEventBuffer: number;
            seatsPerTimeSlot: number | null;
            onlyShowFirstAvailableSlot: boolean;
            seatsShowAttendees: boolean | null;
            seatsShowAvailabilityCount: boolean | null;
            schedulingType: import('../../prisma-client').$Enums.SchedulingType | null;
            scheduleId: number | null;
            slotInterval: number | null;
            successRedirectUrl: string | null;
            bookingLimits: import('../../prisma-client').Prisma.JsonValue;
            durationLimits: import('../../prisma-client').Prisma.JsonValue;
            isInstantEvent: boolean;
            instantMeetingExpiryTimeOffsetInSeconds: number;
            instantMeetingScheduleId: number | null;
            assignAllTeamMembers: boolean;
            useEventTypeDestinationCalendarEmail: boolean;
            isRRWeightsEnabled: boolean;
            eventTypeColor: import('../../prisma-client').Prisma.JsonValue;
            rescheduleWithSameRoundRobinHost: boolean;
            secondaryEmailId: number | null;
            hosts: ({
                user: {
                    id: number;
                    name: string | null;
                    username: string | null;
                    avatarUrl: string | null;
                };
            } & {
                eventTypeId: number;
                userId: number;
                scheduleId: number | null;
                isFixed: boolean;
                priority: number | null;
                weight: number | null;
                weightAdjustment: number | null;
            })[];
            hashedLink: {
                link: string;
                id: number;
                eventTypeId: number;
            }[];
            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;
        }[];
        teamId?: number | null;
        parentId?: number | null;
        bookerUrl: string;
        membershipRole?: MembershipRole | null;
        profile: {
            slug: (string | null) | null;
            name: string | null;
            image: string;
            eventTypesLockedByOrg?: boolean;
        };
        metadata: {
            membershipCount: number;
            readOnly: boolean;
        };
    }[];
    profiles: {
        teamId: number | null | undefined;
        membershipRole: MembershipRole | null | undefined;
        membershipCount: number;
        readOnly: boolean;
        slug: (string | null) | null;
        name: string | null;
        image: string;
        eventTypesLockedByOrg?: boolean;
    }[];
}>;
export declare function compareMembership(mship1: MembershipRole, mship2: MembershipRole): boolean;
export {};
//# sourceMappingURL=getEventTypesByViewer.d.ts.map