import type { StreamCallbacks } from '../agent/types.js'; export interface TelegramResponseAdapter { send(text: string): Promise; edit(handle: string, text: string): Promise; delete(handle: string): Promise; } export interface TelegramResponsePresenterOptions { throttleMs?: number; maxLength?: number; chunkRetryCount?: number; resumeFromChunk?: number; onChunkProgress?: (nextIndex: number, uncertain: boolean) => void | Promise; } export declare function splitTelegramMessage(text: string, maxLength: number): string[]; export declare class TelegramResponsePresenter { private readonly adapter; private readonly throttleMs; private readonly maxLength; private handle; private accumulatedText; private toolStatus; private editTimer; private inFlightEdit; private finalized; private finalizing; private readonly chunkRetryCount; private readonly resumeFromChunk; private readonly onChunkProgress?; constructor(adapter: TelegramResponseAdapter, options?: TelegramResponsePresenterOptions); start(): Promise; callbacks(): StreamCallbacks; markQueued(): void; finalize(rawResponse: string): Promise; fail(message: string): Promise; private scheduleEdit; private flushStreamingEdit; private cancelPendingEdit; private sendChunks; private recordChunkProgress; } //# sourceMappingURL=telegram-response-presenter.d.ts.map