import { Feature, Hosting, PlanType, Quotas } from "../../sdk"; export interface CreateAccount { email: string; tenantId: string; hosting: Hosting; authType: AuthType; registrationStep?: string; tenantName?: string; name?: string; size?: string; profession?: string; } export interface CreatePassswordAccount extends CreateAccount { password: string; } export declare const isCreatePasswordAccount: (account: CreateAccount) => account is CreatePassswordAccount; export interface LicenseOverrides { features?: Feature[]; quotas?: Quotas; } export interface Account extends CreateAccount { accountId: string; createdAt: number; verified: boolean; verificationSent: boolean; tier: string; planType?: PlanType; planTier?: number; stripeCustomerId?: string; licenseKey?: string; licenseKeyActivatedAt?: number; licenseOverrides?: LicenseOverrides; } export interface PasswordAccount extends Account { password: string; } export declare const isPasswordAccount: (account: Account) => account is PasswordAccount; export interface CloudAccount extends Account { password?: string; budibaseUserId: string; } export declare const isCloudAccount: (account: Account) => account is CloudAccount; export declare const isSelfHostAccount: (account: Account) => boolean; export declare const isSSOAccount: (account: Account) => account is SSOAccount; export interface SSOAccount extends Account { pictureUrl?: string; provider?: string; providerType?: string; oauth2?: OAuthTokens; thirdPartyProfile: any; } export declare enum AuthType { SSO = "sso", PASSWORD = "password" } export interface OAuthTokens { accessToken: string; refreshToken: string; }