{{ header }}#nullable enable
using System;
namespace {{ namespace }};
/// <summary>Context passed to every visitor callback.</summary>
public record NodeContext(
/// <summary>Coarse-grained node type tag.</summary>
NodeType NodeType,
/// <summary>HTML element tag name (e.g. "div").</summary>
string TagName,
/// <summary>DOM depth (0 = root).</summary>
ulong Depth,
/// <summary>0-based sibling index.</summary>
ulong IndexInParent,
/// <summary>Parent element tag name, or null at the root.</summary>
string? ParentTag,
/// <summary>True when this element is treated as inline.</summary>
bool IsInline
);