import type { Token } from './tokenizer'; import { ParserBase } from './base'; import type { DocumentNode, LiquidHtmlNode, LiquidStatement, LiquidVariableOutput, LiquidRawTag, LiquidTag, LiquidNode, TextNode, HtmlElement, HtmlVoidElement, HtmlSelfClosingElement, HtmlRawNode, HtmlComment, HtmlDoctype, HtmlDanglingMarkerClose, AttributeNode } from '../ast'; import '../environment'; import type { Environment, LiquidLineContext } from '../environment'; import type { Position } from '../types'; import type { LiquidOpenWhitespace, LiquidCloseWhitespace } from './factories'; import type { BlockParserDelegate } from './liquid-blocks'; import type { RawParserDelegate } from './liquid-raw'; import type { TagParserDelegate } from './liquid-tags'; import type { HtmlParserDelegate } from './html'; import type { LineParserDelegate } from './liquid-lines'; import type { NodeDispatchDelegate } from './node-dispatch'; export declare class DocumentParser extends ParserBase implements TagParserDelegate, BlockParserDelegate, RawParserDelegate, HtmlParserDelegate, LineParserDelegate, NodeDispatchDelegate { private env; private _parseHtml; private _allowUnclosedHtml; private readonly _allowUnclosedDocumentNode; private _inAttributeContext; private _inAttributeValueContext; constructor(tokens: Token[], source: string, env: Environment, parseHtml: boolean, allowUnclosedDocumentNode?: boolean); get rawParseHtml(): boolean; set rawParseHtml(v: boolean); get blockEnv(): Environment; get blockParseHtml(): boolean; get blockAllowUnclosedHtml(): boolean; set blockAllowUnclosedHtml(v: boolean); get blockAllowUnclosedDocumentNode(): boolean; get blockInAttributeContext(): boolean; get blockInAttributeValueContext(): boolean; set blockInAttributeValueContext(v: boolean); get htmlParseHtml(): boolean; get htmlAllowUnclosedHtml(): boolean; set htmlAllowUnclosedHtml(v: boolean); get htmlInAttributeContext(): boolean; set htmlInAttributeContext(v: boolean); get htmlInAttributeValueContext(): boolean; set htmlInAttributeValueContext(v: boolean); get lineEnv(): Environment; get lineParseHtml(): boolean; get lineAllowUnclosedDocumentNode(): boolean; get dispatchParseHtml(): boolean; get dispatchAllowUnclosedHtml(): boolean; tagForName(name: string): import("../tag-definitions").TagDefinition | undefined; parseDocument(): DocumentNode; parseNode(): LiquidHtmlNode; parseLiquidTag(): LiquidTag | LiquidRawTag; parseLiquidVariableOutput(): LiquidVariableOutput; peekTagName(): string | null; isBlockTerminator(): boolean; consumeEndTag(): { position: Position; whitespace: { start: LiquidOpenWhitespace; end: LiquidCloseWhitespace; }; }; parseLiquidInRange(bodyStart: number, bodyEnd: number): (LiquidNode | TextNode)[]; parseBranchAttributes(): AttributeNode[]; parseLiquidStatement(tagName: string, markupString: string, markupOffset: number, ctx: LiquidLineContext): LiquidStatement; parseHtmlElement(): HtmlElement | HtmlVoidElement | HtmlSelfClosingElement | HtmlRawNode; parseHtmlComment(): HtmlComment; parseHtmlDoctype(): HtmlDoctype; parseOrphanedHtmlCloseTag(): never; parseHtmlDanglingMarkerClose(): HtmlDanglingMarkerClose; } export { finalizeBranch } from './liquid-blocks';