import { AnyObject } from '@casl/ability/dist/types/types'; import { AuthorizableRequest } from '../interfaces/request.interface'; import { CaslRequestCache } from '../interfaces/casl-request-cache.interface'; import { AuthorizableUser } from '../interfaces/authorizable-user.interface'; import { SubjectBeforeFilterHook, UserBeforeFilterHook } from '../interfaces/hooks.interface'; import { ConditionsProxy } from './conditions.proxy'; export declare class RequestProxy = AuthorizableUser, Subject = AnyObject> { private request; private readonly defaultCaslCache; constructor(request: AuthorizableRequest); get cached(): CaslRequestCache; getConditions(): ConditionsProxy | undefined; setConditions(conditions: ConditionsProxy): void; getSubject(): Subject | undefined; setSubject(subject: Subject | undefined): void; getUser(): User | undefined; setUser(user: User | undefined): void; getUserHook(): UserBeforeFilterHook; setUserHook(hook: UserBeforeFilterHook): void; getSubjectHook(): SubjectBeforeFilterHook; setSubjectHook(hook: SubjectBeforeFilterHook): void; }