import type { RoundDelta } from "./messageDelta.js"; import { type PayloadLine } from "./payload.js"; import type { Round } from "./timeline/rounds.js"; export declare function hasSystemMessages(round: Round | undefined): boolean; export type InputPayload = { lines: PayloadLine[]; /** Where this call's new messages begin in `lines`: the divider, when * the call has history. The overview opens the preview there. */ newAt: number; }; export type InputOptions = { systemsExpanded: boolean; /** Show the whole history, faded, instead of the stub of its last message. */ historyExpanded: boolean; /** Print every tool result whole instead of its first RESULT_PREVIEW_CHARS. */ fullResults: boolean; }; /** Whether any tool result among the call's messages is longer than the * preview keeps. */ export declare function hasCutToolResult(round: Round | undefined): boolean; /** Whether the call carries messages a previous call on its thread sent. */ export declare function hasHistory(round: Round | undefined, delta: RoundDelta | undefined): boolean; /** The recorded input. With the call's delta, the messages the previous * call already had are history: folded, only the last of them shows, as * its heading and first line plus a count of the rest; expanded, all of * it shows, faded, with a divider where the new messages start. */ export declare function roundInputPayload(round: Round, options: InputOptions, delta?: RoundDelta): InputPayload; /** `SYSTEM`, the prompt's first line as a signpost for where the reader * is, and `… (+10 more lines · s to show)`; expanded, the whole prompt * and `s to hide`. The overview and the transcript both draw this. */ export declare function systemPromptPayload(role: string, content: unknown, expanded: boolean): PayloadLine[];