import { type AutocompleteItem, type AutocompleteProvider, type SlashCommand } from "@gajae-code/tui"; import type { KeybindingsManager } from "../config/keybindings"; interface PromptActionDefinition { id: string; label: string; description: string; keywords: string[]; execute: (prefix: string) => void; } interface PromptActionAutocompleteOptions { commands: SlashCommand[]; basePath: string; keybindings: KeybindingsManager; copyCurrentLine: () => void; copyPrompt: () => void; pasteImage: () => void; pasteText: () => void; newSession: () => void; showHelp: () => void; scrollTmuxToPreviousUserInput: () => void; undo: (prefix: string) => void; moveCursorToMessageEnd: () => void; moveCursorToMessageStart: () => void; moveCursorToLineStart: () => void; moveCursorToLineEnd: () => void; /** * Ghost-text next-prompt prediction shown in the empty composer as a dim * inline hint (Tab accepts it via the editor's onTab handler). */ getPromptSuggestion?: () => string | null; } export declare class PromptActionAutocompleteProvider implements AutocompleteProvider { #private; constructor(commands: SlashCommand[], basePath: string, actions: PromptActionDefinition[], getPromptSuggestion?: () => string | null); getSuggestions(lines: string[], cursorLine: number, cursorCol: number): Promise<{ items: AutocompleteItem[]; prefix: string; } | null>; getForceFileSuggestions(lines: string[], cursorLine: number, cursorCol: number): Promise<{ items: AutocompleteItem[]; prefix: string; } | null>; applyCompletion(lines: string[], cursorLine: number, cursorCol: number, item: AutocompleteItem, prefix: string): { lines: string[]; cursorLine: number; cursorCol: number; onApplied?: () => void; }; getInlineHint(lines: string[], cursorLine: number, cursorCol: number): string | null; trySyncSlashCompletion(textBeforeCursor: string): { items: AutocompleteItem[]; prefix: string; } | null; trySyncInlineReplace(textBeforeCursor: string): { replaceLen: number; insert: string; } | null; } export declare function createPromptActionAutocompleteProvider(options: PromptActionAutocompleteOptions): PromptActionAutocompleteProvider; export {};