import type { ChatPost, ChatUpdate, ChatDelete, ChatMarkQueued, StreamText, StreamMutableOpen, StreamMutableUpdate, ModalOpen, ModalAck, TuiFrame } from '../../platform/tui/protocol.js'; export interface StreamState { segments: string[]; mutable: Map; } export interface RenderedMessage { messageId: string; text: string; richBlocks?: Array<{ type: string; text?: string; [key: string]: unknown; }>; queued: boolean; streams: Map; } interface TranscriptState { messages: Map; ids: string[]; } export declare function useTranscript(opts?: { onModalOpen?: (frame: ModalOpen) => void; onModalAck?: (frame: ModalAck) => void; }): { messages: Map; ids: string[]; messageCount: number; dispatch: (frame: TuiFrame) => void; clear: () => void; flushBatch: () => void; }; export declare function _handleChatPost(prev: TranscriptState, frame: ChatPost): TranscriptState; export declare function _handleChatUpdate(prev: TranscriptState, frame: ChatUpdate): TranscriptState; export declare function _handleChatDelete(prev: TranscriptState, frame: ChatDelete): TranscriptState; export declare function _handleChatMarkQueued(prev: TranscriptState, frame: ChatMarkQueued): TranscriptState; export declare function _handleStreamText(prev: TranscriptState, frame: StreamText): TranscriptState; export declare function _handleStreamMutableOpen(prev: TranscriptState, frame: StreamMutableOpen): TranscriptState; export declare function _handleStreamMutableUpdate(prev: TranscriptState, frame: StreamMutableUpdate): TranscriptState; export {};