import type ESTree from "estree"; import type { BaseNode } from "./base"; import type { Token, Comment } from "./common"; export type SvelteHTMLNode = SvelteProgram | SvelteScriptElement | SvelteStyleElement | SvelteElement | SvelteStartTag | SvelteEndTag | SvelteName | SvelteMemberExpressionName | SvelteText | SvelteLiteral | SvelteMustacheTag | SvelteDebugTag | SvelteConstTag | SvelteIfBlock | SvelteElseBlock | SvelteEachBlock | SvelteAwaitBlock | SvelteAwaitPendingBlock | SvelteAwaitThenBlock | SvelteAwaitCatchBlock | SvelteKeyBlock | SvelteAttribute | SvelteShorthandAttribute | SvelteSpreadAttribute | SvelteDirective | SvelteStyleDirective | SvelteSpecialDirective | 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 `