import type { ChatMessage, ToolCall, ToolResult } from "../../types.js"; import type { OutcomeEnvelope } from "../outcomes.js"; import { type GovernorState } from "../evidence-governor.js"; export interface OutcomeAccountingState { retryDependenciesChanged: boolean; retryEnvironmentChanged: boolean; governorState: GovernorState; governorReflects: number; lastGovernorReason: string | undefined; } export interface OutcomeAccountingPorts { readonly outcomeState: OutcomeEnvelope; readonly maxSteps: number; readonly codingSession: boolean; readonly attemptCount: (call: ToolCall) => number; readonly moveTurn: (to: "exploring", reason: string) => void; readonly deferMessage: (message: ChatMessage) => void; } export interface OutcomeAccountingInput { readonly call: ToolCall; readonly result: ToolResult; readonly toolEventId: string; readonly artifactPath: string | undefined; readonly dispatchedTaskId: string | undefined; readonly probeStateKey: string | undefined; } export declare const accountToolOutcome: (ports: OutcomeAccountingPorts, state: OutcomeAccountingState, input: OutcomeAccountingInput) => void;