import type { Style } from "../../core/types.js"; import type { TToolCallStatus, TToolCallViewSegment, TToolCallViewStyles } from "../components/TToolCallView.js"; export type TUserMessageSegment = Readonly<{ start: number; end: number; href?: string; style?: Style; meta?: unknown; }>; export type TUserMessageViewModel = Readonly<{ indent: number; headerText: string; header: Style; content: Style; segment: Style; headerSegments: readonly Readonly<{ start: number; end: number; text: string; style: Style; }>[]; rows: readonly Readonly<{ text: string; start: number; end: number; segments: readonly TUserMessageSegment[]; }>[]; }>; export declare function resolveTUserMessageViewModel(opts: Readonly<{ w: number; label: string; prefix?: string; meta?: string; content: string; indent?: number; topBlank?: boolean; bottomBlank?: boolean; segments?: readonly TUserMessageSegment[]; style?: Style; headerStyle?: Style; prefixStyle?: Style; labelStyle?: Style; contentStyle?: Style; segmentStyle?: Style; }>): TUserMessageViewModel; export type TThinkingViewModel = Readonly<{ headerText: string; bodyRows: readonly string[]; styles: Readonly<{ header: Style; body: Style; }>; }>; export declare function resolveTThinkingViewModel(opts: Readonly<{ w: number; title: string; content: string; collapsed: boolean; pulseFrame?: number | null; style?: Style; headerStyle?: Style; markerStyle?: Style; titleStyle?: Style; bodyStyle?: Style; }>): TThinkingViewModel; export type TToolCallViewModel = Readonly<{ styles: TToolCallViewStyles; marker: string; suffix: string; preview: string; previewPrefix: string; headerSegments: readonly TToolCallViewSegment[]; previewSegments: readonly TToolCallViewSegment[]; }>; export declare function resolveTToolCallViewModel(opts: Readonly<{ w: number; title: string; collapsed: boolean; selected?: boolean; nested?: boolean; status?: TToolCallStatus; suffix?: string; preview?: string; markerCollapsed?: string; markerExpanded?: string; statusDot?: string; previewPrefix?: string; style?: Style; mutedStyle?: Style; headerStyle?: Style; collapsedStyle?: Style; expandedStyle?: Style; markerStyle?: Style; statusStyle?: Style; titleStyle?: Style; suffixStyle?: Style; previewStyle?: Style; }>): TToolCallViewModel;