import { IAccess } from '../interfaces/access'; import { IAccessAuthorizer } from '../interfaces/access-authorizer'; import { TAction } from '../types/action'; import { TAuthorizerConstructorOptions } from '../types/authorizer-constructor-options'; import { TEnvironment } from '../types/environment'; import { TPermission } from '../types/permission'; import { TResource } from '../types/resource'; export declare class AccessAuthorizer implements IAccessAuthorizer { private accessFactory; private conditionEvaluator; constructor(options?: TAuthorizerConstructorOptions); authorize(resource: TResource, action: TAction, permissions: TPermission[], environment?: TEnvironment): IAccess; protected filterRelevantPermissions(resource: TResource, action: TAction, permissions: TPermission[]): TPermission[]; }