import type { Prisma } from '../../../../../prisma-client';
import type { PrismaClient } from '../../../../../prisma';
import type { TrpcSessionUser } from "../../../trpc";
import type { TCreateInputSchema } from "./create.schema";
type SessionUser = NonNullable<TrpcSessionUser>;
type User = {
    id: SessionUser["id"];
    role: SessionUser["role"];
    organizationId: SessionUser["organizationId"];
    organization: {
        isOrgAdmin: SessionUser["organization"]["isOrgAdmin"];
    };
    profile: {
        id: SessionUser["id"] | null;
    };
    metadata: SessionUser["metadata"];
};
type CreateOptions = {
    ctx: {
        user: User;
        prisma: PrismaClient;
    };
    input: TCreateInputSchema;
};
export declare const createHandler: ({ ctx, input }: CreateOptions) => Promise<{
    eventType: {
        length: number;
        position: number;
        title: string;
        metadata: Prisma.JsonValue;
        hidden: boolean;
        id: number;
        price: number;
        currency: string;
        description: string | null;
        userId: number | null;
        timeZone: string | null;
        slug: string;
        locations: Prisma.JsonValue;
        offsetStart: number;
        profileId: number | null;
        teamId: number | null;
        eventName: string | null;
        parentId: number | null;
        bookingFields: 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: 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: Prisma.JsonValue;
        durationLimits: Prisma.JsonValue;
        isInstantEvent: boolean;
        instantMeetingExpiryTimeOffsetInSeconds: number;
        instantMeetingScheduleId: number | null;
        assignAllTeamMembers: boolean;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
    };
}>;
export {};
//# sourceMappingURL=create.handler.d.ts.map