import type { AutoRoutingConfig, RoutingTier } from '../../models/config-types.js'; import type { RoutingWorkSnapshot, WorkRequirementEstimator } from './contracts.js'; import type { ProviderActivityCallback, StreamCallback } from '../../../shared/types/provider.js'; export declare class RoutingRuntime { private readonly options; private readonly resolutions; private readonly estimates; constructor(options: { autoRouting: AutoRoutingConfig; estimator: WorkRequirementEstimator; }); resolve(input: { scope: string; snapshot: RoutingWorkSnapshot; abortSignal?: AbortSignal; onStream?: StreamCallback; onActivity?: ProviderActivityCallback; }): Promise<{ requiredTier: RoutingTier; reasonCodes: undefined; fingerprintChanged: boolean; escalationReason: "failed-without-progress" | "no-progress" | undefined; estimatorDurationMs: number; inputTokenBucket: "medium" | "small" | "large"; candidate: import("../../models/config-types.js").AutoRoutingCandidate; poolName?: string; resolutionSource: "auto.rules" | "auto.dynamic" | "auto.fallback"; fallbackReason?: "estimator-failure"; } | { requiredTier: RoutingTier; reasonCodes: string[]; fingerprintChanged: boolean; escalationReason: "failed-without-progress" | "no-progress" | undefined; estimatorDurationMs: number; inputTokenBucket: "medium" | "small" | "large"; candidate: import("../../models/config-types.js").AutoRoutingCandidate; poolName?: string; resolutionSource: "auto.rules" | "auto.dynamic" | "auto.fallback"; fallbackReason?: "estimator-failure"; }>; recordExecutionResult(input: { scope: string; status: 'failed' | 'done'; madeProgress?: boolean; }): void; hasResolution(scope: string): boolean; private resolveEstimated; private resolveFallback; private resolveRequiredTier; private escalationReason; private withProgress; private copyEstimate; private selectionStep; } //# sourceMappingURL=runtime.d.ts.map