import { AnyAbility } from '@casl/ability'; import { AnyObject, Subject } from '@casl/ability/dist/types/types'; import { AuthorizableRequest } from './interfaces/request.interface'; import { AbilityFactory } from './factories/ability.factory'; import { AbilityMetadata } from './interfaces/ability-metadata.interface'; import { AuthorizableUser } from './interfaces/authorizable-user.interface'; export declare class AccessService { private abilityFactory; constructor(abilityFactory: AbilityFactory); getAbility = AuthorizableUser>(user: User): AnyAbility; hasAbility = AuthorizableUser>(user: User, action: string, subject: Subject, field?: string): boolean; assertAbility = AuthorizableUser>(user: User, action: string, subject: Subject, field?: string): void; canActivateAbility(request: AuthorizableRequest, ability?: AbilityMetadata): Promise; private isThereAnyFieldRestriction; }