import type { Context } from 'telegraf'; import type { OutputEvent, SubagentProgressMeta } from '../agent/types.js'; import type { SenderState } from './streaming.sender.js'; import type { ProgressEntry } from './streaming.preview.js'; export interface ProgressState extends SenderState { accumulated: string; progressEntries: ProgressEntry[]; progressRounds: number; progressTimer: ReturnType | null; turnEnded: boolean; editInFlight: boolean; turnStartedAt: number; } export declare function handleProgressEvent(event: { progress: { description?: string; lastToolName?: string; }; }, state: ProgressState, progressGateOpen: boolean, progressDelayMs: number, ctx: Context, chatId: number, livePreview: () => string, setProgressGateOpen: (v: boolean) => void, clearProgressTimer: () => void): Promise; export declare function makeSubagentSink(state: SenderState, ctx: Context, chatId: number, livePreview: () => string, bumpActivity: () => void, subagentState: { subagentSteps: number; recentSubagentSteps: string[]; }): (event: OutputEvent, meta: SubagentProgressMeta) => void;