import type { TaskRunner } from "../contracts/orchestration.js";
import { ProviderHealthRegistry } from "./health.js";
import type { ProviderId, ProviderModelDefault, ProviderPolicy } from "./types.js";
export interface ProviderTaskRunnerOptions {
    kimiRunner: TaskRunner;
    deepseekRunner?: TaskRunner;
    authorityProvider?: ProviderId;
    authorityRunner?: TaskRunner;
    providerRunners?: Partial<Record<ProviderId, TaskRunner>>;
    providerModels?: Partial<Record<ProviderId, ProviderModelDefault>>;
    providerHealth?: ProviderHealthRegistry;
    providerPolicy?: ProviderPolicy;
    deepseekMaxRetries?: number;
    onDeepSeekDisabled?: (event: DeepSeekDisableEvent) => void | Promise<void>;
}
export interface DeepSeekDisableEvent {
    nodeId: string;
    nodeRole: string;
    reason: string;
    failureKind: "availability";
    forced: true;
}
export declare function createProviderTaskRunner(options: ProviderTaskRunnerOptions): TaskRunner;
