import { AnyClass } from '@casl/ability/dist/types/types'; import { ModuleRef } from '@nestjs/core'; import { AuthorizableUser } from '../interfaces/authorizable-user.interface'; import { UserBeforeFilterHook, UserBeforeFilterTuple } from '../interfaces/hooks.interface'; export declare class NullUserHook implements UserBeforeFilterHook { run(): Promise; } export declare class TupleUserHook implements UserBeforeFilterHook { private service; private runFunc; constructor(service: Service, runFunc: (service: Service, user: AuthorizableUser) => Promise); run(user: AuthorizableUser): Promise; } export declare function userHookFactory(moduleRef: ModuleRef, hookOrTuple?: AnyClass | UserBeforeFilterTuple): Promise;