import { Completion, CompletionContext, CompletionResult } from '@codemirror/autocomplete'; import { type ReactElement } from 'react'; import type { IntlProps } from '../utils/render-node.js'; /** * @internal */ export type AutocompleteProvider = (context: CompletionContext) => Promise; /** * @internal */ export interface AutocompletionResult extends Omit { suggestions: Suggestion[]; /** @defaultValue false */ reopen?: boolean | ((suggestions: Completion) => Promise); keepOrder?: boolean; } /** * @internal */ export interface Suggestion extends Pick { prefix?: (({ suggestion }: { suggestion: Suggestion; }) => ReactElement) | string; postfix?: (({ suggestion }: { suggestion: Suggestion; }) => ReactElement) | string; popup?: ({ suggestion }: { suggestion: Suggestion; }) => ReactElement; type?: string; } export declare const autocompletionExtension: (autocompleteProvider: AutocompleteProvider, intlProps: IntlProps) => ((ctx: CompletionContext) => Promise);