import type { ConversationManager } from './conversation.js'; import type { ModelDefinition, ProviderRegistry } from '../providers/registry.js'; import { type ConversationFollowUpItem } from './conversation-follow-ups.js'; import { normalizeUsage } from './orchestrator-runtime.js'; export interface OrchestratorFollowUpRuntimeOptions { readonly conversation: ConversationManager; readonly getViewportHeight: () => number; readonly scrollToEnd: (height: number) => void; readonly getSystemPrompt: () => string; readonly requestRender: () => void; readonly getThinkingState: () => { readonly isThinking: boolean; readonly isCompacting: boolean; }; readonly getQueuedUserMessageCount: () => number; readonly getProviderRegistry: () => ProviderRegistry; readonly getCurrentModel: () => ModelDefinition; readonly routeLowPriorityMessage: (message: string) => void; readonly applyUsage: (usage: ReturnType) => void; } export declare class OrchestratorFollowUpRuntime { private readonly options; private queue; private flushScheduled; private isRunning; private readonly recentKeys; constructor(options: OrchestratorFollowUpRuntimeOptions); enqueue(item: ConversationFollowUpItem): void; scheduleFlush(): void; private pruneRecent; private takeBatch; private flush; } //# sourceMappingURL=orchestrator-follow-up-runtime.d.ts.map