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; } } /** * This adds a resource guard, which is permissive. * Only controllers annotated with `@Resource` and methods with `@Scopes` * are handled by this guard. */ export declare class ResourceGuard implements CanActivate { private keycloak; private readonly reflector; logger: Logger; constructor(keycloak: KeycloakConnect.Keycloak, reflector: Reflector); canActivate(context: ExecutionContext): Promise; }