import type { InteractiveModeContext } from "./types"; /** * Owns the ghost-text next-prompt prediction lifecycle for interactive mode. * * After each agent turn ends (and only when `promptSuggestions` is enabled * and the composer is empty), a smol-model prediction of the user's next * prompt is generated in the background. The result renders as dim ghost * text in the empty composer via the autocomplete provider's inline hint; * Tab accepts it, typing dismisses it, and a new turn clears it. */ export declare class PromptSuggestionController { #private; constructor(ctx: InteractiveModeContext); /** Current suggestion to render as ghost text, or null. */ get current(): string | null; /** Drop the current suggestion and invalidate any in-flight generation. */ clear(): void; /** A new agent turn started; any pending suggestion is stale. */ onAgentStart(): void; /** * Editor content changed. A non-empty composer means the user is writing * their own prompt: dismiss the suggestion and cancel pending generation. */ notifyEditorChanged(text: string): void; /** * Agent turn ended; kick off background generation when the feature is * enabled and the composer is idle and empty. */ onAgentEnd(): void; /** * Tab handler for the composer: accept the suggestion when the composer * is empty. Returns true when Tab was consumed. */ tryAcceptOnTab(text: string): boolean; }