import { CanActivate, ExecutionContext } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; import { TenantContextService } from '../services'; /** * Metadata key for requiring tenant */ export declare const REQUIRE_TENANT_KEY = "requireTenant"; /** * Guard that ensures a valid tenant context exists for the request. * Works with REST controllers, GraphQL resolvers, WebSocket gateways, and microservice handlers. * Use with @RequireTenant() decorator on controllers, resolvers, gateways, handlers, or methods. * * @example REST Controller * ```typescript * @Controller('users') * @UseGuards(TenantGuard) * @RequireTenant() * export class UsersController {} * ``` * * @example GraphQL Resolver * ```typescript * @Resolver(() => User) * @UseGuards(TenantGuard) * @RequireTenant() * export class UsersResolver {} * ``` * * @example WebSocket Gateway * ```typescript * @WebSocketGateway() * @UseGuards(TenantGuard) * @RequireTenant() * export class ChatGateway {} * ``` * * @example Microservice Controller * ```typescript * @Controller() * @UseGuards(TenantGuard) * @RequireTenant() * export class UsersHandler {} * ``` */ export declare class TenantGuard implements CanActivate { private readonly reflector; private readonly tenantContext; constructor(reflector: Reflector, tenantContext: TenantContextService); canActivate(context: ExecutionContext): boolean; } //# sourceMappingURL=tenant.guard.d.ts.map