import { SyntaxNode } from '@lezer/common'; import { CompletionSource, Completion, CompletionContext } from '@codemirror/autocomplete'; export declare function contextualKeyword(options: { before?: string; after?: string; context: string; keyword: string; }): CompletionSource; export declare const keywordCompletions: CompletionSource[]; export declare const dontCompleteExpression: string[]; export declare const doCompleteExpression: string[]; export declare function ifNode(completionSource: CompletionSource, { include, exclude }: { include: string[]; exclude: string[]; }): (context: CompletionContext) => import("@codemirror/autocomplete").CompletionResult | Promise | null; export declare function ifExpression(completionSource: CompletionSource): CompletionSource; export declare function snippetCompletion(snippets: readonly Completion[]): CompletionSource; export declare function matchLeft(node: SyntaxNode, position: number, nodes: (string | undefined)[]): SyntaxNode | null; export declare function matchRight(node: SyntaxNode, position: number, nodes: (string | undefined)[]): SyntaxNode | null; export declare function matchChildren(node: SyntaxNode, position: number, nodes: (string | undefined)[], direction: 1 | -1): SyntaxNode | null; export declare function ifInside(options: { nodes: string | string[]; keyword: string; before?: string; after?: string; }, source: CompletionSource): CompletionSource;