import type { Token } from './tokenizer'; import { ParserBase } from './base'; import type { LiquidTagEnvelope } from './factories'; import type { LiquidTag } from '../ast'; import type { TagDefinitionHybrid } from '../environment'; import type { BlockParserDelegate } from './liquid-blocks'; /** * Interface capturing what hybrid-tag free functions need from the * DocumentParser. The parser class satisfies this contract, keeping * the coupling explicit and narrow. */ export type HybridParserDelegate = BlockParserDelegate; export declare function parseHybridTag(parser: HybridParserDelegate, def: TagDefinitionHybrid, envelope: LiquidTagEnvelope, closeToken: Token): LiquidTag; /** * Scan forward for a matching end tag, respecting nesting of same-named tags. * Returns the token index of the end tag's LiquidTagOpen, or -1 if not found. */ export declare function scanForEndTagNested(parser: ParserBase, tagName: string): number;