import { NestMiddleware } from '@nestjs/common';
import { Request, Response, NextFunction } from 'express';
import { TenantService } from '../modules/tenant/tenant.service';
import { ClsService } from 'nestjs-cls';
export interface RequestWithTenant extends Request {
    tenant?: {
        id: number;
        subdomain: string;
        database_name: string;
        name: string;
    };
}
export declare class TenantMiddleware implements NestMiddleware {
    private readonly tenantService;
    private readonly cls;
    constructor(tenantService: TenantService, cls: ClsService);
    use(req: RequestWithTenant, res: Response, next: NextFunction): Promise<void>;
    private extractSubdomain;
}
