import { type TFunction } from "i18next";
type OrgOwner = {
    id: number;
    email: string;
    username?: string | null;
    teams: {
        team: {
            isPlatform: boolean;
            slug: string | null;
            isOrganization: boolean;
        };
        accepted: boolean;
    }[];
    completedOnboarding?: boolean;
    emailVerified?: Date | null;
    profile?: {
        organizationId: number | null;
    } | null;
};
export declare class OrgCreationError extends Error {
    constructor(message: string);
}
export declare function assertCanCreateOrg({ slug, isPlatform, orgOwner, restrictBasedOnMinimumPublishedTeams, errorOnUserAlreadyPartOfOrg, }: {
    slug: string;
    isPlatform: boolean;
    orgOwner: OrgOwner;
    restrictBasedOnMinimumPublishedTeams: boolean;
    errorOnUserAlreadyPartOfOrg?: boolean;
}): Promise<{
    slugConflictType: "orgUserIsMemberOfExists" | "teamUserIsMemberOfExists" | null;
}>;
export declare const findUserToBeOrgOwner: (email: string) => Promise<({
    teams: {
        team: {
            slug: string | null;
            isOrganization: boolean;
            isPlatform: boolean;
        };
        accepted: boolean;
    }[];
} & {
    name: string | null;
    id: number;
    role: import('../../../../../prisma-client').$Enums.UserPermissionRole;
    metadata: import('../../../../../prisma-client').Prisma.JsonValue;
    username: string | null;
    email: string;
    bio: string | null;
    theme: string | null;
    verified: boolean | null;
    locked: boolean;
    organizationId: number | null;
    locale: string | null;
    timeZone: string;
    startTime: number;
    endTime: number;
    creationSource: import('../../../../../prisma-client').$Enums.CreationSource | null;
    movedToProfileId: number | null;
    emailVerified: Date | 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;
    disableImpersonation: boolean;
    isPlatformManaged: boolean;
    smsLockState: import('../../../../../prisma-client').$Enums.SMSLockState;
    smsLockReviewedByAdmin: boolean;
    referralLinkId: string | null;
    whitelistWorkflows: boolean;
} & {
    nonProfileUsername: string | null;
    profile: import("@calcom/types/UserProfile").UserProfile;
}) | null>;
export declare const setupDomain: ({ slug, isPlatform, orgOwnerEmail, orgOwnerTranslation, }: {
    slug: string;
    isPlatform: boolean;
    orgOwnerEmail: string;
    orgOwnerTranslation: TFunction;
}) => Promise<void>;
export {};
//# sourceMappingURL=orgCreationUtils.d.ts.map