type ModelSwitchReason = "rate-limit" | "service-unavailable"; type ModelFallbackErrorEvent = { event: { type: string; properties?: unknown; }; }; type ModelFallbackDependencies = { defaultFallbackChain?: string[]; getCurrentModel?: (sessionID: string) => string | undefined; getAvailableModels?: (sessionID: string) => Set; setCurrentModel?: (sessionID: string, model: string) => void | Promise; onFallbackApplied?: (input: { sessionID: string; previousModel: string; nextModel: string; reason: ModelSwitchReason; }) => void | Promise; }; export declare function createModelFallbackHandler(deps?: ModelFallbackDependencies): ({ event }: ModelFallbackErrorEvent) => Promise; export {};