/**
 * Controls how terminal UI sections for stream parts are displayed.
 */
export type TerminalPartDisplayMode = "full" | "collapsed" | "auto-collapsed" | "hidden";
/**
 * Controls which usage statistic is shown for assistant responses.
 */
export type AssistantResponseStatsMode = "tokens" | "tokensPerSecond";
/**
 * Controls which in-process server/agent logs the TUI surfaces as inline
 * regions. `all` shows both stdout and stderr; `stderr` shows only stderr;
 * `none` suppresses log regions entirely.
 */
export type LogDisplayMode = "all" | "stderr" | "none";
/**
 * Display options shared by the terminal UI runner and renderer.
 */
export type TuiDisplayOptions = {
    /**
     * The title shown in the terminal UI.
     */
    name?: string;
    /**
     * How tool calls should render.
     */
    tools?: TerminalPartDisplayMode;
    /**
     * How reasoning parts should render.
     */
    reasoning?: TerminalPartDisplayMode;
    /**
     * How subagent sections should render. `full` shows every nested child
     * event line and the subagent's output; `auto-collapsed` collapses the
     * section once the subagent reaches `done`; `collapsed` always shows
     * only the header; `hidden` skips the section entirely.
     */
    subagents?: TerminalPartDisplayMode;
    /**
     * How MCP connection authorization sections should render. `full`
     * shows the challenge URL and any user code; `auto-collapsed`
     * collapses the section once authorization reaches a terminal
     * outcome (`authorized`, `declined`, `failed`, `timed-out`);
     * `collapsed` always shows only the header. `hidden` is supported
     * but strongly discouraged: a hidden auth challenge looks identical
     * to a hung turn from the user's perspective.
     */
    connectionAuth?: TerminalPartDisplayMode;
    /**
     * Which statistic to show in assistant response headers.
     *
     * @default "tokensPerSecond"
     */
    assistantResponseStats?: AssistantResponseStatsMode;
    /**
     * The model context window size in tokens.
     *
     * When provided, the terminal UI shows the current total token usage as a
     * percentage of this context window.
     */
    contextSize?: number;
    /**
     * Which in-process server/agent logs to surface as inline regions.
     * Output is always captured so it cannot corrupt the frame; this only
     * controls what is rendered. Defaults to `all` — the TUI is primarily a
     * development tool.
     */
    logs?: LogDisplayMode;
};
