{
  "id": "@typed/template/Wire#Rendered",
  "canonicalId": "@typed/template#Rendered",
  "symbol": {
    "id": "@typed/template/Wire#Rendered",
    "packageName": "@typed/template",
    "moduleName": "Wire",
    "exportName": "Rendered",
    "kind": "type",
    "signatures": [
      "export type Rendered = Rendered.Value | ReadonlyArray<Rendered>;",
      "export declare namespace Rendered {\n    type Value = Node | DocumentFragment | Wire;\n    type Values<T extends Rendered> = [\n        T\n    ] extends [\n        ReadonlyArray<infer R>\n    ] ? ReadonlyArray<R | Exclude<T, ReadonlyArray<any>>> : ReadonlyArray<T>;\n    type Elements<T extends Rendered> = ReadonlyArray<[\n        Node\n    ] extends [\n        Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>\n    ] ? HTMLElement | SVGElement : Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>>;\n}"
    ],
    "summary": "A union type representing all possible rendered values.\nCan be a single Node, a DocumentFragment, a Wire, or an array of these.",
    "sections": {
      "Why": "Renderer output can preserve arbitrary DOM shape and identity without forcing\na single wrapper element.",
      "Ownership and lifetime": "The type describes existing DOM values. Ownership stays with the producer and\nthe bounded render range that consumes them."
    },
    "examples": [
      {
        "language": "ts",
        "code": "import type { Rendered } from \"@typed/template/Wire\"\n\n// Rendered can be various DOM node types\nconst node: Rendered = document.createElement(\"div\")\nconst fragment: Rendered = document.createDocumentFragment()\nconst array: Rendered = [node, fragment]"
      }
    ],
    "relations": [],
    "source": {
      "file": "packages/template/src/Wire.ts",
      "line": 359
    },
    "since": "1.0.0",
    "category": "Native output shapes"
  },
  "exposure": {
    "recordKind": "declaration",
    "id": "@typed/template/Wire#Rendered",
    "packageName": "@typed/template",
    "packageVersion": "1.0.0-beta.7",
    "moduleName": "Wire",
    "consumerSpecifier": "@typed/template/Wire",
    "exportName": "Rendered",
    "qualifiedName": "Rendered",
    "declarationKey": "declaration:c2af90f7cb105ba7d035e964",
    "family": "type-alias",
    "signatures": [
      "export type Rendered = Rendered.Value | ReadonlyArray<Rendered>;",
      "export declare namespace Rendered {\n    type Value = Node | DocumentFragment | Wire;\n    type Values<T extends Rendered> = [\n        T\n    ] extends [\n        ReadonlyArray<infer R>\n    ] ? ReadonlyArray<R | Exclude<T, ReadonlyArray<any>>> : ReadonlyArray<T>;\n    type Elements<T extends Rendered> = ReadonlyArray<[\n        Node\n    ] extends [\n        Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>\n    ] ? HTMLElement | SVGElement : Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>>;\n}"
    ],
    "sourceSpans": [
      {
        "file": "packages/template/src/Wire.ts",
        "start": {
          "line": 359,
          "column": 1
        },
        "end": {
          "line": 359,
          "column": 65
        }
      },
      {
        "file": "packages/template/src/Wire.ts",
        "start": {
          "line": 361,
          "column": 1
        },
        "end": {
          "line": 418,
          "column": 2
        }
      }
    ],
    "aliases": [
      "@typed/template#Rendered"
    ],
    "isAlias": false,
    "static": false
  },
  "declaration": {
    "declarationKey": "declaration:c2af90f7cb105ba7d035e964",
    "name": "Rendered",
    "family": "type-alias",
    "facets": [
      {
        "family": "type-alias",
        "syntaxKind": "TypeAliasDeclaration",
        "signatures": [
          "export type Rendered = Rendered.Value | ReadonlyArray<Rendered>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/template/src/Wire.ts",
            "start": {
              "line": 359,
              "column": 1
            },
            "end": {
              "line": 359,
              "column": 65
            }
          }
        ],
        "static": false,
        "readonly": false,
        "optional": false
      },
      {
        "family": "namespace",
        "syntaxKind": "ModuleDeclaration",
        "signatures": [
          "export declare namespace Rendered {\n    type Value = Node | DocumentFragment | Wire;\n    type Values<T extends Rendered> = [\n        T\n    ] extends [\n        ReadonlyArray<infer R>\n    ] ? ReadonlyArray<R | Exclude<T, ReadonlyArray<any>>> : ReadonlyArray<T>;\n    type Elements<T extends Rendered> = ReadonlyArray<[\n        Node\n    ] extends [\n        Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>\n    ] ? HTMLElement | SVGElement : Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>>;\n}"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/template/src/Wire.ts",
            "start": {
              "line": 361,
              "column": 1
            },
            "end": {
              "line": 418,
              "column": 2
            }
          }
        ],
        "static": false,
        "readonly": false,
        "optional": false
      }
    ],
    "signatures": [
      "export type Rendered = Rendered.Value | ReadonlyArray<Rendered>;",
      "export declare namespace Rendered {\n    type Value = Node | DocumentFragment | Wire;\n    type Values<T extends Rendered> = [\n        T\n    ] extends [\n        ReadonlyArray<infer R>\n    ] ? ReadonlyArray<R | Exclude<T, ReadonlyArray<any>>> : ReadonlyArray<T>;\n    type Elements<T extends Rendered> = ReadonlyArray<[\n        Node\n    ] extends [\n        Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>\n    ] ? HTMLElement | SVGElement : Exclude<T, DocumentFragment | Wire | ReadonlyArray<Rendered>>>;\n}"
    ],
    "typeParameters": [],
    "summary": "A union type representing all possible rendered values.\nCan be a single Node, a DocumentFragment, a Wire, or an array of these.",
    "sections": {
      "Why": "Renderer output can preserve arbitrary DOM shape and identity without forcing\na single wrapper element.",
      "Ownership and lifetime": "The type describes existing DOM values. Ownership stays with the producer and\nthe bounded render range that consumes them."
    },
    "examples": [
      {
        "language": "ts",
        "code": "import type { Rendered } from \"@typed/template/Wire\"\n\n// Rendered can be various DOM node types\nconst node: Rendered = document.createElement(\"div\")\nconst fragment: Rendered = document.createDocumentFragment()\nconst array: Rendered = [node, fragment]"
      }
    ],
    "sourceSpans": [
      {
        "file": "packages/template/src/Wire.ts",
        "start": {
          "line": 359,
          "column": 1
        },
        "end": {
          "line": 359,
          "column": 65
        }
      },
      {
        "file": "packages/template/src/Wire.ts",
        "start": {
          "line": 361,
          "column": 1
        },
        "end": {
          "line": 418,
          "column": 2
        }
      }
    ],
    "since": "1.0.0",
    "category": "Native output shapes"
  }
}
