import { type AdapterCapabilities, type ClearReason, type PromptSnapshot, type SuggestionCandidate } from "./suggestion.js"; import { CustomEditor, type KeybindingsManager } from "@earendil-works/pi-coding-agent"; import { type EditorTheme, type TUI } from "@earendil-works/pi-tui"; export declare const PI_NATIVE_CAPABILITIES: AdapterCapabilities; export declare const DEFAULT_DEBOUNCE_MS = 250; export declare const DEFAULT_MINIMUM_DRAFT_CHARACTERS = 3; export interface SuggestionBridge { suggest(snapshot: PromptSnapshot, requestId: string, signal: AbortSignal, onUpdate?: (candidate: SuggestionCandidate) => void): Promise; } export interface PiEditorOptions { readonly bridge: SuggestionBridge; readonly keybindings: KeybindingsManager; readonly styleDim: (text: string) => string; readonly debounceMs?: number; readonly minimumDraftCharacters?: number; readonly enabled?: boolean; readonly onClear?: (reason: ClearReason) => void; } export declare class PiSuggestionEditor extends CustomEditor { private readonly bridge; private readonly keybindings; private readonly styleDim; private readonly debounceMs; private readonly minimumDraftCharacters; private readonly onClear; private revision; private requestSequence; private enabled; private currentCandidate; private renderedCandidate; private generation; private debounceTimer; private pasteInProgress; private disposed; constructor(tui: TUI, theme: EditorTheme, options: PiEditorOptions); capabilities(): AdapterCapabilities; setEnabled(enabled: boolean): void; clear(reason: ClearReason, requestRender?: boolean): void; dispose(): void; handleInput(data: string): void; render(width: number): string[]; private capturePosition; private scheduleSuggestion; private generateSuggestion; private createSnapshot; private hasCurrentCandidateForRequest; private clearCandidateForRequest; private reuseMatchingCandidate; private isCandidateCurrent; private acceptCurrentCandidate; private isAtLogicalEnd; private resetCandidate; private cancelPending; } //# sourceMappingURL=pi-suggestion-editor.d.ts.map