import { AnyObject } from '@casl/ability/dist/types/types'; import { AuthorizableUser } from './authorizable-user.interface'; import { CaslRequestCache } from './casl-request-cache.interface'; export interface AuthorizableRequest = AuthorizableUser, Subject = AnyObject> { user?: User; currentUser?: User; casl: CaslRequestCache; [key: string]: any; } export interface ContextWithAuthorizableRequest = AuthorizableUser, Subject = AnyObject> { req: AuthorizableRequest; }