import type { AutoRoutingCandidate, AutoRoutingConfig, AutoRoutingStrategy } from '../../models/config-types.js'; import type { ProviderResolutionSource } from '../provider-options-trace.js'; import type { RuntimeStepResolution, StepProviderInfo } from '../types.js'; import type { RoutingWorkSnapshot, WorkRequirementEstimator } from './contracts.js'; import type { RoutingRuntime } from './runtime.js'; import type { ProviderActivityCallback, StreamCallback } from '../../../shared/types/provider.js'; export interface AutoRoutingStepMetadata { name: string; tags?: string[]; personaKey?: string; instruction?: string; } export declare function toAutoRoutingStepMetadata(step: { name: string; tags?: string[]; providerRoutingPersonaKey?: string; instruction?: string; }): AutoRoutingStepMetadata; export interface AutoRoutingLogger { warn: (message: string) => void; } type CurrentProviderInfo = Pick; export interface ResolveAutoRoutingRuntimeInput { autoRouting: AutoRoutingConfig; scope?: string; step: AutoRoutingStepMetadata; snapshot: RoutingWorkSnapshot; currentProviderInfo: CurrentProviderInfo; estimator?: WorkRequirementEstimator; runtime?: RoutingRuntime; logger?: AutoRoutingLogger; abortSignal?: AbortSignal; onStream?: StreamCallback; onActivity?: ProviderActivityCallback; } export interface ResolveAutoRoutingBatchItem { id: string; scope?: string; step: AutoRoutingStepMetadata; snapshot: RoutingWorkSnapshot; currentProviderInfo: CurrentProviderInfo; } export interface ResolveAutoRoutingBatchInput { autoRouting: AutoRoutingConfig; items: ResolveAutoRoutingBatchItem[]; concurrency?: number; estimator?: WorkRequirementEstimator; runtime?: RoutingRuntime; logger?: AutoRoutingLogger; abortSignal?: AbortSignal; onStream?: StreamCallback; onActivity?: ProviderActivityCallback; } export declare function createRoutingScope(input: { workflow: string; parentStep: string; workItem: string; }): string; export declare function applyAutoRoutingStrategyOverride(autoRouting: AutoRoutingConfig | undefined, strategy: AutoRoutingStrategy | undefined): AutoRoutingConfig | undefined; export declare function validateAutoRoutingResolvedProviderModel(provider: AutoRoutingCandidate['provider'], model: string | undefined): void; export declare function resolveAutoRoutingCandidateProviderInfo(candidate: AutoRoutingCandidate, source: ProviderResolutionSource, autoRouting: AutoRoutingConfig, currentProviderInfo: CurrentProviderInfo, decision?: { requiredTier?: 'low' | 'medium' | 'high'; reasonCodes?: string[]; fallbackReason?: string; fingerprintChanged?: boolean; retryReason?: 'failed-without-progress' | 'no-progress'; estimatorDurationMs?: number; inputTokenBucket?: 'small' | 'medium' | 'large'; }): StepProviderInfo; export declare function matchAutoRoutingRules(autoRouting: AutoRoutingConfig, step: AutoRoutingStepMetadata): AutoRoutingCandidate | undefined; export declare function resolveRuleBasedAutoRoutingProviderInfo(input: Pick): StepProviderInfo | undefined; export declare function resolveDeterministicAutoRoutingProviderInfo(input: Pick): StepProviderInfo | undefined; export declare function resolveAutoRoutingRuntime(input: ResolveAutoRoutingRuntimeInput): Promise; export declare function resolveAutoRoutingBatch(input: ResolveAutoRoutingBatchInput): Promise>; export {}; //# sourceMappingURL=resolver.d.ts.map