import { NestMiddleware } from '@nestjs/common';
import { Request, Response, NextFunction } from 'express';
import { JwtService } from '../jwt.service';
import { AuthService } from '../auth.service';
import { AuthOptions } from '../auth.module';
import { AuthMiddlewareOptions } from '../../../interfaces/auth.interfaces';
import { ExternalAuthService } from './external-auth.service';
export declare class AuthMiddleware implements NestMiddleware {
    private readonly options;
    private readonly middlewareOptions;
    private readonly jwtService;
    private readonly authService;
    private readonly externalAuthService;
    private readonly logger;
    private readonly excludePaths;
    constructor(options: AuthOptions, middlewareOptions: AuthMiddlewareOptions, jwtService: JwtService, authService: AuthService, externalAuthService: ExternalAuthService);
    use(req: Request, res: Response, next: NextFunction): Promise<void>;
    private extractTokenFromHeader;
    private shouldSkipAuth;
    private handleUnauthorized;
    private validateWithExternalService;
}
