import type { ProcessedRequest, StandardizedRequest } from '../../../conversion/hub/types/standardized.js';
import type { ClassificationResult, RoutingFeatures, RouterMetadataInput } from '../types.js';
import type { RoutingInstructionState } from '../routing-instructions.js';
import type { VirtualRouterEngine } from '../engine-legacy.js';
export type RoutingSelectionResult = {
    routingState: RoutingInstructionState;
    requestedRoute: string;
    classification: ClassificationResult;
    selection: {
        providerKey: string;
        routeUsed: string;
        pool: string[];
        poolId?: string;
    };
    features: RoutingFeatures;
};
export declare function selectRoutingTarget(engine: VirtualRouterEngine, request: StandardizedRequest | ProcessedRequest, metadata: RouterMetadataInput, routingState: RoutingInstructionState, stateKey: string): RoutingSelectionResult;
