export interface AutocompleteItem { value: string; label: string; description?: string; } type Awaitable = T | Promise; export interface SlashCommand { name: string; description?: string; getArgumentCompletions?(argumentPrefix: string): Awaitable; } export interface AutocompleteSuggestions { items: AutocompleteItem[]; prefix: string; } export interface AutocompleteProvider { getSuggestions(lines: string[], cursorLine: number, cursorCol: number, options: { signal: AbortSignal; force?: boolean; }): Promise; applyCompletion(lines: string[], cursorLine: number, cursorCol: number, item: AutocompleteItem, prefix: string): { lines: string[]; cursorLine: number; cursorCol: number; }; } export declare class CombinedAutocompleteProvider implements AutocompleteProvider { private commands; private basePath; private fdPath; constructor(commands?: (SlashCommand | AutocompleteItem)[], basePath?: string, fdPath?: string | null); getSuggestions(lines: string[], cursorLine: number, cursorCol: number, options: { signal: AbortSignal; force?: boolean; }): Promise; applyCompletion(lines: string[], cursorLine: number, cursorCol: number, item: AutocompleteItem, prefix: string): { lines: string[]; cursorLine: number; cursorCol: number; }; private extractAtPrefix; private extractPathPrefix; private expandHomePath; private resolveScopedFuzzyQuery; private scopedPathForDisplay; private getFileSuggestions; private scoreEntry; private getFuzzyFileSuggestions; shouldTriggerFileCompletion(lines: string[], cursorLine: number, cursorCol: number): boolean; } export {}; //# sourceMappingURL=autocomplete.d.ts.map