{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "schemaVersion": 1011,
    "oldestForwardsCompatibleVersion": 1001,
    "tsdocConfig": {
      "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
      "noStandardTags": true,
      "tagDefinitions": [
        {
          "tagName": "@alpha",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@beta",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@defaultValue",
          "syntaxKind": "block"
        },
        {
          "tagName": "@decorator",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@deprecated",
          "syntaxKind": "block"
        },
        {
          "tagName": "@eventProperty",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@example",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@experimental",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@inheritDoc",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@internal",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@label",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@link",
          "syntaxKind": "inline",
          "allowMultiple": true
        },
        {
          "tagName": "@override",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@packageDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@param",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@privateRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@public",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@readonly",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@remarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@returns",
          "syntaxKind": "block"
        },
        {
          "tagName": "@sealed",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@see",
          "syntaxKind": "block"
        },
        {
          "tagName": "@throws",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@typeParam",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@virtual",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@jsx",
          "syntaxKind": "block"
        },
        {
          "tagName": "@jsxRuntime",
          "syntaxKind": "block"
        },
        {
          "tagName": "@jsxFrag",
          "syntaxKind": "block"
        },
        {
          "tagName": "@jsxImportSource",
          "syntaxKind": "block"
        },
        {
          "tagName": "@betaDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@internalRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@preapproved",
          "syntaxKind": "modifier"
        }
      ],
      "supportForTags": {
        "@alpha": true,
        "@beta": true,
        "@defaultValue": true,
        "@decorator": true,
        "@deprecated": true,
        "@eventProperty": true,
        "@example": true,
        "@experimental": true,
        "@inheritDoc": true,
        "@internal": true,
        "@label": true,
        "@link": true,
        "@override": true,
        "@packageDocumentation": true,
        "@param": true,
        "@privateRemarks": true,
        "@public": true,
        "@readonly": true,
        "@remarks": true,
        "@returns": true,
        "@sealed": true,
        "@see": true,
        "@throws": true,
        "@typeParam": true,
        "@virtual": true,
        "@betaDocumentation": true,
        "@internalRemarks": true,
        "@preapproved": true
      },
      "reportUnsupportedHtmlElements": false
    }
  },
  "kind": "Package",
  "canonicalReference": "@csstools/css-parser-algorithms!",
  "docComment": "/**\n * Parse CSS following the {@link https://drafts.csswg.org/css-syntax/#parsing | CSS Syntax Level 3 specification}.\n *\n * @remarks\n *\n * The tokenizing and parsing tools provided by CSS Tools are designed to be low level and generic with strong ties to their respective specifications.\n *\n * Any analysis or mutation of CSS source code should be done with the least powerful tool that can accomplish the task. For many applications it is sufficient to work with tokens. For others you might need to use {@link https://github.com/csstools/postcss-plugins/tree/main/packages/css-parser-algorithms | @csstools/css-parser-algorithms} or a more specific parser.\n *\n * The implementation of the AST nodes is kept lightweight and simple. Do not expect magic methods, instead assume that arrays and class instances behave like any other JavaScript.\n *\n * @example\n *\n * Parse a string of CSS into a component value:\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseComponentValue } from '@csstools/css-parser-algorithms';\n *\n * const myCSS = `calc(1px * 2)`;\n *\n * const componentValue = parseComponentValue(tokenize({\n * \tcss: myCSS,\n * }));\n *\n * console.log(componentValue);\n * ```\n *\n * @example\n *\n * Use the right algorithm for the job.\n *\n * Algorithms that can parse larger structures (comma-separated lists, ...) can also parse smaller structures. However, the opposite is not true.\n *\n * If your context allows a list of component values, use {@link parseListOfComponentValues}:\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseListOfComponentValues } from '@csstools/css-parser-algorithms';\n *\n * parseListOfComponentValues(tokenize({ css: `10x 20px` }));\n * ```\n *\n * If your context allows a comma-separated list of component values, use {@link parseCommaSeparatedListOfComponentValues}:\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseCommaSeparatedListOfComponentValues } from '@csstools/css-parser-algorithms';\n *\n * parseCommaSeparatedListOfComponentValues(tokenize({ css: `20deg, 50%, 30%` }));\n * ```\n *\n * @example\n *\n * Use the stateful walkers to keep track of the context of a given component value.\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseComponentValue, isSimpleBlockNode } from '@csstools/css-parser-algorithms';\n *\n * const myCSS = `calc(1px * (5 / 2))`;\n *\n * const componentValue = parseComponentValue(tokenize({ css: myCSS }));\n *\n * let state = { inSimpleBlock: false };\n * componentValue.walk((entry) => {\n * \tif (isSimpleBlockNode(entry)) {\n * \t\tentry.state.inSimpleBlock = true;\n * \t\treturn;\n * \t}\n *\n * \tif (entry.state.inSimpleBlock) {\n * \t\tconsole.log(entry.node.toString()); // `5`, ...\n * \t}\n * }, state);\n * ```\n *\n * @packageDocumentation\n */\n",
  "name": "@csstools/css-parser-algorithms",
  "preserveMemberOrder": false,
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@csstools/css-parser-algorithms!",
      "name": "",
      "preserveMemberOrder": false,
      "members": [
        {
          "kind": "Class",
          "canonicalReference": "@csstools/css-parser-algorithms!CommentNode:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class CommentNode "
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "CommentNode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `CommentNode` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(value: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode#tokens:member(1)",
              "docComment": "/**\n * Retrieve the tokens for the current comment. This is the inverse of parsing from a list of tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tokens(): "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "tokens"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode#toString:member(1)",
              "docComment": "/**\n * Convert the current comment to a string. This is not a true serialization. It is purely a concatenation of the string representation of the tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode#type:member",
              "docComment": "/**\n * The node type, always `ComponentValueType.Comment`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValueType",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode#value:member",
              "docComment": "/**\n * The comment token.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ComponentValue = "
            },
            {
              "kind": "Reference",
              "text": "FunctionNode",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "SimpleBlockNode",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "WhitespaceNode",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "CommentNode",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "TokenNode",
              "canonicalReference": "@csstools/css-parser-algorithms!TokenNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "name": "ComponentValue",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 10
          }
        },
        {
          "kind": "Enum",
          "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType:enum",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare enum ComponentValueType "
            }
          ],
          "fileUrlPath": "dist/_types/util/component-value-type.d.ts",
          "releaseTag": "Public",
          "name": "ComponentValueType",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "EnumMember",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType.Comment:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Comment = "
                },
                {
                  "kind": "Content",
                  "text": "\"comment\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Comment"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType.Function:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Function = "
                },
                {
                  "kind": "Content",
                  "text": "\"function\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Function"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType.SimpleBlock:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "SimpleBlock = "
                },
                {
                  "kind": "Content",
                  "text": "\"simple-block\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "SimpleBlock"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType.Token:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Token = "
                },
                {
                  "kind": "Content",
                  "text": "\"token\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Token"
            },
            {
              "kind": "EnumMember",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType.Whitespace:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Whitespace = "
                },
                {
                  "kind": "Content",
                  "text": "\"whitespace\""
                }
              ],
              "initializerTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "name": "Whitespace"
            }
          ]
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@csstools/css-parser-algorithms!ContainerNode:type",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ContainerNode = "
            },
            {
              "kind": "Reference",
              "text": "FunctionNode",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "SimpleBlockNode",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "name": "ContainerNode",
          "typeTokenRange": {
            "startIndex": 1,
            "endIndex": 4
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare abstract class ContainerNodeBaseClass "
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "isAbstract": true,
          "name": "ContainerNodeBaseClass",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass#at:member(1)",
              "docComment": "/**\n * Retrieve the item at the given index in the current node. For most node types this will be trivially implemented as `this.value[index]`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "at(index: "
                },
                {
                  "kind": "Content",
                  "text": "number | string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValue",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
                },
                {
                  "kind": "Content",
                  "text": " | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "index",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "at"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass#forEach:member(1)",
              "docComment": "/**\n * Iterates over each item in the `value` array of the current node.\n *\n * @param cb - The callback function to execute for each item. The function receives an object containing the current node (`node`), its parent (`parent`), and an optional `state` object. A second parameter is the index of the current node. The function can return `false` to stop the iteration.\n *\n * @param state - An optional state object that can be used to pass additional information to the callback function. The state object is cloned for each iteration. This means that changes to the state object are not reflected in the next iteration.\n *\n * @returns `false` if the iteration was halted, `undefined` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "forEach<T extends "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown>"
                },
                {
                  "kind": "Content",
                  "text": ", U extends "
                },
                {
                  "kind": "Reference",
                  "text": "ContainerNode",
                  "canonicalReference": "@csstools/css-parser-algorithms!ContainerNode:type"
                },
                {
                  "kind": "Content",
                  "text": ">(this: "
                },
                {
                  "kind": "Content",
                  "text": "U"
                },
                {
                  "kind": "Content",
                  "text": ", cb: "
                },
                {
                  "kind": "Content",
                  "text": "(entry: {\n        node: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValue",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n        parent: "
                },
                {
                  "kind": "Reference",
                  "text": "ContainerNode",
                  "canonicalReference": "@csstools/css-parser-algorithms!ContainerNode:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n        state?: T;\n    }, index: number | string) => boolean | void"
                },
                {
                  "kind": "Content",
                  "text": ", state?: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "false | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                },
                {
                  "typeParameterName": "U",
                  "constraintTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 16,
                "endIndex": 17
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "this",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "cb",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 13
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "state",
                  "parameterTypeTokenRange": {
                    "startIndex": 14,
                    "endIndex": 15
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "forEach"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass#indexOf:member(1)",
              "docComment": "/**\n * Retrieve the index of the given item in the current node. For most node types this will be trivially implemented as `this.value.indexOf(item)`.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "indexOf(item: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValue",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "number | string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "item",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "indexOf"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass#value:member",
              "docComment": "/**\n * The contents of the `Function` or `Simple Block`. This is a list of component values.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value: "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValue",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass#walk:member(1)",
              "docComment": "/**\n * Walks the current node and all its children.\n *\n * @param cb - The callback function to execute for each item. The function receives an object containing the current node (`node`), its parent (`parent`), and an optional `state` object. A second parameter is the index of the current node. The function can return `false` to stop the iteration.\n *\n * @param state - An optional state object that can be used to pass additional information to the callback function. The state object is cloned for each iteration. This means that changes to the state object are not reflected in the next iteration. However changes are passed down to child node iterations.\n *\n * @returns `false` if the iteration was halted, `undefined` otherwise.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "walk<T extends "
                },
                {
                  "kind": "Reference",
                  "text": "Record",
                  "canonicalReference": "!Record:type"
                },
                {
                  "kind": "Content",
                  "text": "<string, unknown>"
                },
                {
                  "kind": "Content",
                  "text": ", U extends "
                },
                {
                  "kind": "Reference",
                  "text": "ContainerNode",
                  "canonicalReference": "@csstools/css-parser-algorithms!ContainerNode:type"
                },
                {
                  "kind": "Content",
                  "text": ">(this: "
                },
                {
                  "kind": "Content",
                  "text": "U"
                },
                {
                  "kind": "Content",
                  "text": ", cb: "
                },
                {
                  "kind": "Content",
                  "text": "(entry: {\n        node: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValue",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n        parent: "
                },
                {
                  "kind": "Reference",
                  "text": "ContainerNode",
                  "canonicalReference": "@csstools/css-parser-algorithms!ContainerNode:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n        state?: T;\n    }, index: number | string) => boolean | void"
                },
                {
                  "kind": "Content",
                  "text": ", state?: "
                },
                {
                  "kind": "Content",
                  "text": "T"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "false | undefined"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "typeParameters": [
                {
                  "typeParameterName": "T",
                  "constraintTokenRange": {
                    "startIndex": 1,
                    "endIndex": 3
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                },
                {
                  "typeParameterName": "U",
                  "constraintTokenRange": {
                    "startIndex": 4,
                    "endIndex": 5
                  },
                  "defaultTypeTokenRange": {
                    "startIndex": 0,
                    "endIndex": 0
                  }
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 16,
                "endIndex": 17
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "this",
                  "parameterTypeTokenRange": {
                    "startIndex": 6,
                    "endIndex": 7
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "cb",
                  "parameterTypeTokenRange": {
                    "startIndex": 8,
                    "endIndex": 13
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "state",
                  "parameterTypeTokenRange": {
                    "startIndex": 14,
                    "endIndex": 15
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "walk"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!forEach:function(1)",
          "docComment": "/**\n * Iterates over each item in a list of component values.\n *\n * @param cb - The callback function to execute for each item. The function receives an object containing the current node (`node`), its parent (`parent`), and an optional `state` object. A second parameter is the index of the current node. The function can return `false` to stop the iteration.\n *\n * @param state - An optional state object that can be used to pass additional information to the callback function. The state object is cloned for each iteration. This means that changes to the state object are not reflected in the next iteration.\n *\n * @returns `false` if the iteration was halted, `undefined` otherwise.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function forEach<T extends "
            },
            {
              "kind": "Reference",
              "text": "Record",
              "canonicalReference": "!Record:type"
            },
            {
              "kind": "Content",
              "text": "<string, unknown>"
            },
            {
              "kind": "Content",
              "text": ">(componentValues: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ", cb: "
            },
            {
              "kind": "Content",
              "text": "(entry: {\n    node: "
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ";\n    parent: "
            },
            {
              "kind": "Reference",
              "text": "ContainerNode",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNode:type"
            },
            {
              "kind": "Content",
              "text": " | {\n        value: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">;\n    };\n    state?: T;\n}, index: number | string) => boolean | void"
            },
            {
              "kind": "Content",
              "text": ", state?: "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "false | undefined"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/walk.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 21,
            "endIndex": 22
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "componentValues",
              "parameterTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 8
              },
              "isOptional": false
            },
            {
              "parameterName": "cb",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 18
              },
              "isOptional": false
            },
            {
              "parameterName": "state",
              "parameterTypeTokenRange": {
                "startIndex": 19,
                "endIndex": 20
              },
              "isOptional": true
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "forEach"
        },
        {
          "kind": "Class",
          "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode:class",
          "docComment": "/**\n * A function node.\n *\n * @example\n * ```js\n * const node = parseComponentValue(tokenize('calc(1 + 1)'));\n *\n * isFunctionNode(node); // true\n * node.getName(); // 'calc'\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class FunctionNode extends "
            },
            {
              "kind": "Reference",
              "text": "ContainerNodeBaseClass",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "FunctionNode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `FunctionNode` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(name: "
                },
                {
                  "kind": "Reference",
                  "text": "TokenFunction",
                  "canonicalReference": "@csstools/css-tokenizer!TokenFunction:interface"
                },
                {
                  "kind": "Content",
                  "text": ", endToken: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ", value: "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValue",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "name",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "endToken",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 9
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode#endToken:member",
              "docComment": "/**\n * The token for the closing parenthesis of the function. If the function is unclosed, this will be an EOF token.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "endToken: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "endToken",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode#getName:member(1)",
              "docComment": "/**\n * Retrieve the name of the current function. This is the parsed and unescaped name of the function.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "getName(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "getName"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode#name:member",
              "docComment": "/**\n * The token for the name of the function.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "name: "
                },
                {
                  "kind": "Reference",
                  "text": "TokenFunction",
                  "canonicalReference": "@csstools/css-tokenizer!TokenFunction:interface"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "name",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode#normalize:member(1)",
              "docComment": "/**\n * Normalize the current function: 1. if the \"endToken\" is EOF, replace with a \")-token\"\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "normalize(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "normalize"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode#tokens:member(1)",
              "docComment": "/**\n * Retrieve the tokens for the current function. This is the inverse of parsing from a list of tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tokens(): "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "tokens"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode#toString:member(1)",
              "docComment": "/**\n * Convert the current function to a string. This is not a true serialization. It is purely a concatenation of the string representation of the tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode#type:member",
              "docComment": "/**\n * The node type, always `ComponentValueType.Function`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValueType",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!gatherNodeAncestry:function(1)",
          "docComment": "/**\n * AST nodes do not have a `parent` property or method. This makes it harder to traverse the AST upwards. This function builds a `Map<Child, Parent>` that can be used to lookup ancestors of a node.\n *\n * @remarks\n *\n * There is no magic behind this or the map it returns. Mutating the AST will not update the map.\n *\n * Types are erased and any content of the map has type `unknown`. If someone knows a clever way to type this, please let us know.\n *\n * @example\n * ```js\n * const ancestry = gatherNodeAncestry(mediaQuery);\n * mediaQuery.walk((entry) => {\n * \tconst node = entry.node; // directly exposed\n * \tconst parent = entry.parent; // directly exposed\n * \tconst grandParent: unknown = ancestry.get(parent); // lookup\n *\n * \tconsole.log('node', node);\n * \tconsole.log('parent', parent);\n * \tconsole.log('grandParent', grandParent);\n * });\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function gatherNodeAncestry(node: "
            },
            {
              "kind": "Content",
              "text": "{\n    walk(cb: (entry: {\n        node: unknown;\n        parent: unknown;\n    }, index: number | string) => boolean | void): false | undefined;\n}"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Map",
              "canonicalReference": "!Map:interface"
            },
            {
              "kind": "Content",
              "text": "<unknown, unknown>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/node-ancestry.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 5
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "node",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "name": "gatherNodeAncestry"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!isCommentNode:function(1)",
          "docComment": "/**\n * Check if the current object is a `CommentNode`. This is a type guard.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function isCommentNode(x: "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "x",
              "canonicalReference": "@csstools/css-parser-algorithms!~x"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "CommentNode",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/type-predicates.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "x",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "name": "isCommentNode"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!isFunctionNode:function(1)",
          "docComment": "/**\n * Check if the current object is a `FunctionNode`. This is a type guard.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function isFunctionNode(x: "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "x",
              "canonicalReference": "@csstools/css-parser-algorithms!~x"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "FunctionNode",
              "canonicalReference": "@csstools/css-parser-algorithms!FunctionNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/type-predicates.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "x",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "name": "isFunctionNode"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!isSimpleBlockNode:function(1)",
          "docComment": "/**\n * Check if the current object is a `SimpleBlockNode`. This is a type guard.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function isSimpleBlockNode(x: "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "x",
              "canonicalReference": "@csstools/css-parser-algorithms!~x"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "SimpleBlockNode",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/type-predicates.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "x",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "name": "isSimpleBlockNode"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!isTokenNode:function(1)",
          "docComment": "/**\n * Check if the current object is a `TokenNode`. This is a type guard.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function isTokenNode(x: "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "x",
              "canonicalReference": "@csstools/css-parser-algorithms!~x"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "TokenNode",
              "canonicalReference": "@csstools/css-parser-algorithms!TokenNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/type-predicates.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "x",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "name": "isTokenNode"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!isWhitespaceNode:function(1)",
          "docComment": "/**\n * Check if the current object is a `WhitespaceNode`. This is a type guard.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function isWhitespaceNode(x: "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "x",
              "canonicalReference": "@csstools/css-parser-algorithms!~x"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "WhitespaceNode",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/type-predicates.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "x",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "name": "isWhitespaceNode"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!isWhiteSpaceOrCommentNode:function(1)",
          "docComment": "/**\n * Check if the current object is a `WhiteSpaceNode` or a `CommentNode`. This is a type guard.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function isWhiteSpaceOrCommentNode(x: "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "x",
              "canonicalReference": "@csstools/css-parser-algorithms!~x"
            },
            {
              "kind": "Content",
              "text": " is "
            },
            {
              "kind": "Reference",
              "text": "WhitespaceNode",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode:class"
            },
            {
              "kind": "Content",
              "text": " | "
            },
            {
              "kind": "Reference",
              "text": "CommentNode",
              "canonicalReference": "@csstools/css-parser-algorithms!CommentNode:class"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/type-predicates.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 8
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "x",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "name": "isWhiteSpaceOrCommentNode"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!parseCommaSeparatedListOfComponentValues:function(1)",
          "docComment": "/**\n * Parse a comma-separated list of component values.\n *\n * @example\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseCommaSeparatedListOfComponentValues } from '@csstools/css-parser-algorithms';\n *\n * parseCommaSeparatedListOfComponentValues(tokenize({ css: `20deg, 50%, 30%` }));\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function parseCommaSeparatedListOfComponentValues(tokens: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CSSToken",
              "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Content",
              "text": "{\n    onParseError?: (error: "
            },
            {
              "kind": "Reference",
              "text": "ParseError",
              "canonicalReference": "@csstools/css-tokenizer!ParseError:class"
            },
            {
              "kind": "Content",
              "text": ") => void;\n}"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/parse/comma-separated-list-of-component-values.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 16
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "tokens",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isOptional": false
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 9
              },
              "isOptional": true
            }
          ],
          "name": "parseCommaSeparatedListOfComponentValues"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!parseComponentValue:function(1)",
          "docComment": "/**\n * Parse a single component value.\n *\n * @example\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseComponentValue } from '@csstools/css-parser-algorithms';\n *\n * parseComponentValue(tokenize({ css: `10px` }));\n * parseComponentValue(tokenize({ css: `calc((10px + 1x) * 4)` }));\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function parseComponentValue(tokens: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CSSToken",
              "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Content",
              "text": "{\n    onParseError?: (error: "
            },
            {
              "kind": "Reference",
              "text": "ParseError",
              "canonicalReference": "@csstools/css-tokenizer!ParseError:class"
            },
            {
              "kind": "Content",
              "text": ") => void;\n}"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": " | undefined"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/parse/component-value.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 12
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "tokens",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isOptional": false
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 9
              },
              "isOptional": true
            }
          ],
          "name": "parseComponentValue"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!parseListOfComponentValues:function(1)",
          "docComment": "/**\n * Parse a list of component values.\n *\n * @example\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseListOfComponentValues } from '@csstools/css-parser-algorithms';\n *\n * parseListOfComponentValues(tokenize({ css: `20deg 30%` }));\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function parseListOfComponentValues(tokens: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CSSToken",
              "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Content",
              "text": "{\n    onParseError?: (error: "
            },
            {
              "kind": "Reference",
              "text": "ParseError",
              "canonicalReference": "@csstools/css-tokenizer!ParseError:class"
            },
            {
              "kind": "Content",
              "text": ") => void;\n}"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/parse/list-of-component-values.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 10,
            "endIndex": 14
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "tokens",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isOptional": false
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 6,
                "endIndex": 9
              },
              "isOptional": true
            }
          ],
          "name": "parseListOfComponentValues"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!replaceComponentValues:function(1)",
          "docComment": "/**\n * Replace specific component values in a list of component values. A helper for the most common and simplistic cases when mutating an AST.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function replaceComponentValues(componentValuesList: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">>"
            },
            {
              "kind": "Content",
              "text": ", replaceWith: "
            },
            {
              "kind": "Content",
              "text": "(componentValue: "
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": "> | "
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": " | void"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/replace-component-values.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 18,
            "endIndex": 24
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "componentValuesList",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 7
              },
              "isOptional": false
            },
            {
              "parameterName": "replaceWith",
              "parameterTypeTokenRange": {
                "startIndex": 8,
                "endIndex": 17
              },
              "isOptional": false
            }
          ],
          "name": "replaceComponentValues"
        },
        {
          "kind": "Class",
          "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode:class",
          "docComment": "/**\n * A simple block node.\n *\n * @example\n * ```js\n * const node = parseComponentValue(tokenize('[foo=bar]'));\n *\n * isSimpleBlockNode(node); // true\n * node.startToken; // [TokenType.OpenSquare, '[', 0, 0, undefined]\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class SimpleBlockNode extends "
            },
            {
              "kind": "Reference",
              "text": "ContainerNodeBaseClass",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNodeBaseClass:class"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "SimpleBlockNode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `SimpleBlockNode` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(startToken: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ", endToken: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ", value: "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValue",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "startToken",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "endToken",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 9
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode#endToken:member",
              "docComment": "/**\n * The token for the closing token of the block. If the block is closed it will be the mirror variant of the `startToken`. If the block is unclosed, this will be an EOF token.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "endToken: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "endToken",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode#normalize:member(1)",
              "docComment": "/**\n * Normalize the current simple block 1. if the \"endToken\" is EOF, replace with the mirror token of the \"startToken\"\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "normalize(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "normalize"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode#startToken:member",
              "docComment": "/**\n * The token for the opening token of the block.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "startToken: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "startToken",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode#tokens:member(1)",
              "docComment": "/**\n * Retrieve the tokens for the current simple block. This is the inverse of parsing from a list of tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tokens(): "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "tokens"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode#toString:member(1)",
              "docComment": "/**\n * Convert the current simple block to a string. This is not a true serialization. It is purely a concatenation of the string representation of the tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!SimpleBlockNode#type:member",
              "docComment": "/**\n * The node type, always `ComponentValueType.SimpleBlock`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValueType",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!sourceIndices:function(1)",
          "docComment": "/**\n * Returns the start and end index of a node in the CSS source string.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function sourceIndices(x: "
            },
            {
              "kind": "Content",
              "text": "{\n    tokens(): "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CSSToken",
              "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
            },
            {
              "kind": "Content",
              "text": ">;\n} | "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<{\n    tokens(): "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "CSSToken",
              "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
            },
            {
              "kind": "Content",
              "text": ">;\n}>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "[number, number]"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/source-indices.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 13,
            "endIndex": 14
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "x",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 12
              },
              "isOptional": false
            }
          ],
          "name": "sourceIndices"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!stringify:function(1)",
          "docComment": "/**\n * Concatenate the string representation of a collection of component values. This is not a proper serializer that will handle escaping and whitespace. It only produces valid CSS for token lists that are also valid.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function stringify(componentValueLists: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "string"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/stringify.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 8,
            "endIndex": 9
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "componentValueLists",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 7
              },
              "isOptional": false
            }
          ],
          "name": "stringify"
        },
        {
          "kind": "Class",
          "canonicalReference": "@csstools/css-parser-algorithms!TokenNode:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class TokenNode "
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "TokenNode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@csstools/css-parser-algorithms!TokenNode:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `TokenNode` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(value: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!TokenNode#tokens:member(1)",
              "docComment": "/**\n * This is the inverse of parsing from a list of tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tokens(): "
                },
                {
                  "kind": "Content",
                  "text": "["
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": "]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "tokens"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!TokenNode#toString:member(1)",
              "docComment": "/**\n * Convert the current token to a string. This is not a true serialization. It is purely the string representation of token.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!TokenNode#type:member",
              "docComment": "/**\n * The node type, always `ComponentValueType.Token`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValueType",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!TokenNode#value:member",
              "docComment": "/**\n * The token.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value: "
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!walk:function(1)",
          "docComment": "/**\n * Walks each item in a list of component values all of their children.\n *\n * @param cb - The callback function to execute for each item. The function receives an object containing the current node (`node`), its parent (`parent`), and an optional `state` object. A second parameter is the index of the current node. The function can return `false` to stop the iteration.\n *\n * @param state - An optional state object that can be used to pass additional information to the callback function. The state object is cloned for each iteration. This means that changes to the state object are not reflected in the next iteration. However changes are passed down to child node iterations.\n *\n * @returns `false` if the iteration was halted, `undefined` otherwise.\n *\n * @example\n * ```js\n * import { tokenize } from '@csstools/css-tokenizer';\n * import { parseListOfComponentValues, isSimpleBlockNode } from '@csstools/css-parser-algorithms';\n *\n * const myCSS = `calc(1px * (5 / 2)) 10px`;\n *\n * const componentValues = parseListOfComponentValues(tokenize({ css: myCSS }));\n *\n * let state = { inSimpleBlock: false };\n * walk(componentValues, (entry) => {\n * \tif (isSimpleBlockNode(entry)) {\n * \t\tentry.state.inSimpleBlock = true;\n * \t\treturn;\n * \t}\n *\n * \tif (entry.state.inSimpleBlock) {\n * \t\tconsole.log(entry.node.toString()); // `5`, ...\n * \t}\n * }, state);\n * ```\n *\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function walk<T extends "
            },
            {
              "kind": "Reference",
              "text": "Record",
              "canonicalReference": "!Record:type"
            },
            {
              "kind": "Content",
              "text": "<string, unknown>"
            },
            {
              "kind": "Content",
              "text": ">(componentValues: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">"
            },
            {
              "kind": "Content",
              "text": ", cb: "
            },
            {
              "kind": "Content",
              "text": "(entry: {\n    node: "
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ";\n    parent: "
            },
            {
              "kind": "Reference",
              "text": "ContainerNode",
              "canonicalReference": "@csstools/css-parser-algorithms!ContainerNode:type"
            },
            {
              "kind": "Content",
              "text": " | {\n        value: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ComponentValue",
              "canonicalReference": "@csstools/css-parser-algorithms!ComponentValue:type"
            },
            {
              "kind": "Content",
              "text": ">;\n    };\n    state?: T;\n}, index: number | string) => boolean | void"
            },
            {
              "kind": "Content",
              "text": ", state?: "
            },
            {
              "kind": "Content",
              "text": "T"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "false | undefined"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/walk.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 21,
            "endIndex": 22
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "componentValues",
              "parameterTypeTokenRange": {
                "startIndex": 4,
                "endIndex": 8
              },
              "isOptional": false
            },
            {
              "parameterName": "cb",
              "parameterTypeTokenRange": {
                "startIndex": 9,
                "endIndex": 18
              },
              "isOptional": false
            },
            {
              "parameterName": "state",
              "parameterTypeTokenRange": {
                "startIndex": 19,
                "endIndex": 20
              },
              "isOptional": true
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "walk"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/css-parser-algorithms!walkerIndexGenerator:function(1)",
          "docComment": "/**\n * Generate a function that finds the next element that should be visited when walking an AST. Rules : 1. the previous iteration is used as a reference, so any checks are relative to the start of the current iteration. 2. the next element always appears after the current index. 3. the next element always exists in the list. 4. replacing an element does not cause the replaced element to be visited. 5. removing an element does not cause elements to be skipped. 6. an element added later in the list will be visited.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function walkerIndexGenerator<T>(initialList: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<T>"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Content",
              "text": "(list: "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<T>, child: T, index: number) => number"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/util/walker-index-generator.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 4,
            "endIndex": 7
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "initialList",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isOptional": false
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "walkerIndexGenerator"
        },
        {
          "kind": "Class",
          "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode:class",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class WhitespaceNode "
            }
          ],
          "fileUrlPath": "dist/_types/consume/component-block-function.d.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "WhitespaceNode",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `WhitespaceNode` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(value: "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode#tokens:member(1)",
              "docComment": "/**\n * Retrieve the tokens for the current whitespace. This is the inverse of parsing from a list of tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "tokens(): "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "tokens"
            },
            {
              "kind": "Method",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode#toString:member(1)",
              "docComment": "/**\n * Convert the current whitespace to a string. This is not a true serialization. It is purely a concatenation of the string representation of the tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "toString(): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "toString"
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode#type:member",
              "docComment": "/**\n * The node type, always `ComponentValueType.WhiteSpace`\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "type: "
                },
                {
                  "kind": "Reference",
                  "text": "ComponentValueType",
                  "canonicalReference": "@csstools/css-parser-algorithms!ComponentValueType:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "type",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@csstools/css-parser-algorithms!WhitespaceNode#value:member",
              "docComment": "/**\n * The list of consecutive whitespace tokens.\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value: "
                },
                {
                  "kind": "Reference",
                  "text": "Array",
                  "canonicalReference": "!Array:interface"
                },
                {
                  "kind": "Content",
                  "text": "<"
                },
                {
                  "kind": "Reference",
                  "text": "CSSToken",
                  "canonicalReference": "@csstools/css-tokenizer!CSSToken:type"
                },
                {
                  "kind": "Content",
                  "text": ">"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 5
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            }
          ],
          "implementsTokenRanges": []
        }
      ]
    }
  ]
}