import type { StageRecorder } from '../../../../format-adapters/index.js';
import type { ProcessedRequest, StandardizedRequest } from '../../../../types/standardized.js';
import type { RouterMetadataInput, RoutingDecision, RoutingDiagnostics, TargetMetadata } from '../../../../../../router/virtual-router/types.js';
import { VirtualRouterEngine } from '../../../../../../router/virtual-router/engine.js';
export interface ReqProcessStage2RouteSelectOptions {
    routerEngine: VirtualRouterEngine;
    request: StandardizedRequest | ProcessedRequest;
    metadataInput: RouterMetadataInput;
    normalizedMetadata: Record<string, unknown>;
    stageRecorder?: StageRecorder;
}
export interface ReqProcessStage2RouteSelectResult {
    target: TargetMetadata;
    decision: RoutingDecision;
    diagnostics: RoutingDiagnostics;
}
export declare function runReqProcessStage2RouteSelect(options: ReqProcessStage2RouteSelectOptions): ReqProcessStage2RouteSelectResult;
