import type { Agent } from "@caupulican/pi-agent-core/agent"; import { type ClassifiedError, classifyFailure } from "@caupulican/pi-agent-core/reliability"; import type { AssistantMessage } from "@caupulican/pi-ai"; import type { ModelRegistry } from "./model-registry.ts"; import type { ModelRouterFailoverStatus } from "./model-router/status.ts"; export declare class ExhaustedProviderRegistry { private readonly exhausted; markExhausted(ref: string, until?: number): void; isExhausted(ref: string): boolean; snapshot(): string[]; } export interface BillingFailoverControllerDeps { agent: Agent; modelRegistry: ModelRegistry; emit(event: { type: "warning"; message: string; }): void; exhausted: ExhaustedProviderRegistry; subscriptionHop?: boolean; recordFailure?(args: { provider?: string; modelId?: string; message: string; classified: ReturnType; }): void; } export declare class BillingFailoverController { private readonly deps; private lastNotice; constructor(deps: BillingFailoverControllerDeps); isExhausted(ref: string): boolean; snapshotExhausted(): string[]; getLastNotice(): string | undefined; getStatus(): ModelRouterFailoverStatus; handleAssistantError(message: AssistantMessage, classified?: ClassifiedError): Promise; } //# sourceMappingURL=billing-failover-controller.d.ts.map