import type { AccountRef, AgentPermissionMode, AgentProvider, AgentSandbox } from "../../types.js"; import type { TodosTaskRouteOptions } from "./types.js"; export declare const SUPPORTED_AGENT_PROVIDERS: Set; export type ProviderRoutingSource = "default" | "option" | "rule" | "metadata"; export interface ProviderRoutingRule { raw: string; field: string; value: string; provider: AgentProvider; profiles?: string[]; } export interface ProviderRoutingDecision { provider: AgentProvider; source: ProviderRoutingSource; reason: string; rule?: Pick; authProfile?: string; authProfilePool?: string[]; account?: AccountRef; accountPool?: AccountRef[]; } export declare function normalizeAgentProvider(value: string | undefined, source: string): AgentProvider; export declare function parseProviderRoutingRule(raw: string): ProviderRoutingRule; export declare function accountPoolFromOpts(opts: { accountPool?: string; accountTool?: string; }): AccountRef[] | undefined; export declare function roleAccountFromOpts(opts: { accountTool?: string; }, profile: string | undefined): AccountRef | undefined; export declare function providerRoutingPublic(decision: ProviderRoutingDecision): Record; export declare function resolveProviderRouting(data: Record, metadata: Record, opts: TodosTaskRouteOptions): ProviderRoutingDecision; export declare function providerAuthProfileFromOpts(opts: { authProfile?: string; }, provider: AgentProvider): string | undefined; export declare function sandboxFromOpts(opts: { sandbox?: string; }, provider: AgentProvider): AgentSandbox | undefined; export declare function permissionModeFromOpts(opts: { permissionMode?: string; }, provider: AgentProvider): AgentPermissionMode | undefined;