{
  "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/selector-resolve-nested!",
  "docComment": "/**\n * Resolve nested selectors following the CSS nesting specification.\n *\n * @example\n * ```js\n * import { resolveNestedSelector } from '@csstools/selector-resolve-nested';\n * import parser from 'postcss-selector-parser';\n *\n * const selector = parser().astSync('.foo &');\n * const parent = parser().astSync('.bar');\n *\n * // .foo .bar\n * console.log(\n *   resolveNestedSelector(selector, parent).toString()\n * )\n * ```\n *\n * @packageDocumentation\n */\n",
  "name": "@csstools/selector-resolve-nested",
  "preserveMemberOrder": false,
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@csstools/selector-resolve-nested!",
      "name": "",
      "preserveMemberOrder": false,
      "members": [
        {
          "kind": "Function",
          "canonicalReference": "@csstools/selector-resolve-nested!flattenNestedSelector:function(1)",
          "docComment": "/**\n * Flatten a nested selector against a given parent selector.\n *\n * ⚠️ This is not a method to generate the equivalent un-nested selector. It is purely a method to construct a single selector AST that contains the parts of both the current and parent selector. It will not have the correct specificity and it will not match the right elements when used as a selector. It will not always serialize to a valid selector.\n *\n * @param selector - The selector to resolve.\n *\n * @param parentSelector - The parent selector to resolve against.\n *\n * @returns The resolved selector.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function flattenNestedSelector(selector: "
            },
            {
              "kind": "Reference",
              "text": "Root",
              "canonicalReference": "postcss-selector-parser!parser.Root:interface"
            },
            {
              "kind": "Content",
              "text": ", parentSelector: "
            },
            {
              "kind": "Reference",
              "text": "Root",
              "canonicalReference": "postcss-selector-parser!parser.Root:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Root",
              "canonicalReference": "postcss-selector-parser!parser.Root:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/flatten-nested-selector.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 5,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "selector",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            },
            {
              "parameterName": "parentSelector",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isOptional": false
            }
          ],
          "name": "flattenNestedSelector"
        },
        {
          "kind": "Function",
          "canonicalReference": "@csstools/selector-resolve-nested!resolveNestedSelector:function(1)",
          "docComment": "/**\n * Resolve a nested selector against a given parent selector.\n *\n * @param selector - The selector to resolve.\n *\n * @param parentSelector - The parent selector to resolve against.\n *\n * @param options - Change how resolving happens.\n *\n * @returns The resolved selector.\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare function resolveNestedSelector(selector: "
            },
            {
              "kind": "Reference",
              "text": "Root",
              "canonicalReference": "postcss-selector-parser!parser.Root:interface"
            },
            {
              "kind": "Content",
              "text": ", parentSelector: "
            },
            {
              "kind": "Reference",
              "text": "Root",
              "canonicalReference": "postcss-selector-parser!parser.Root:interface"
            },
            {
              "kind": "Content",
              "text": ", options?: "
            },
            {
              "kind": "Reference",
              "text": "ResolveOptions",
              "canonicalReference": "@csstools/selector-resolve-nested!ResolveOptions:interface"
            },
            {
              "kind": "Content",
              "text": "): "
            },
            {
              "kind": "Reference",
              "text": "Root",
              "canonicalReference": "postcss-selector-parser!parser.Root:interface"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "dist/_types/resolve-nested-selector.d.ts",
          "returnTypeTokenRange": {
            "startIndex": 7,
            "endIndex": 8
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "selector",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            },
            {
              "parameterName": "parentSelector",
              "parameterTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "isOptional": false
            },
            {
              "parameterName": "options",
              "parameterTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "isOptional": true
            }
          ],
          "name": "resolveNestedSelector"
        },
        {
          "kind": "Interface",
          "canonicalReference": "@csstools/selector-resolve-nested!ResolveOptions:interface",
          "docComment": "",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export interface ResolveOptions "
            }
          ],
          "fileUrlPath": "dist/_types/resolve-nested-selector.d.ts",
          "releaseTag": "Public",
          "name": "ResolveOptions",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "PropertySignature",
              "canonicalReference": "@csstools/selector-resolve-nested!ResolveOptions#ignoreImplicitNesting:member",
              "docComment": "/**\n * If implicit `&` selectors should be prepended to the selector before resolving\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "ignoreImplicitNesting: "
                },
                {
                  "kind": "Content",
                  "text": "boolean"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "ignoreImplicitNesting",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "extendsTokenRanges": []
        }
      ]
    }
  ]
}