import { FirebaseAppConfig } from '@angular/fire'; import { ConfigTemplate } from '@angular/fire/remote-config'; import { AuthProvider } from './authprovider.enum'; export interface AuthUIConfig { authGuardFallbackURL: string; authGuardLoggedInURL: string; authGuardVerifyEmailURL?: string; enableFirestoreSync: boolean; reSignInUrl: string; toastMessageOnAuthSuccess: boolean | string; toastMessageOnAuthError: boolean | string; toastDefaultDurationMil: number; logoUrl?: string; tosUrl?: string; privacyPolicyUrl?: string; passwordMaxLength: number; passwordMinLength: number; passwordRequireLowercase: boolean; passwordRequireUppercase: boolean; passwordRequireSpecial: boolean; passwordRequireNumbers: boolean; nameMaxLength: number; nameMinLength: number; verifyEmailBackground?: string; supportedProviders: AuthProvider.ALL | AuthProvider[]; guestEnabled: boolean; allowAccountEdit: boolean; allowAccountDelete: boolean; allowAccountLogout: boolean; guardProtectedRoutesUntilEmailIsVerified: boolean; enableEmailVerification: boolean; avatarShowIfAnon: boolean; } export declare enum MalServiceEnabled { emulate = 2, enabled = 1, disabled = 0 } export declare type UseEmulatorArguments = [string, number]; export interface AuthServicesConfig { firebaseAnalytics: boolean; firebaseCrashlytics: boolean; firebasePerformance: boolean; firebaseRemoteConfig: boolean; inAppPurchase: boolean; firebaseAuth: true | UseEmulatorArguments; firebaseFirestore: true | UseEmulatorArguments; firebaseFunctions: true | UseEmulatorArguments; firebaseRegion?: string; } export interface AuthUserProvidedConfig { firebase: FirebaseAppConfig; services?: Partial; authUi?: Partial; configDefaults?: T; } export interface AuthSharedConfig { firebase: FirebaseAppConfig; services: AuthServicesConfig; authUi: AuthUIConfig; configDefaults: T; } export declare const defaultAuthFirebaseUIConfig: Omit; export declare function authSharedConfigFactory(userProvidedConfig: AuthUserProvidedConfig): AuthSharedConfig;