import type ESTree from "estree"; import type { TSESTree } from "@typescript-eslint/types"; import type { BaseNode } from "./base.js"; import type { Token, Comment } from "./common.js"; import type { SvelteFunctionBindingsExpression } from "./script.js"; export type SvelteHTMLNode = SvelteProgram | SvelteScriptElement | SvelteStyleElement | SvelteElement | SvelteStartTag | SvelteEndTag | SvelteName | SvelteMemberExpressionName | SvelteText | SvelteLiteral | SvelteMustacheTag | SvelteDebugTag | SvelteConstTag | SvelteRenderTag | SvelteIfBlock | SvelteElseBlock | SvelteEachBlock | SvelteAwaitBlock | SvelteAwaitPendingBlock | SvelteAwaitThenBlock | SvelteAwaitCatchBlock | SvelteKeyBlock | SvelteSnippetBlock | SvelteAttribute | SvelteShorthandAttribute | SvelteSpreadAttribute | SvelteAttachTag | SvelteDirective | SvelteStyleDirective | SvelteSpecialDirective | SvelteGenericsDirective | SvelteDirectiveKey | SvelteSpecialDirectiveKey | SvelteHTMLComment; /** Node of Svelte program root */ export interface SvelteProgram extends BaseNode { type: "Program"; body: (SvelteScriptElement | SvelteStyleElement | Child)[]; sourceType: "script" | "module"; comments: Comment[]; tokens: Token[]; parent: null; } /** Node of elements like HTML element. */ export type SvelteElement = SvelteHTMLElement | SvelteComponentElement | SvelteSpecialElement; type BaseSvelteElement = BaseNode; /** Node of `