import { Token } from '../index'; import type { Config, AST } from '../../base'; import type { AttributesToken, SyntaxToken } from '../../internal'; import type { AstRange } from '../../lib/range'; /** * HTML tag * * HTML标签 * @classdesc `{childNodes: [AttributesToken]}` */ export declare abstract class TagToken extends Token { #private; readonly childNodes: readonly [AttributesToken | SyntaxToken]; abstract get firstChild(): AttributesToken | SyntaxToken; abstract get lastChild(): AttributesToken | SyntaxToken; abstract get type(): 'html' | 'tvar'; abstract get selfClosing(): boolean | undefined; abstract get legacy(): boolean | undefined; abstract get children(): [AttributesToken | SyntaxToken]; abstract get firstElementChild(): AttributesToken | SyntaxToken; abstract get lastElementChild(): AttributesToken | SyntaxToken; /** whether to be a closing tag / 是否是闭合标签 */ get closing(): boolean; set closing(value: boolean); /** * @param tag 标签名 * @param attr 标签属性 * @param closing 是否闭合 */ constructor(tag: string, attr: AttributesToken | SyntaxToken, closing: boolean, config?: Config, accum?: Token[]); /** * Find the matching tag * * 搜索匹配的标签 */ findMatchingTag(): this | undefined; /** * Get the range of the tag pair * * 获取标签对的范围 * @since v1.23.0 */ getRange(): AstRange | undefined; }