# Node

Represents any root or child node in the renderer-neutral template AST.

## Signatures

```ts
export type Node = ElementNode | SelfClosingElementNode | TextOnlyElement | TextNode | NodePart | Comment | DocType;
```

## Why

DOM and HTML compilers exhaustively dispatch on the public `_tag` union.

## Ownership and lifetime

This union describes parsed data and owns no renderer resource.

## Examples

```ts
import { TextNode, type Node } from "@typed/template/Template"

const node: Node = new TextNode("hello")
```
