import type { GetAvailabilityUser, IFromUser, IToUser } from "@calcom/core/getUserAvailability";
import { Prisma } from '../../../../../prisma/client';
import type { GetScheduleOptions } from "./getSchedule.handler";
import type { TGetScheduleInputSchema } from "./getSchedule.schema";
export declare function getEventType(input: TGetScheduleInputSchema, organizationDetails: {
    currentOrgDomain: string | null;
    isValidOrgDomain: boolean;
}): Promise<{
    hosts: ({
        schedule: {
            id: number;
            timeZone: string | null;
            availability: {
                date: Date | null;
                days: number[];
                startTime: Date;
                endTime: Date;
            }[];
        } | null;
        user: {
            schedules: {
                id: number;
                timeZone: string | null;
                availability: {
                    date: Date | null;
                    days: number[];
                    startTime: Date;
                    endTime: Date;
                }[];
            }[];
            id: number;
            email: string;
            timeZone: string;
            availability: {
                date: Date | null;
                days: number[];
                id: number;
                eventTypeId: number | null;
                userId: number | null;
                scheduleId: number | null;
                startTime: Date;
                endTime: Date;
            }[];
            selectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
            username: string | null;
            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;
            }[];
            credentials: {
                key: Prisma.JsonValue;
                invalid: boolean | null;
                type: string;
                id: number;
                userId: number | null;
                user: {
                    email: string;
                } | null;
                teamId: number | null;
                appId: string | null;
            }[];
        };
        createdAt: Date;
        isFixed: boolean;
        priority: number | null;
        weight: number | null;
    } & {
        user: Omit<{
            selectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
        }, "selectedCalendars"> & {
            allSelectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
            userLevelSelectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
        };
    })[];
    users: (Omit<{
        schedules: {
            id: number;
            timeZone: string | null;
            availability: {
                date: Date | null;
                days: number[];
                startTime: Date;
                endTime: Date;
            }[];
        }[];
        id: number;
        email: string;
        timeZone: string;
        availability: {
            date: Date | null;
            days: number[];
            id: number;
            eventTypeId: number | null;
            userId: number | null;
            scheduleId: number | null;
            startTime: Date;
            endTime: Date;
        }[];
        selectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
        username: string | null;
        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;
        }[];
        credentials: {
            key: Prisma.JsonValue;
            invalid: boolean | null;
            type: string;
            id: number;
            userId: number | null;
            user: {
                email: string;
            } | null;
            teamId: number | null;
            appId: string | null;
        }[];
    }, "selectedCalendars"> & {
        allSelectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
        userLevelSelectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
    })[];
    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;
                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;
                useEventLevelSelectedCalendars?: 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;
                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;
                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;
                instantMeetingParameters?: true | undefined;
                assignAllTeamMembers?: true | undefined;
                assignRRMembersUsingSegment?: true | undefined;
                rrSegmentQueryValue?: true | undefined;
                useEventTypeDestinationCalendarEmail?: true | undefined;
                isRRWeightsEnabled?: true | undefined;
                maxLeadThreshold?: true | undefined;
                allowReschedulingPastBookings?: 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;
                fieldTranslations?: true | undefined;
                selectedCalendars?: true | undefined;
                secondaryEmail?: true | undefined;
                _count?: true | undefined;
            } | undefined;
        } | undefined;
        requiresConfirmationThreshold?: {
            time: number;
            unit: "milliseconds" | "seconds" | "minutes" | "hours" | "days" | "months" | "years" | "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;
        timeZone: string | null;
        availability: {
            date: Date | null;
            days: number[];
            startTime: Date;
            endTime: Date;
        }[];
    } | null;
    length: number;
    id: number;
    parent: {
        team: {
            id: number;
            bookingLimits: Prisma.JsonValue;
            includeManagedEventsInLimits: boolean;
        } | null;
    } | null;
    timeZone: string | null;
    slug: string;
    offsetStart: number;
    useEventLevelSelectedCalendars: boolean;
    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;
    allowReschedulingPastBookings: boolean;
    rescheduleWithSameRoundRobinHost: boolean;
    team: {
        id: number;
        parentId: number | null;
        bookingLimits: Prisma.JsonValue;
        includeManagedEventsInLimits: boolean;
    } | null;
    availability: {
        date: Date | null;
        days: number[];
        startTime: Date;
        endTime: Date;
    }[];
} | null>;
export declare function getDynamicEventType(input: TGetScheduleInputSchema, organizationDetails: {
    currentOrgDomain: string | null;
    isValidOrgDomain: boolean;
}): Promise<{
    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;
                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;
                useEventLevelSelectedCalendars?: 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;
                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;
                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;
                instantMeetingParameters?: true | undefined;
                assignAllTeamMembers?: true | undefined;
                assignRRMembersUsingSegment?: true | undefined;
                rrSegmentQueryValue?: true | undefined;
                useEventTypeDestinationCalendarEmail?: true | undefined;
                isRRWeightsEnabled?: true | undefined;
                maxLeadThreshold?: true | undefined;
                allowReschedulingPastBookings?: 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;
                fieldTranslations?: true | undefined;
                selectedCalendars?: true | undefined;
                secondaryEmail?: true | undefined;
                _count?: true | undefined;
            } | undefined;
        } | undefined;
        requiresConfirmationThreshold?: {
            time: number;
            unit: "milliseconds" | "seconds" | "minutes" | "hours" | "days" | "months" | "years" | "dates";
        } | undefined;
        bookerLayouts?: {
            enabledLayouts: import('../../../../../prisma/zod-utils').BookerLayouts[];
            defaultLayout: import('../../../../../prisma/zod-utils').BookerLayouts;
        } | null | 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;
            hitpay?: {
                price: number;
                currency: string;
                credentialId?: number | undefined;
                appCategories?: string[] | undefined;
                paymentOption?: string | undefined;
                enabled?: boolean | undefined;
            } | undefined;
            hubspot?: {
                enabled?: boolean | undefined;
                credentialId?: number | undefined;
                appCategories?: string[] | undefined;
            } | undefined;
            insihts?: {
                enabled?: boolean | undefined;
                credentialId?: number | undefined;
                appCategories?: string[] | undefined;
                SITE_ID?: string | undefined;
                SCRIPT_URL?: 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/enums').SalesforceRecordEnum | undefined;
                ifFreeEmailDomainSkipOwnerCheck?: boolean | undefined;
                skipContactCreation?: boolean | undefined;
                createEventOn?: import('../../../../../app-store/salesforce/lib/enums').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;
                sendNoShowAttendeeData?: boolean | undefined;
                sendNoShowAttendeeDataField?: string | undefined;
                onBookingWriteToRecord?: boolean | undefined;
                onBookingWriteToRecordFields?: Record<string, {
                    value: string;
                    fieldType: import('../../../../../app-store/salesforce/lib/enums').SalesforceFieldType;
                    whenToWrite: import('../../../../../app-store/salesforce/lib/enums').WhenToWriteToRecord;
                }> | undefined;
                ignoreGuests?: boolean | undefined;
            } | undefined;
            shimmervideo?: {} | undefined;
            stripe?: {
                price: number;
                currency: string;
                credentialId?: number | undefined;
                appCategories?: string[] | undefined;
                paymentOption?: string | undefined;
                enabled?: boolean | undefined;
                refundPolicy?: import('../../../../../lib/payment/types').RefundPolicy | undefined;
                refundDaysCount?: number | undefined;
                refundCountCalendarDays?: 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;
    } | null;
    isDynamic: boolean;
    periodCountCalendarDays: boolean;
    periodStartDate: null;
    periodEndDate: null;
    beforeEventBuffer: number;
    afterEventBuffer: number;
    periodType: "UNLIMITED";
    periodDays: null;
    slotInterval: null;
    offsetStart: number;
    locations: {
        type: string;
    }[];
    customInputs: {
        label: string;
        type: "TEXT" | "PHONE" | "TEXTLONG" | "NUMBER" | "BOOL" | "RADIO";
        id: number;
        required: boolean;
        placeholder: string;
        eventTypeId: number;
        options?: {
            label: string;
            type: string;
        }[] | null | undefined;
        hasToBeCreated?: boolean | undefined;
    }[];
    disableGuests: boolean;
    minimumBookingNotice: number;
    schedule: null;
    timeZone: null;
    successRedirectUrl: string;
    forwardParamsSuccessRedirect: boolean;
    teamId: null;
    scheduleId: null;
    availability: never[];
    price: number;
    currency: string;
    schedulingType: "COLLECTIVE";
    seatsPerTimeSlot: null;
    seatsShowAttendees: null;
    seatsShowAvailabilityCount: null;
    onlyShowFirstAvailableSlot: boolean;
    allowReschedulingPastBookings: boolean;
    id: number;
    hideCalendarNotes: boolean;
    hideCalendarEventDetails: boolean;
    recurringEvent: null;
    destinationCalendar: null;
    team: null;
    lockTimeZoneToggleOnBookingPage: boolean;
    requiresConfirmation: boolean;
    requiresConfirmationForFreeEmail: boolean;
    requiresBookerEmailVerification: boolean;
    bookingLimits: null;
    durationLimits: null;
    hidden: boolean;
    userId: number;
    parentId: null;
    parent: null;
    owner: null;
    workflows: never[];
    users: (Omit<{
        schedules: {
            id: number;
            timeZone: string | null;
            availability: {
                date: Date | null;
                days: number[];
                startTime: Date;
                endTime: Date;
            }[];
        }[];
        metadata: Prisma.JsonValue;
        theme: string | null;
        id: number;
        name: string | null;
        email: string;
        timeZone: string;
        availability: {
            id: number;
            userId: number | null;
            eventTypeId: number | null;
            days: number[];
            startTime: Date;
            endTime: Date;
            date: Date | null;
            scheduleId: number | null;
        }[];
        destinationCalendar: {
            id: number;
            integration: string;
            externalId: string;
            primaryEmail: string | null;
            userId: number | null;
            eventTypeId: number | null;
            credentialId: number | null;
            domainWideDelegationCredentialId: string | null;
        } | null;
        selectedCalendars: {
            id: string;
            userId: number;
            integration: string;
            externalId: string;
            credentialId: number | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
            domainWideDelegationCredentialId: string | null;
            error: string | null;
            eventTypeId: number | null;
        }[];
        username: string | null;
        locale: string | null;
        startTime: number;
        endTime: number;
        bufferTime: number;
        hideBranding: boolean;
        defaultScheduleId: number | null;
        timeFormat: number | null;
        brandColor: string | null;
        darkBrandColor: string | null;
        allowDynamicBooking: boolean | null;
        travelSchedules: {
            id: number;
            userId: number;
            timeZone: string;
            startDate: Date;
            endDate: Date | null;
            prevTimeZone: string | null;
        }[];
    }, "selectedCalendars"> & {
        allSelectedCalendars: import('../../../../../prisma-client').SelectedCalendar[];
        userLevelSelectedCalendars: import('../../../../../prisma-client').SelectedCalendar[];
    } & {
        credentials: import("@calcom/types/Credential").CredentialPayload[];
    })[];
    hosts: never[];
    subsetOfHosts: never[];
    bookingFields: never[];
    assignAllTeamMembers: boolean;
    assignRRMembersUsingSegment: boolean;
    rrSegmentQueryValue: null;
    isRRWeightsEnabled: boolean;
    rescheduleWithSameRoundRobinHost: boolean;
    useEventTypeDestinationCalendarEmail: boolean;
    secondaryEmailId: null;
    secondaryEmail: null;
    autoTranslateDescriptionEnabled: boolean;
    fieldTranslations: never[];
    maxLeadThreshold: null;
    useEventLevelSelectedCalendars: boolean;
    length: number;
    slug: string;
    title: string;
    eventName: string;
    description: string;
    descriptionAsSafeHTML: string;
    position: number;
} & {
    users: (Omit<{
        schedules: {
            id: number;
            timeZone: string | null;
            availability: {
                date: Date | null;
                days: number[];
                startTime: Date;
                endTime: Date;
            }[];
        }[];
        id: number;
        email: string;
        timeZone: string;
        availability: {
            date: Date | null;
            days: number[];
            id: number;
            eventTypeId: number | null;
            userId: number | null;
            scheduleId: number | null;
            startTime: Date;
            endTime: Date;
        }[];
        selectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
        username: string | null;
        startTime: number;
        endTime: number;
        bufferTime: number;
        defaultScheduleId: number | null;
        timeFormat: number | null;
        allowDynamicBooking: boolean | null;
        travelSchedules: {
            id: number;
            userId: number;
            timeZone: string;
            startDate: Date;
            endDate: Date | null;
            prevTimeZone: string | null;
        }[];
        credentials: {
            key: Prisma.JsonValue;
            invalid: boolean | null;
            type: string;
            id: number;
            userId: number | null;
            user: {
                email: string;
            } | null;
            teamId: number | null;
            appId: string | null;
        }[];
    }, "selectedCalendars"> & {
        allSelectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
        userLevelSelectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
    })[];
}>;
export declare function getRegularOrDynamicEventType(input: TGetScheduleInputSchema, organizationDetails: {
    currentOrgDomain: string | null;
    isValidOrgDomain: boolean;
}): Promise<{
    hosts: ({
        schedule: {
            id: number;
            timeZone: string | null;
            availability: {
                date: Date | null;
                days: number[];
                startTime: Date;
                endTime: Date;
            }[];
        } | null;
        user: {
            schedules: {
                id: number;
                timeZone: string | null;
                availability: {
                    date: Date | null;
                    days: number[];
                    startTime: Date;
                    endTime: Date;
                }[];
            }[];
            id: number;
            email: string;
            timeZone: string;
            availability: {
                date: Date | null;
                days: number[];
                id: number;
                eventTypeId: number | null;
                userId: number | null;
                scheduleId: number | null;
                startTime: Date;
                endTime: Date;
            }[];
            selectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
            username: string | null;
            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;
            }[];
            credentials: {
                key: Prisma.JsonValue;
                invalid: boolean | null;
                type: string;
                id: number;
                userId: number | null;
                user: {
                    email: string;
                } | null;
                teamId: number | null;
                appId: string | null;
            }[];
        };
        createdAt: Date;
        isFixed: boolean;
        priority: number | null;
        weight: number | null;
    } & {
        user: Omit<{
            selectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
        }, "selectedCalendars"> & {
            allSelectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
            userLevelSelectedCalendars: {
                error: string | null;
                id: string;
                credentialId: number | null;
                eventTypeId: number | null;
                userId: number;
                integration: string;
                externalId: string;
                domainWideDelegationCredentialId: string | null;
                googleChannelId: string | null;
                googleChannelKind: string | null;
                googleChannelResourceId: string | null;
                googleChannelResourceUri: string | null;
                googleChannelExpiration: string | null;
            }[];
        };
    })[];
    users: (Omit<{
        schedules: {
            id: number;
            timeZone: string | null;
            availability: {
                date: Date | null;
                days: number[];
                startTime: Date;
                endTime: Date;
            }[];
        }[];
        id: number;
        email: string;
        timeZone: string;
        availability: {
            date: Date | null;
            days: number[];
            id: number;
            eventTypeId: number | null;
            userId: number | null;
            scheduleId: number | null;
            startTime: Date;
            endTime: Date;
        }[];
        selectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
        username: string | null;
        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;
        }[];
        credentials: {
            key: Prisma.JsonValue;
            invalid: boolean | null;
            type: string;
            id: number;
            userId: number | null;
            user: {
                email: string;
            } | null;
            teamId: number | null;
            appId: string | null;
        }[];
    }, "selectedCalendars"> & {
        allSelectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
        userLevelSelectedCalendars: {
            error: string | null;
            id: string;
            credentialId: number | null;
            eventTypeId: number | null;
            userId: number;
            integration: string;
            externalId: string;
            domainWideDelegationCredentialId: string | null;
            googleChannelId: string | null;
            googleChannelKind: string | null;
            googleChannelResourceId: string | null;
            googleChannelResourceUri: string | null;
            googleChannelExpiration: string | null;
        }[];
    })[];
    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;
                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;
                useEventLevelSelectedCalendars?: 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;
                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;
                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;
                instantMeetingParameters?: true | undefined;
                assignAllTeamMembers?: true | undefined;
                assignRRMembersUsingSegment?: true | undefined;
                rrSegmentQueryValue?: true | undefined;
                useEventTypeDestinationCalendarEmail?: true | undefined;
                isRRWeightsEnabled?: true | undefined;
                maxLeadThreshold?: true | undefined;
                allowReschedulingPastBookings?: 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;
                fieldTranslations?: true | undefined;
                selectedCalendars?: true | undefined;
                secondaryEmail?: true | undefined;
                _count?: true | undefined;
            } | undefined;
        } | undefined;
        requiresConfirmationThreshold?: {
            time: number;
            unit: "milliseconds" | "seconds" | "minutes" | "hours" | "days" | "months" | "years" | "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;
        timeZone: string | null;
        availability: {
            date: Date | null;
            days: number[];
            startTime: Date;
            endTime: Date;
        }[];
    } | null;
    length: number;
    id: number;
    parent: {
        team: {
            id: number;
            bookingLimits: Prisma.JsonValue;
            includeManagedEventsInLimits: boolean;
        } | null;
    } | null;
    timeZone: string | null;
    slug: string;
    offsetStart: number;
    useEventLevelSelectedCalendars: boolean;
    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;
    allowReschedulingPastBookings: boolean;
    rescheduleWithSameRoundRobinHost: boolean;
    team: {
        id: number;
        parentId: number | null;
        bookingLimits: Prisma.JsonValue;
        includeManagedEventsInLimits: boolean;
    } | null;
    availability: {
        date: Date | null;
        days: number[];
        startTime: Date;
        endTime: Date;
    }[];
} | null>;
export interface IGetAvailableSlots {
    slots: Record<string, {
        time: string;
        attendees?: number | undefined;
        bookingUid?: string | undefined;
        away?: boolean | undefined;
        fromUser?: IFromUser | undefined;
        toUser?: IToUser | undefined;
        reason?: string | undefined;
        emoji?: string | undefined;
    }[]>;
    troubleshooter?: any;
}
export declare function getUsersWithCredentials({ hosts, }: {
    hosts: {
        isFixed?: boolean;
        user: GetAvailabilityUser;
    }[];
}): {
    schedules: {
        id: number;
        timeZone: string | null;
        availability: {
            date: Date | null;
            days: number[];
            startTime: Date;
            endTime: Date;
        }[];
    }[];
    id: number;
    email: string;
    timeZone: string;
    availability: {
        date: Date | null;
        days: number[];
        id: number;
        eventTypeId: number | null;
        userId: number | null;
        scheduleId: number | null;
        startTime: Date;
        endTime: Date;
    }[];
    username: string | null;
    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;
    }[];
    credentials: {
        key: Prisma.JsonValue;
        invalid: boolean | null;
        type: string;
        id: number;
        userId: number | null;
        user: {
            email: string;
        } | null;
        teamId: number | null;
        appId: string | null;
    }[];
    allSelectedCalendars: {
        error: string | null;
        id: string;
        credentialId: number | null;
        eventTypeId: number | null;
        userId: number;
        integration: string;
        externalId: string;
        domainWideDelegationCredentialId: string | null;
        googleChannelId: string | null;
        googleChannelKind: string | null;
        googleChannelResourceId: string | null;
        googleChannelResourceUri: string | null;
        googleChannelExpiration: string | null;
    }[];
    userLevelSelectedCalendars: {
        error: string | null;
        id: string;
        credentialId: number | null;
        eventTypeId: number | null;
        userId: number;
        integration: string;
        externalId: string;
        domainWideDelegationCredentialId: string | null;
        googleChannelId: string | null;
        googleChannelKind: string | null;
        googleChannelResourceId: string | null;
        googleChannelResourceUri: string | null;
        googleChannelExpiration: string | null;
    }[];
    isFixed: boolean | undefined;
}[];
export declare const getAvailableSlots: (args_0: GetScheduleOptions) => Promise<ReturnType<typeof _getAvailableSlots>>;
declare function _getAvailableSlots({ input, ctx }: GetScheduleOptions): Promise<IGetAvailableSlots>;
export declare function getAllDatesWithBookabilityStatus(availableDates: string[]): Record<string, {
    isBookable: boolean;
}>;
export {};
//# sourceMappingURL=util.d.ts.map