import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
import { Observable } from 'rxjs';
/**
 * Multi-tenancy interceptor.
 *
 * This interceptor ensures that the tenant ID in the request headers matches the tenant ID
 * in the user's session. It verifies that:
 * 1. The user is authenticated and has a valid tenant ID
 * 2. The request contains a tenant ID header ('X-TENANT-ID')
 * 3. The tenant ID in the header matches the user's assigned tenant
 *
 * If any of these conditions fail, it throws NotAcceptableException.
 * After validation, it sets the user session using SessionService.
 *
 * This interceptor is crucial for maintaining proper multi-tenant data isolation
 * and preventing unauthorized cross-tenant access.
 */
export declare class MultiTenancyInterceptor implements NestInterceptor {
    intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
}
