import { CanActivate, ExecutionContext, Logger } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; import * as KeycloakConnect from 'keycloak-connect'; declare module 'keycloak-connect' { interface Keycloak { enforcer(expectedPermissions: string | string[]): (req: any, res: any, next: any) => any; } } export declare class ResourceGuard implements CanActivate { private keycloak; private readonly reflector; logger: Logger; constructor(keycloak: KeycloakConnect.Keycloak, reflector: Reflector); canActivate(context: ExecutionContext): Promise; getRequest(context: ExecutionContext): T; }