import type { FailoverReason } from "../../pi-embedded-helpers.js"; export type RunFailoverDecision = { action: "continue_normal"; } | { action: "rotate_profile" | "surface_error"; reason: FailoverReason | null; } | { action: "fallback_model"; reason: FailoverReason; } | { action: "return_error_payload"; }; export type RetryLimitFailoverDecision = Extract; export type PromptFailoverDecision = Extract; export type AssistantFailoverDecision = Extract; type RetryLimitDecisionParams = { stage: "retry_limit"; fallbackConfigured: boolean; failoverReason: FailoverReason | null; }; type PromptDecisionParams = { stage: "prompt"; aborted: boolean; externalAbort: boolean; fallbackConfigured: boolean; failoverFailure: boolean; failoverReason: FailoverReason | null; profileRotated: boolean; }; type AssistantDecisionParams = { stage: "assistant"; aborted: boolean; externalAbort: boolean; fallbackConfigured: boolean; failoverFailure: boolean; failoverReason: FailoverReason | null; timedOut: boolean; timedOutDuringCompaction: boolean; timedOutDuringToolExecution: boolean; profileRotated: boolean; }; export type RunFailoverDecisionParams = RetryLimitDecisionParams | PromptDecisionParams | AssistantDecisionParams; export declare function mergeRetryFailoverReason(params: { previous: FailoverReason | null; failoverReason: FailoverReason | null; timedOut?: boolean; }): FailoverReason | null; export declare function resolveRunFailoverDecision(params: RetryLimitDecisionParams): RetryLimitFailoverDecision; export declare function resolveRunFailoverDecision(params: PromptDecisionParams): PromptFailoverDecision; export declare function resolveRunFailoverDecision(params: AssistantDecisionParams): AssistantFailoverDecision; export {};