import { DataEntityService, DomainEntityService, DomainEntityServiceDefaultData, GenericObject, LoggerService } from '@node-c/core'; import { AuthorizationStaticCheckAccessOptions, AuthorizationStaticCheckAccessResult, AuthorizationUser, AuthorizeApiKeyData, AuthorizeApiKeyOptions, AuthorizationPoint as BaseAuthorizationPoint } from './iam.authorization.definitions'; import { DecodedTokenContent, IAMTokenManagerService } from '../tokenManager'; export declare class IAMAuthorizationService = BaseAuthorizationPoint, Data extends DomainEntityServiceDefaultData> = DomainEntityServiceDefaultData>, TokenManager extends IAMTokenManagerService = IAMTokenManagerService> extends DomainEntityService, Data, Record>> | undefined> { protected dataAuthorizationPointsService: DataEntityService; protected defaultMethods: string[]; protected logger: LoggerService; protected additionalDataEntityServices?: GenericObject>> | undefined; protected tokenManager?: TokenManager | undefined; constructor(dataAuthorizationPointsService: DataEntityService, defaultMethods: string[] | undefined, logger: LoggerService, additionalDataEntityServices?: GenericObject>> | undefined, tokenManager?: TokenManager | undefined); authorizeApiKey(data: AuthorizeApiKeyData, options: AuthorizeApiKeyOptions): Promise<{ valid: boolean; }>; authorizeBearer(data: { authToken?: string; refreshToken?: string; }, options?: { identifierDataField?: string; }): Promise<{ newAccessToken?: string; newIdToken?: string; newRefreshToken?: string; tokenContent?: DecodedTokenContent; valid: boolean; }>; checkAccessWithStorage(): Promise; static checkAccess(inputData: InputData, user: AuthorizationUser, options: AuthorizationStaticCheckAccessOptions): AuthorizationStaticCheckAccessResult; static getValuesForTesting(valueToTest: unknown): unknown[]; static matchInputValues(input: GenericObject, values: GenericObject): GenericObject; static processOutputData(authorizationPoints: { [id: number]: BaseAuthorizationPoint; }, outputData: GenericObject): { outputDataToBeMutated: GenericObject; }; static testValue(valueToTest: unknown, valueToTestAgainst: unknown): boolean; }