import type { ThinkingLevel } from "@caupulican/pi-agent-core"; import type { SessionEntry } from "@caupulican/pi-agent-core/node"; import type { RouteDecision } from "../autonomy/contracts.ts"; import type { ModelRouterIntent } from "./intent-classifier.ts"; export declare const MODEL_ROUTER_DECISION_CUSTOM_TYPE = "model_router_decision"; export type ModelRouterTierFitnessStatus = { status: "fit"; } | { status: "unprobed"; } | { status: "unfit"; lane: string; succeeded: number; total: number; }; export type ModelRouterFitnessStatuses = Partial>; export type ModelRouterFailoverStatus = { exhausted: string[]; lastNotice?: string; failureStats?: { total: number; unknown: number; }; }; export type ModelRouterStatusSettings = { enabled: boolean; fitnessGate?: boolean; cheapModel?: string; cheapThinking?: ThinkingLevel; mediumModel?: string; mediumThinking?: ThinkingLevel; expensiveModel?: string; expensiveThinking?: ThinkingLevel; learningModel?: string; executorModel?: string; executorThinking?: ThinkingLevel; judgeModel?: string; judgeThinking?: ThinkingLevel; }; export type ModelRouterDecisionStatus = { route: RouteDecision; routedModel: string; outcome: "routed" | "escalated" | "failed"; retryModel?: string; intent?: ModelRouterIntent; }; export declare function getRecentModelRouterDecisions(entries: SessionEntry[], limit?: number): ModelRouterDecisionStatus[]; export declare function formatModelRouterStatus(settings: ModelRouterStatusSettings, lastDecision?: ModelRouterDecisionStatus, formatLabel?: (label: string) => string, recentDecisions?: ModelRouterDecisionStatus[], lastSkipReason?: string, latestIntent?: ModelRouterIntent, fitnessStatuses?: ModelRouterFitnessStatuses, failoverStatus?: ModelRouterFailoverStatus): string; //# sourceMappingURL=status.d.ts.map