import { ConfigProviderService, DataDefaultData, DataEntityService, DomainEntityServiceDefaultData, GenericObject, LoggerService } from '@node-c/core'; import { IAMAuthenticationManagerAuthenticateOptions, IAMAuthenticationManagerAuthenticateReturnData, IAMAuthenticationManagerUserTokenEnityFields } from './iam.authenticationManager.definitions'; import { IAMAuthenticationService, IAMAuthenticationType } from '../authentication'; import { IAMAuthenticationOAuth2Service } from '../authenticationOAuth2'; import { IAMAuthenticationUserLocalService } from '../authenticationUserLocal'; import { IAMTokenManagerService } from '../tokenManager'; import { IAMUserWithPermissionsData, IAMUsersService } from '../users'; export declare class IAMAuthenticationManagerService> = DomainEntityServiceDefaultData>, DataEntityServiceData extends DataDefaultData> = DataDefaultData>> { protected authServices: { [IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service; [IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService; } & { [serviceName: string]: IAMAuthenticationService; }; protected configProvider: ConfigProviderService; protected logger: LoggerService; protected moduleName: string; protected dataUsersAuthCacheService?: DataEntityService | undefined; domainUsersEntityService?: IAMUsersService, Data, Record, DataDefaultData>> | undefined> | undefined; protected tokenManager?: IAMTokenManagerService | undefined; constructor(authServices: { [IAMAuthenticationType.OAuth2]?: IAMAuthenticationOAuth2Service; [IAMAuthenticationType.UserLocal]?: IAMAuthenticationUserLocalService; } & { [serviceName: string]: IAMAuthenticationService; }, configProvider: ConfigProviderService, logger: LoggerService, moduleName: string, dataUsersAuthCacheService?: DataEntityService | undefined, domainUsersEntityService?: IAMUsersService, Data, Record, DataDefaultData>> | undefined> | undefined, tokenManager?: IAMTokenManagerService | undefined); authenticate(options: IAMAuthenticationManagerAuthenticateOptions): Promise>; private executeStep; protected getUserForStepExecution(options: { filters: GenericObject; mainFilterField: string; }): Promise | null>; }