import type { Usage } from "@bastani/pi-ai"; import type { AgentSessionEvent } from "../core/agent-session.js"; type WithoutPartial = T extends { partial: unknown; } ? Omit : T; type ToJsonAssistantMessageEvent = T extends { type: "toolcall_start"; partial: unknown; } ? WithoutPartial & { id?: string; toolName?: string; } : WithoutPartial; type MessageUpdateEvent = Extract; type JsonMessageUpdateEvent = { type: "message_update"; usage: Usage; endTurn?: boolean; assistantMessageEvent: ToJsonAssistantMessageEvent; }; /** Session event shape emitted by the JSON and RPC stdout protocols. */ export type JsonAgentSessionEvent = Exclude | JsonMessageUpdateEvent; /** Remove cumulative assistant snapshots while retaining constant-size metadata. */ export declare function toJsonEvent(event: MessageUpdateEvent): JsonMessageUpdateEvent; export declare function toJsonEvent(event: AgentSessionEvent): JsonAgentSessionEvent; export {}; //# sourceMappingURL=json-event.d.ts.map