import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common'; import { PureAbility } from '@casl/ability'; import { Observable } from 'rxjs'; import { ResourcePolicy } from './resource.policy'; export type PolicyRules = { filter?: any; projection?: any; }; export declare class ResourcePolicyInterceptor implements NestInterceptor { protected readonly resourcePolicy: ResourcePolicy; private readonly log; constructor(resourcePolicy: ResourcePolicy); intercept(context: ExecutionContext, next: CallHandler): Observable; private checkAbility; private aggregatePolicyRules; }