import { BehaviorSubject, PartialObserver, Subscription } from 'rxjs'; import { FronteggAppService } from './frontegg-app.service'; import { RolesState, TenantsState, AccountSettingsState, SaveSecurityPolicyPasswordHistoryPayload, SaveSecurityPolicyLockoutPayload, SaveSecurityPolicyMfaPayload, PasswordPolicyState, PasswordHistoryPolicyState, MfaPolicyState, CaptchaPolicyState, LockoutPolicyState, PublicPolicyState, GlobalPolicyState, SecurityPolicyState, AddUserApiTokenPayload, AddTenantApiTokenPayload, ApiTokenType, ApiTokensState, ApiStateIndicator, ISetDeleteUserDialog, ISetAddUserDialog, TeamState, TeamStateIndicator, MFAState, SaveSSOConfigurationPayload, SSOState, ProfileState, SaveSSOConfigurationFilePayload, UpdateSSOAuthorizationRolesPayload, DeleteSamlGroupPayload, CreateSamlGroupPayload, SaveProfilePayload, SignUpState, ForgotPasswordState, AcceptInvitationState, AuthState, User, LoginState, ActivateAccountStrategyState, IsSteppedUpOptions, StepUpOptions } from '@frontegg/redux-store'; import { ILogin, ILoginWithMfa, IPostLogin, IPreLogin, IRecoverMFAToken, IActivateAccount, ILoginViaSocialLogin, ISetSocialLoginError, IResendActivationEmail, IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse, IAcceptInvitation, IForgotPassword, IResetPassword, IGetUserPasswordConfig, ISignUpUser, IChangePassword, IOidcPostLogin, IVerifyMfa, IDisableMfa, ILoadUsers, ITeamUser, IAddUser, IUpdateUser, IDeleteUser, IResendActivationLink, ISettingsResponse, ISwitchTenant, ITenantsResponse, IAddRole, IRole, IUpdateRole, IDeleteRole, IAttachPermissionsToRole, IResendInvitationLink, IRolePermission } from '@frontegg/rest-api'; import type { ActivateAccountState, SocialLoginState } from '@frontegg/redux-store'; import { Observable } from 'rxjs'; import { Router } from '@angular/router'; import { LoginDirectAction } from '@frontegg/redux-store/auth/LoginState/interfaces'; import { FronteggUserSubscriptionService } from './frontegg-user-subscription.service'; import * as i0 from "@angular/core"; export declare type WithCallback = T & { callback?: (data: R | null, error?: string) => void; }; export declare type WithSilentLoad = T & { silentLoading?: boolean; }; declare type SubjectState = { [K in keyof T as `${Extract}Subject`]: T[K]; }; declare type AuthStateObservable = { [K in keyof AuthState]: BehaviorSubject; }; export declare class FronteggAuthService implements SubjectState> { private fronteggAppService; private router; private fronteggUserSubscriptionService; authStateSubject: BehaviorSubject; acceptInvitationStateSubject: BehaviorSubject; accountSettingsStateSubject: BehaviorSubject; activateAccountStateSubject: BehaviorSubject; apiTokensStateSubject: BehaviorSubject; forgotPasswordStateSubject: BehaviorSubject; loginStateSubject: BehaviorSubject; mfaStateSubject: BehaviorSubject; profileStateSubject: BehaviorSubject; rolesStateSubject: BehaviorSubject; routesSubject: BehaviorSubject; securityPolicyStateSubject: BehaviorSubject; signUpStateSubject: BehaviorSubject; socialLoginStateSubject: BehaviorSubject; ssoStateSubject: BehaviorSubject; teamStateSubject: BehaviorSubject; tenantsStateSubject: BehaviorSubject; userSubject: BehaviorSubject; isAuthenticatedSubject: BehaviorSubject; isLoadingSubject: BehaviorSubject; isSSOAuthSubject: BehaviorSubject; ssoACSSubject: BehaviorSubject; customLoginStateSubject: BehaviorSubject; groupsStateSubject: BehaviorSubject; groupsDialogsStateSubject: BehaviorSubject; impersonateStateSubject: BehaviorSubject; allAccountsStateSubject: BehaviorSubject; allAccountsDialogsStateSubject: BehaviorSubject; passkeysStateSubject: BehaviorSubject; provisioningStateSubject: BehaviorSubject; resetPhoneNumberStateSubject: BehaviorSubject; restrictionsStateSubject: BehaviorSubject; securityCenterStateSubject: BehaviorSubject; sessionsPolicyStateSubject: BehaviorSubject; sessionsStateSubject: BehaviorSubject; smsStateSubject: BehaviorSubject; stepUpStateSubject: BehaviorSubject; applicationsStateSubject: BehaviorSubject; userIpSubject: BehaviorSubject; keepSessionAliveSubject: BehaviorSubject; socialLoginOptionsSubject: BehaviorSubject<{ promptConsent?: boolean | undefined; } | undefined>; includeQueryParamSubject: BehaviorSubject; hostedLoginBoxSubject: BehaviorSubject; disableSilentRefreshSubject: BehaviorSubject; enforceRedirectToSameSiteSubject: BehaviorSubject; allowedRedirectOriginsSubject: BehaviorSubject; getAuthState(): AuthState; get authState$(): Observable; get acceptInvitationState$(): Observable; get accountSettingsState$(): Observable; get activateState$(): Observable; get apiTokensState$(): Observable; get forgotPasswordState$(): Observable; get loginState$(): Observable; get mfaState$(): Observable; get profileState$(): Observable; get rolesState$(): Observable; get routesState$(): Observable; get securityPolicyState$(): Observable; get signUpState$(): Observable; get socialLoginState$(): Observable; get ssoState$(): Observable; get teamState$(): Observable; get tenantsState$(): Observable; get user$(): Observable; get user(): AuthState['user']; get isAuthenticated$(): Observable; get isAuthenticated(): AuthState['isAuthenticated']; get isLoading$(): Observable; get isSSOAuth$(): Observable; get ssoACS$(): Observable; get customLoginStateSubject$(): Observable; get groupsStateSubject$(): Observable; get groupsDialogsStateSubject$(): Observable; get impersonateStateSubject$(): Observable; get allAccountsStateSubject$(): Observable; get allAccountsDialogsStateSubject$(): Observable; get passkeysStateSubject$(): Observable; get provisioningStateSubject$(): Observable; get resetPhoneNumberStateSubject$(): Observable; get restrictionsStateSubject$(): Observable; get securityCenterStateSubject$(): Observable; get sessionsPolicyStateSubject$(): Observable; get sessionsStateSubject$(): Observable; get smsStateSubject$(): Observable; get stepUpStateSubject$(): Observable; get applicationsStateSubject$(): Observable; get userIpSubject$(): Observable; get keepSessionAliveSubject$(): Observable; get socialLoginOptionsSubject$(): Observable; get includeQueryParamSubject$(): Observable; get hostedLoginBoxSubject$(): Observable; get disableSilentRefreshSubject$(): Observable; get enforceRedirectToSameSiteSubject$(): Observable; get allowedRedirectOriginsSubject$(): Observable; constructor(fronteggAppService: FronteggAppService, router: Router, fronteggUserSubscriptionService: FronteggUserSubscriptionService); private updateState; private dispatchAction; isHostedLoginCallbackRoute(): boolean; /** * @param options.maxAge optional max age * @returns A subscription for step up state - true when user is stepped up, false otherwise */ isSteppedUp$(observer: PartialObserver, options?: IsSteppedUpOptions): Subscription; /** * Triggers step up flow * @param options.maxAge optional max age */ stepUp: (options?: StepUpOptions | undefined) => void; setState: (state: Partial) => void; resetState: () => void; setUser: (user: User) => void; setLoginState: (state: Partial) => void; resetLoginState: () => void; requestAuthorize: (firstTime?: boolean | undefined) => void; loginWithRedirect: (params?: Record | undefined, shouldRedirectToLogin?: boolean | undefined, firstTime?: boolean | undefined, loginDirectAction?: LoginDirectAction | undefined) => void; preLogin: (payload: IPreLogin) => void; postLogin: (payload: IPostLogin) => void; login: (payload: ILogin) => void; loginWithMfa: (payload: WithCallback) => void; recoverMfa: (payload: IRecoverMFAToken) => void; logout: (callback?: (() => void) | undefined) => void; silentLogout: (callback?: (() => void) | undefined) => void; checkIfAllowToRememberMfaDevice: (payload: { mfaToken: string; }) => void; setSocialLoginsState: (state: Partial) => void; resetSocialLoginsState: () => void; loadSocialLoginsConfiguration: () => void; loginViaSocialLogin: (payload: ILoginViaSocialLogin) => void; setSocialLoginError: (payload: ISetSocialLoginError) => void; setActivateState: (state: Partial) => void; resetActivateState: () => void; setActivateStrategyState: (state: Partial) => void; activateAccount: (payload: IActivateAccount) => void; resendActivationEmail: (payload: IResendActivationEmail) => void; getActivateAccountStrategy: (payload: WithCallback) => void; setAcceptInvitationState: (state: Partial) => void; resetAcceptInvitationState: () => void; acceptInvitation: (payload: IAcceptInvitation) => void; setForgotPasswordState: (state: Partial) => void; resetForgotPasswordState: () => void; forgotPassword: (payload: IForgotPassword) => void; resetPassword: (payload: IResetPassword) => void; loadPasswordConfig: (payload?: IGetUserPasswordConfig | undefined) => void; setSignUpState: (state: Partial) => void; resetSignUpState: () => void; signUpUser: (payload: ISignUpUser) => void; resetSignUpStateSoft: () => void; setProfileState: (state: Partial) => void; resetProfileState: () => void; loadProfile: () => void; saveProfile: (payload: SaveProfilePayload) => void; changePassword: (payload: WithCallback) => void; setSSOState: (state: Partial) => void; resetSSOState: () => void; loadSSOConfigurations: () => void; loadSSOAuthorizationRoles: () => void; saveSSOConfigurations: (payload: SaveSSOConfigurationPayload) => void; saveSSOConfigurationsFile: (payload: File[]) => void; saveSSOConfigurationsFileWithCallback: (payload: SaveSSOConfigurationFilePayload) => void; validateSSODomain: (payload?: { callback?: ((data: boolean | null, error?: string | undefined) => void) | undefined; } | undefined) => void; updateSSOAuthorizationRoles: (payload: UpdateSSOAuthorizationRolesPayload) => void; deleteSamlGroup: (payload: DeleteSamlGroupPayload) => void; createSamlGroup: (payload: CreateSamlGroupPayload) => void; oidcPostlogin: (payload: IOidcPostLogin) => void; setMfaState: (state: Partial) => void; resetMfaState: () => void; enrollMfa: () => void; verifyMfa: (payload: WithCallback) => void; verifyMfaAfterForce: (payload: WithCallback) => void; disableMfa: (payload: WithCallback) => void; setTeamLoader: (payload: TeamStateIndicator) => void; setTeamError: (payload: TeamStateIndicator) => void; setTeamState: (payload: Partial) => void; resetTeamState: () => void; loadUsers: (payload: WithCallback, ITeamUser[]>) => void; loadRoles: (payload?: { callback?: import("@frontegg/redux-store").CallbackMethod<{ roles: import("@frontegg/rest-api").ITeamUserRole[]; permissions: import("@frontegg/rest-api").ITeamUserPermission[]; }> | undefined; } | undefined) => void; addUser: (payload: WithCallback) => void; updateUser: (payload: WithCallback) => void; deleteUser: (payload: WithCallback) => void; resendActivationLink: (payload: WithCallback) => void; resendInvitationLink: (payload: WithCallback) => void; openAddUserDialog: (payload?: ISetAddUserDialog | undefined) => void; closeAddUserDialog: (payload?: any) => void; openDeleteUserDialog: (payload?: ISetDeleteUserDialog | undefined) => void; closeDeleteUserDialog: (payload?: any) => void; setApiTokensLoader: (payload: ApiStateIndicator) => void; setApiTokensError: (payload: ApiStateIndicator) => void; setApiTokensState: (state: Partial) => void; resetApiTokensState: () => void; loadApiTokens: (payload?: WithSilentLoad<{ callback?: ((data: boolean | null, error?: string | undefined) => void) | undefined; }> | undefined) => void; initApiTokensData: (payload: ApiTokenType) => void; addTenantApiToken: (payload: AddTenantApiTokenPayload) => void; addUserApiToken: (payload: AddUserApiTokenPayload) => void; deleteUserApiToken: (payload: string) => void; deleteTenantApiToken: (payload: string) => void; setSecurityPolicyState: (state: Partial) => void; setSecurityPolicyGlobalState: (state: Partial) => void; setSecurityPolicyPublicState: (state: Partial) => void; setSecurityPolicyMfaState: (state: Partial) => void; setSecurityPolicyLockoutState: (state: Partial) => void; setSecurityPolicyCaptchaState: (state: Partial) => void; setSecurityPolicyPasswordHistoryState: (state: Partial) => void; resetSecurityPolicyState: () => void; setSecurityPolicyPasswordState: (state: Partial) => void; loadSecurityPolicy: () => void; loadPublicSecurityPolicy: () => void; loadVendorPasswordConfig: () => void; loadSecurityPolicyMfa: () => void; saveSecurityPolicyMfa: (payload: SaveSecurityPolicyMfaPayload) => void; loadSecurityPolicyLockout: () => void; saveSecurityPolicyLockout: (payload: SaveSecurityPolicyLockoutPayload) => void; loadSecurityPolicyCaptcha: () => void; loadSecurityPolicyPasswordHistory: () => void; saveSecurityPolicyPasswordHistory: (payload: SaveSecurityPolicyPasswordHistoryPayload) => void; setAccountSettingsState: (state: Partial) => void; resetAccountSettingsState: () => void; loadAccountSettings: (payload?: WithCallback<{ silentLoading?: boolean | undefined; }, boolean> | undefined) => void; saveAccountSettings: (payload: WithCallback) => void; setTenantsState: (state: Partial) => void; resetTenantsState: () => void; switchTenant: (payload: WithCallback) => void; loadTenants: (payload?: { callback?: ((data: ITenantsResponse[] | null, error?: string | undefined) => void) | undefined; } | undefined) => void; setRolesState: (state: RolesState) => void; resetRolesState: () => void; loadRolesAndPermissions: (payload?: { silentLoading?: boolean | undefined; } | undefined) => void; addRole: (payload: WithCallback) => void; updateRole: (payload: WithCallback) => void; deleteRole: (payload: WithCallback) => void; attachPermissionsToRole: (payload: WithCallback) => void; attachPermissionToRoles: (payload: WithCallback<{ permissionId: string; roleIds: string[]; }, IRolePermission>) => void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export {}; //# sourceMappingURL=frontegg-auth.service.d.ts.map