import { AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings, AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings, AppConfigDomainIAMAuthenticationStep, DomainFindOnePrivateOptions, GenericObject } from '@node-c/core'; import { IAMAuthenticationCompleteResult, IAMAuthenticationInitiateResult, IAMAuthenticationService, IAMAuthenticationType } from '../authentication'; import { AuthorizationUser } from '../authorization'; import { IAMMFAType } from '../mfa'; export interface IAMUserManagerCreateAccessTokenOptions { auth: { mfaType?: IAMMFAType; type: IAMAuthenticationType | string; } & AuthData; filters?: GenericObject; mainFilterField: string; rememberUser?: boolean; step?: AppConfigDomainIAMAuthenticationStep; } export type IAMUserManagerCreateAccessTokenReturnData = { accessToken: string; idToken: string; refreshToken?: string; user: UserData; } | { nextStepsRequired: boolean; }; export type IAMUserManagerExecuteStepData = Omit, 'rememberUser' | 'step'>; export interface IAMUserManagerExecuteStepOptions { authService: IAMAuthenticationService; name: AppConfigDomainIAMAuthenticationStep; stepConfig: AppConfigCommonDomainIAMAuthServiceConfigCompleteSettings | AppConfigCommonDomainIAMAuthServiceConfigInitiateSettings; } export interface IAMUserManagerExecuteStepResult { stepResult: IAMAuthenticationCompleteResult | IAMAuthenticationInitiateResult; user: IAMUserManagerUserWithPermissionsData | null; userFilterField?: string | undefined; userFilterValue?: unknown | undefined; } export interface IAMUserManagerGetUserWithPermissionsDataOptions extends DomainFindOnePrivateOptions { keepPassword?: boolean; } export type IAMUserManagerUserWithPermissionsData = AuthorizationUser & UserData; export interface IAMUserManagerUserTokenEnityFields { accessToken?: string; refreshToken?: string; userId: UserId; user?: IAMUserManagerUserWithPermissionsData; } export declare enum IAMUserManagerUserTokenUserIdentifier { FieldName = "userId" }