export declare const workflowsRouter: import("@trpc/server/unstable-core-do-not-import").CreateRouterInner<import("@trpc/server/unstable-core-do-not-import").RootConfig<{
    ctx: import("../../../createContext").InnerContext;
    meta: object;
    errorShape: import("@trpc/server/unstable-core-do-not-import").DefaultErrorShape;
    transformer: {
        stringify: (object: any) => string;
        parse: <T = unknown>(string: string) => T;
        serialize: (object: any) => import("superjson/dist/types").SuperJSONResult;
        deserialize: <T_1 = unknown>(payload: import("superjson/dist/types").SuperJSONResult) => T_1;
        registerClass: (v: import("superjson/dist/types").Class, options?: string | import("superjson/dist/class-registry").RegisterOptions | undefined) => void;
        registerSymbol: (v: Symbol, identifier?: string | undefined) => void;
        registerCustom: <I, O extends import("superjson/dist/types").JSONValue>(transformer: Omit<import("superjson/dist/custom-transformer-registry").CustomTransfomer<I, O>, "name">, name: string) => void;
        allowErrorProps: (...props: string[]) => void;
    };
}>, {
    list: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
        input: {
            teamId?: number | undefined;
            userId?: number | undefined;
        } | undefined;
        output: {
            workflows: import('../../../../../features/ee/workflows/components/WorkflowListPage').WorkflowType[];
        };
    }>;
    get: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
        input: {
            id: number;
        };
        output: {
            time: number | null;
            id: number;
            name: string;
            userId: number | null;
            teamId: number | null;
            team: {
                id: number;
                name: string;
                slug: string | null;
                isOrganization: boolean;
                members: {
                    id: number;
                    userId: number;
                    teamId: number;
                    role: import('../../../../../prisma-client').$Enums.MembershipRole;
                    disableImpersonation: boolean;
                    accepted: boolean;
                }[];
            } | null;
            steps: {
                template: import('../../../../../prisma-client').$Enums.WorkflowTemplates;
                id: number;
                action: import('../../../../../prisma-client').$Enums.WorkflowActions;
                sender: string | null;
                stepNumber: number;
                workflowId: number;
                sendTo: string | null;
                reminderBody: string | null;
                emailSubject: string | null;
                numberRequired: boolean | null;
                numberVerificationPending: boolean;
                includeCalendarEvent: boolean;
            }[];
            timeUnit: import('../../../../../prisma-client').$Enums.TimeUnit | null;
            isActiveOnAll: boolean;
            trigger: import('../../../../../prisma-client').$Enums.WorkflowTriggerEvents;
            activeOn: {
                eventType: {
                    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;
                    useEventLevelSelectedCalendars: boolean;
                    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;
                    requiresConfirmationForFreeEmail: boolean;
                    requiresBookerEmailVerification: boolean;
                    canSendCalVideoTranscriptionEmails: boolean;
                    autoTranslateDescriptionEnabled: 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;
                    instantMeetingParameters: string[];
                    assignAllTeamMembers: boolean;
                    assignRRMembersUsingSegment: boolean;
                    rrSegmentQueryValue: import('../../../../../prisma-client').Prisma.JsonValue;
                    useEventTypeDestinationCalendarEmail: boolean;
                    isRRWeightsEnabled: boolean;
                    maxLeadThreshold: number | null;
                    allowReschedulingPastBookings: boolean;
                    eventTypeColor: import('../../../../../prisma-client').Prisma.JsonValue;
                    rescheduleWithSameRoundRobinHost: boolean;
                    secondaryEmailId: number | null;
                };
            }[];
            activeOnTeams: {
                team: {
                    metadata: import('../../../../../prisma-client').Prisma.JsonValue;
                    theme: string | null;
                    id: number;
                    name: string;
                    timeZone: string;
                    slug: string | null;
                    parentId: number | null;
                    bookingLimits: import('../../../../../prisma-client').Prisma.JsonValue;
                    createdAt: Date;
                    bio: string | null;
                    weekStart: string;
                    hideBranding: boolean;
                    timeFormat: number | null;
                    brandColor: string | null;
                    darkBrandColor: string | null;
                    smsLockState: import('../../../../../prisma-client').$Enums.SMSLockState;
                    smsLockReviewedByAdmin: boolean;
                    logoUrl: string | null;
                    calVideoLogo: string | null;
                    appLogo: string | null;
                    appIconLogo: string | null;
                    isPrivate: boolean;
                    hideBookATeamMember: boolean;
                    bannerUrl: string | null;
                    isOrganization: boolean;
                    pendingPayment: boolean;
                    isPlatform: boolean;
                    createdByOAuthClientId: string | null;
                    includeManagedEventsInLimits: boolean;
                };
            }[];
        } | null;
    }>;
    create: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
        input: {
            teamId?: number | undefined;
        };
        output: {
            workflow: {
                id: number;
                position: number;
                name: string;
                userId: number | null;
                teamId: number | null;
                isActiveOnAll: boolean;
                trigger: import('../../../../../prisma-client').$Enums.WorkflowTriggerEvents;
                time: number | null;
                timeUnit: import('../../../../../prisma-client').$Enums.TimeUnit | null;
            };
        };
    }>;
    delete: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
        input: {
            id: number;
        };
        output: {
            id: number;
        };
    }>;
    update: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
        input: {
            time: number | null;
            id: number;
            name: string;
            steps: {
                template: "CUSTOM" | "CANCELLED" | "REMINDER" | "RESCHEDULED" | "COMPLETED" | "RATING";
                id: number;
                action: "EMAIL_HOST" | "EMAIL_ATTENDEE" | "SMS_ATTENDEE" | "SMS_NUMBER" | "EMAIL_ADDRESS" | "WHATSAPP_ATTENDEE" | "WHATSAPP_NUMBER";
                sender: string | null;
                stepNumber: number;
                workflowId: number;
                sendTo: string | null;
                reminderBody: string | null;
                emailSubject: string | null;
                numberRequired: boolean | null;
                includeCalendarEvent: boolean;
                senderName: string | null;
            }[];
            timeUnit: "DAY" | "HOUR" | "MINUTE" | null;
            trigger: "AFTER_HOSTS_CAL_VIDEO_NO_SHOW" | "AFTER_GUESTS_CAL_VIDEO_NO_SHOW" | "BEFORE_EVENT" | "EVENT_CANCELLED" | "NEW_EVENT" | "AFTER_EVENT" | "RESCHEDULE_EVENT";
            activeOn: number[];
            isActiveOnAll?: boolean | undefined;
        };
        output: {
            workflow: ({
                team: {
                    id: number;
                    name: string;
                    slug: string | null;
                    isOrganization: boolean;
                    members: {
                        id: number;
                        userId: number;
                        teamId: number;
                        role: import('../../../../../prisma-client').$Enums.MembershipRole;
                        disableImpersonation: boolean;
                        accepted: boolean;
                    }[];
                } | null;
                steps: {
                    template: import('../../../../../prisma-client').$Enums.WorkflowTemplates;
                    id: number;
                    action: import('../../../../../prisma-client').$Enums.WorkflowActions;
                    sender: string | null;
                    stepNumber: number;
                    workflowId: number;
                    sendTo: string | null;
                    reminderBody: string | null;
                    emailSubject: string | null;
                    numberRequired: boolean | null;
                    numberVerificationPending: boolean;
                    includeCalendarEvent: boolean;
                }[];
                activeOn: {
                    eventType: {
                        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;
                        useEventLevelSelectedCalendars: boolean;
                        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;
                        requiresConfirmationForFreeEmail: boolean;
                        requiresBookerEmailVerification: boolean;
                        canSendCalVideoTranscriptionEmails: boolean;
                        autoTranslateDescriptionEnabled: 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;
                        instantMeetingParameters: string[];
                        assignAllTeamMembers: boolean;
                        assignRRMembersUsingSegment: boolean;
                        rrSegmentQueryValue: import('../../../../../prisma-client').Prisma.JsonValue;
                        useEventTypeDestinationCalendarEmail: boolean;
                        isRRWeightsEnabled: boolean;
                        maxLeadThreshold: number | null;
                        allowReschedulingPastBookings: boolean;
                        eventTypeColor: import('../../../../../prisma-client').Prisma.JsonValue;
                        rescheduleWithSameRoundRobinHost: boolean;
                        secondaryEmailId: number | null;
                    };
                }[];
                activeOnTeams: {
                    team: {
                        metadata: import('../../../../../prisma-client').Prisma.JsonValue;
                        theme: string | null;
                        id: number;
                        name: string;
                        timeZone: string;
                        slug: string | null;
                        parentId: number | null;
                        bookingLimits: import('../../../../../prisma-client').Prisma.JsonValue;
                        createdAt: Date;
                        bio: string | null;
                        weekStart: string;
                        hideBranding: boolean;
                        timeFormat: number | null;
                        brandColor: string | null;
                        darkBrandColor: string | null;
                        smsLockState: import('../../../../../prisma-client').$Enums.SMSLockState;
                        smsLockReviewedByAdmin: boolean;
                        logoUrl: string | null;
                        calVideoLogo: string | null;
                        appLogo: string | null;
                        appIconLogo: string | null;
                        isPrivate: boolean;
                        hideBookATeamMember: boolean;
                        bannerUrl: string | null;
                        isOrganization: boolean;
                        pendingPayment: boolean;
                        isPlatform: boolean;
                        createdByOAuthClientId: string | null;
                        includeManagedEventsInLimits: boolean;
                    };
                }[];
            } & {
                position: number;
                time: number | null;
                id: number;
                name: string;
                userId: number | null;
                teamId: number | null;
                timeUnit: import('../../../../../prisma-client').$Enums.TimeUnit | null;
                isActiveOnAll: boolean;
                trigger: import('../../../../../prisma-client').$Enums.WorkflowTriggerEvents;
            }) | null;
        };
    }>;
    activateEventType: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
        input: {
            eventTypeId: number;
            workflowId: number;
        };
        output: void;
    }>;
    sendVerificationCode: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
        input: {
            phoneNumber: string;
        };
        output: void;
    }>;
    verifyPhoneNumber: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
        input: {
            code: string;
            phoneNumber: string;
            teamId?: number | undefined;
        };
        output: boolean;
    }>;
    getVerifiedNumbers: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
        input: {
            teamId?: number | undefined;
        };
        output: {
            id: number;
            userId: number | null;
            teamId: number | null;
            phoneNumber: string;
        }[];
    }>;
    getVerifiedEmails: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
        input: {
            teamId?: number | undefined;
        };
        output: string[];
    }>;
    verifyEmailCode: import("@trpc/server/unstable-core-do-not-import").MutationProcedure<{
        input: {
            code: string;
            email: string;
            teamId?: number | undefined;
        };
        output: true;
    }>;
    getWorkflowActionOptions: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
        input: void;
        output: {
            label: string;
            value: "EMAIL_HOST" | "EMAIL_ATTENDEE" | "SMS_ATTENDEE" | "SMS_NUMBER" | "EMAIL_ADDRESS" | "WHATSAPP_ATTENDEE" | "WHATSAPP_NUMBER";
            needsTeamsUpgrade: boolean;
        }[];
    }>;
    filteredList: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
        input: {
            filters?: {
                teamIds?: number[] | undefined;
                userIds?: number[] | undefined;
                upIds?: string[] | undefined;
            } | undefined;
        } | null | undefined;
        output: {
            filtered: import('../../../../../features/ee/workflows/components/WorkflowListPage').WorkflowType[];
            totalCount: number;
        } | undefined;
    }>;
    getAllActiveWorkflows: import("@trpc/server/unstable-core-do-not-import").QueryProcedure<{
        input: {
            eventType: {
                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;
                id: number;
                teamId?: number | null | undefined;
                parent?: {
                    id: number | null;
                    teamId: number | null;
                } | null | undefined;
                userId?: number | null | undefined;
            };
        };
        output: import('../../../../../features/ee/workflows/lib/types').Workflow[];
    }>;
}>;
//# sourceMappingURL=_router.d.ts.map