import type { LogDisplayMode } from "./log-display-mode.js";
export type { LogDisplayMode };
/**
 * 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";
/**
 * 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 captured output (stdout, stderr, sandbox lifecycle lines) to
     * surface as inline regions. Output is always captured and buffered so it
     * cannot corrupt the frame; this only controls what is rendered. The
     * `/loglevel` command switches the mode at runtime, retroactively hiding or
     * restoring buffered lines. `TerminalRenderer` defaults to `none`; the
     * `eve dev` CLI defaults to `stderr`.
     */
    logs?: LogDisplayMode;
};
