import { CanActivate, ExecutionContext } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
/**
 * NestJS guard that checks RBAC permissions for protected routes.
 * Uses the @CheckPermissions decorator to determine required permissions.
 * Can auto-infer permissions from route paths or use explicit configuration.
 *
 * @example
 * ```typescript
 * // Apply globally
 * app.useGlobalGuards(new PermissionsGuard(reflector));
 *
 * // Apply to specific controllers
 * @Controller('billing')
 * @UseGuards(PermissionsGuard)
 * export class BillingController { ... }
 *
 * // Apply to specific routes
 * @Get('invoices')
 * @UseGuards(PermissionsGuard)
 * @CheckPermissions()
 * getInvoices() { ... }
 * ```
 */
export declare class PermissionsGuard implements CanActivate {
    private reflector;
    constructor(reflector: Reflector);
    canActivate(context: ExecutionContext): Promise<boolean>;
    private getUserIdentity;
    private getFeatureAndPermission;
    private inferFeatureAndPermission;
}
