import * as _codemirror_state from '@codemirror/state'; import { Parser } from '@lezer/common'; import { LRLanguage, LanguageSupport } from '@codemirror/language'; import { CompletionContext, CompletionResult } from '@codemirror/autocomplete'; /** Type used to specify tags to complete. */ interface TagSpec { /** Define tag-specific attributes. Property names are attribute names, and property values can be null to indicate free-form attributes, or a list of strings for suggested attribute values. */ attrs?: Record; /** When set to false, don't complete global attributes on this tag. */ globalAttrs?: boolean; /** Can be used to specify a list of child tags that are valid inside this tag. The default is to allow any tag. */ children?: readonly string[]; } /** HTML tag completion. Opens and closes tags and attributes in a context-aware way. */ declare function htmlCompletionSource(context: CompletionContext): CompletionResult | null; /** Create a completion source for HTML extended with additional tags or attributes. */ declare function htmlCompletionSourceWith(config: { /** Define extra tag names to complete. */ extraTags?: Record; /** Add global attributes that are available on all tags. */ extraGlobalAttributes?: Record; }): (context: CompletionContext) => CompletionResult | null; type NestedLang = { tag: string; attrs?: (attrs: { [attr: string]: string; }) => boolean; parser: Parser; }; type NestedAttr = { name: string; tagName?: string; parser: Parser; }; /** A language provider based on the [Lezer HTML parser](https://github.com/lezer-parser/html), extended with the JavaScript and CSS parsers to parse the content of `