import type { CompletionItem, WordAtCursor } from "../types.js"; import type { Token } from "../../../expressions/lexer/types.js"; export declare function useCompletions(completionProvider?: (tokens: Token[], cursorPosition: number) => CompletionItem[] | Promise): { selectedItem: CompletionItem | null; fetchCompletions: (tokens: Token[], cursorPosition: number, word: WordAtCursor) => Promise; updateFilter: (prefix: string) => void; navigate: (direction: "up" | "down") => void; dismiss: () => void; items: CompletionItem[]; filteredItems: CompletionItem[]; selectedIndex: number; isOpen: boolean; isLoading: boolean; };