import type { Prisma, UserPermissionRole } from '../prisma-client';
import { MembershipRole } from './enums';
export declare function createUserAndEventType({ user, eventTypes, credentials, }: {
    user: {
        email: string;
        password: string;
        username: string;
        name: string;
        completedOnboarding?: boolean;
        timeZone?: string;
        role?: UserPermissionRole;
        theme?: "dark" | "light";
        avatarUrl?: string | null;
    };
    eventTypes?: Array<Prisma.EventTypeUncheckedCreateInput & {
        _bookings?: Prisma.BookingCreateInput[];
        _numBookings?: number;
    }>;
    credentials?: ({
        type: string;
        key: Prisma.JsonObject;
        appId: string;
    } | null)[];
}): Promise<{
    metadata: Prisma.JsonValue;
    theme: string | null;
    id: number;
    name: string | null;
    email: string;
    organizationId: number | null;
    timeZone: string;
    username: string | null;
    locale: string | null;
    startTime: number;
    endTime: number;
    creationSource: import('../prisma-client').$Enums.CreationSource | null;
    movedToProfileId: number | null;
    emailVerified: Date | null;
    bio: string | null;
    avatarUrl: string | null;
    weekStart: string;
    bufferTime: number;
    hideBranding: boolean;
    appTheme: string | null;
    createdDate: Date;
    trialEndsAt: Date | null;
    lastActiveAt: Date | null;
    defaultScheduleId: number | null;
    completedOnboarding: boolean;
    timeFormat: number | null;
    twoFactorSecret: string | null;
    twoFactorEnabled: boolean;
    backupCodes: string | null;
    identityProvider: import('../prisma-client').$Enums.IdentityProvider;
    identityProviderId: string | null;
    invitedTo: number | null;
    brandColor: string | null;
    darkBrandColor: string | null;
    allowDynamicBooking: boolean | null;
    allowSEOIndexing: boolean | null;
    receiveMonthlyDigestEmail: boolean | null;
    verified: boolean | null;
    role: import('../prisma-client').$Enums.UserPermissionRole;
    disableImpersonation: boolean;
    locked: boolean;
    isPlatformManaged: boolean;
    smsLockState: import('../prisma-client').$Enums.SMSLockState;
    smsLockReviewedByAdmin: boolean;
    referralLinkId: string | null;
}>;
export declare function createTeamAndAddUsers(teamInput: Prisma.TeamCreateInput, users?: {
    id: number;
    username: string;
    role?: MembershipRole;
}[]): Promise<({
    eventTypes: {
        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;
        useEventLevelSelectedCalendars: boolean;
        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;
        requiresConfirmationForFreeEmail: boolean;
        requiresBookerEmailVerification: boolean;
        canSendCalVideoTranscriptionEmails: boolean;
        autoTranslateDescriptionEnabled: boolean;
        recurringEvent: Prisma.JsonValue;
        disableGuests: boolean;
        hideCalendarNotes: boolean;
        hideCalendarEventDetails: boolean;
        minimumBookingNotice: number;
        beforeEventBuffer: number;
        afterEventBuffer: number;
        seatsPerTimeSlot: number | null;
        onlyShowFirstAvailableSlot: boolean;
        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;
        instantMeetingParameters: string[];
        assignAllTeamMembers: boolean;
        assignRRMembersUsingSegment: boolean;
        rrSegmentQueryValue: Prisma.JsonValue;
        useEventTypeDestinationCalendarEmail: boolean;
        isRRWeightsEnabled: boolean;
        maxLeadThreshold: number | null;
        allowReschedulingPastBookings: boolean;
        eventTypeColor: Prisma.JsonValue;
        rescheduleWithSameRoundRobinHost: boolean;
        secondaryEmailId: number | null;
    }[];
} & {
    metadata: Prisma.JsonValue;
    theme: string | null;
    id: number;
    name: string;
    timeZone: string;
    slug: string | null;
    parentId: number | null;
    bookingLimits: 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;
}) | undefined>;
export declare function seedAttributes(teamId: number): Promise<{
    id: string;
    options: {
        id: string;
        value: string;
    }[];
}[] | undefined>;
export declare function seedRoutingForms(teamId: number, userId: number, attributeRaw: {
    id: string;
    options: {
        id: string;
        value: string;
    }[];
}[], javascriptEventId: number, salesEventId: number): Promise<{
    id: string;
    name: string;
    routes: {
        id: string;
        value: string;
        eventTypeId: number;
    }[];
    formFieldLocation: {
        id: string;
    };
    formFieldSkills: {
        id: string;
    };
    formFieldEmail: {
        id: string;
    };
    formFieldManager: {
        id: string;
    };
    formFieldRating: {
        id: string;
    };
} | undefined>;
type SeededForm = {
    id: string;
    name: string;
    routes: {
        id: string;
        value: string;
    }[];
    formFieldLocation: {
        id: string;
    };
    formFieldSkills: {
        id: string;
    };
    formFieldEmail: {
        id: string;
    };
    formFieldManager: {
        id: string;
    };
    formFieldRating: {
        id: string;
    };
};
export declare function seedRoutingFormResponses(seededForm: SeededForm, attributeRaw: {
    id: string;
    options: {
        id: string;
        value: string;
    }[];
}[], teamId: number): Promise<void>;
export {};
//# sourceMappingURL=seed-utils.d.ts.map