import type { NextFunction, Request } from 'express';
import type { Response } from '../Response';
import { type SecurityDefinition } from '../middlewares/impl/before/SecurityMiddleware';
export type AuthType = 'http' | 'apiKey' | 'oauth2' | 'openIdConnect';
export declare abstract class AbstractSecurityValidationHandler {
    abstract handle(req: Request, _res: Response, next: NextFunction, config: SecurityDefinition): void;
    abstract canHandle(type: AuthType): boolean;
    protected getToken(scheme: string, config: SecurityDefinition, req: Request): string | undefined;
}
