import type { TraceProcessorService } from '../services/traceProcessorService';
import type { IOrchestrator } from '../agent/core/orchestratorTypes';
import { type AgentRuntimeKind, type ProviderScope } from '../services/providerManager';
export type BackendAgentRuntimeKind = AgentRuntimeKind;
export interface RuntimeSelection {
    kind: BackendAgentRuntimeKind;
    source: 'provider' | 'snapshot' | 'env' | 'default';
    providerId?: string;
    providerName?: string;
    providerType?: string;
}
export interface CreateAgentOrchestratorInput {
    traceProcessorService: TraceProcessorService;
    /**
     * undefined = resolve current active provider.
     * string = use that provider.
     * null = pin to env/default fallback and ignore Provider Manager.
     */
    providerId?: string | null;
    runtimeOverride?: BackendAgentRuntimeKind;
    providerScope?: ProviderScope;
}
export declare function resolveAgentRuntimeSelection(providerId?: string | null, runtimeOverride?: BackendAgentRuntimeKind, providerScope?: ProviderScope): RuntimeSelection;
export declare function createAgentOrchestrator(input: CreateAgentOrchestratorInput): IOrchestrator;
//# sourceMappingURL=runtimeSelection.d.ts.map