///
import type { IncomingMessage, ServerResponse } from 'http';
import type { IncomingParams, IncomingRequestAuthenticateResult, Route } from '../types/interfaces';
import type { RequestConfig, SecurityProviders } from '../types/types';
import { Context } from './Context';
import type { RequestFactory } from './RequestFactory';
export declare class IncomingRequest {
handle(factory: RequestFactory, route: Route, req: IncomingMessage, res: ServerResponse, params: IncomingParams, requestConfig: RequestConfig, securityProviders: SecurityProviders): Promise;
protected buildContext(req: IncomingMessage, res: ServerResponse, params: IncomingParams, route: Route): Promise;
protected authenticate(authProvider: unknown, context: Context, securityProviders: SecurityProviders): Promise;
}