interface BufferedOutput { key: string; chatId: string; messageId: string | null; thinkingMessageId: string | null; replyMessageId: string | null; sessionId: string; content: string[]; thinking: string[]; tools: Array<{ name: string; status: 'pending' | 'running' | 'completed' | 'failed'; output?: string; }>; finalText: string; finalThinking: string; openCodeMsgId: string; showThinking: boolean; dirty: boolean; lastUpdate: number; timer: NodeJS.Timeout | null; status: 'running' | 'completed' | 'failed' | 'aborted'; } declare class OutputBuffer { private buffers; private updateCallback; setUpdateCallback(callback: (buffer: BufferedOutput) => Promise): void; getOrCreate(key: string, chatId: string, sessionId: string, replyMessageId: string | null): BufferedOutput; append(key: string, text: string): void; appendThinking(key: string, text: string): void; setMessageId(key: string, messageId: string): void; setThinkingMessageId(key: string, messageId: string): void; setTools(key: string, tools: Array<{ name: string; status: 'pending' | 'running' | 'completed' | 'failed'; output?: string; }>): void; touch(key: string): void; setFinalSnapshot(key: string, text: string, thinking: string): void; setOpenCodeMsgId(key: string, openCodeMsgId: string): void; setShowThinking(key: string, showThinking: boolean): void; setStatus(key: string, status: BufferedOutput['status']): void; private scheduleUpdate; private triggerUpdate; getAndClear(key: string): { text: string; thinking: string; }; clear(key: string): void; get(key: string): BufferedOutput | undefined; abort(key: string): void; clearAll(): void; } export declare const outputBuffer: OutputBuffer; export {}; //# sourceMappingURL=output-buffer.d.ts.map