import type { Usage } from "@caupulican/pi-ai"; import type { GatewayUsageDelta, ProviderBudgetReservation } from "../orchestration/capability-gateway.ts"; export declare class WorkerCompletionProtocolError extends Error { constructor(message: string); } /** * Owns one provider request's reservation epochs and usage evidence. The caller remains responsible * for persisting the assistant and checkpoint between accounting and consuming an epoch. */ export declare class WorkerProviderTurnProtocol { private readonly acquireReservation; private readonly recordUsage; private readonly signal; private readonly onFailure; private readonly callbackAccountedUsage; private held; private heldConsumed; private assistantUsageAccounted; private inFlight; private generation; private closed; private successfulPreflights; private consumedPreflights; constructor(options: { acquireReservation(): Promise; recordUsage?(delta: GatewayUsageDelta): void; signal: AbortSignal; onFailure(error: unknown): void; }); requestPreflight(): Promise<{ maxTokens: number; }>; accountAssistantUsage(usage: Usage): void; /** Account usage before releasing a tool-request turn for nested or subsequent provider work. */ consumeToolAssistantAndRelease(): void; /** Account usage while retaining a terminal turn's remaining capacity through result verification. */ consumeTerminalAssistantAndHold(): void; assertEverySuccessfulPreflightConsumed(): void; assertProviderOutputPreflight(kind?: "completion" | "compaction"): void; hasSuccessfulPreflight(): boolean; hasOutstandingAssistantReservation(): boolean; /** Conservatively charge only provider-result usage not already evidenced by assistant callbacks. */ accountUnverifiedResultUsageDelta(reported: Usage): boolean; close(): void; private consumeAccountedAssistant; private assertOutstandingReservation; private releaseHeldReservation; private fail; } //# sourceMappingURL=worker-provider-turn-protocol.d.ts.map