{
  "api": {
    "name": "LlamaCppPlugin",
    "slug": "llamacppplugin",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "toggleNativeLog",
        "signature": "(options: { enabled: boolean; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ enabled: boolean; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "togglenativelog"
      },
      {
        "name": "setContextLimit",
        "signature": "(options: { limit: number; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ limit: number; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "setcontextlimit"
      },
      {
        "name": "modelInfo",
        "signature": "(options: { path: string; skip?: string[]; }) => Promise<Object>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ path: string; skip?: string[] | undefined; }"
          }
        ],
        "returns": "Promise<Object>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "Object"
        ],
        "slug": "modelinfo"
      },
      {
        "name": "initContext",
        "signature": "(options: { contextId: number; params: NativeContextParams; }) => Promise<NativeLlamaContext>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; params: NativeContextParams; }"
          }
        ],
        "returns": "Promise<NativeLlamaContext>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeLlamaContext",
          "NativeContextParams"
        ],
        "slug": "initcontext"
      },
      {
        "name": "releaseContext",
        "signature": "(options: { contextId: number; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "releasecontext"
      },
      {
        "name": "releaseAllContexts",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "releaseallcontexts"
      },
      {
        "name": "getFormattedChat",
        "signature": "(options: { contextId: number; messages: string; chatTemplate?: string; params?: { jinja?: boolean; json_schema?: string; tools?: string; parallel_tool_calls?: string; tool_choice?: string; enable_thinking?: boolean; add_generation_prompt?: boolean; now?: string; chat_template_kwargs?: string; }; }) => Promise<JinjaFormattedChatResult | string>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; messages: string; chatTemplate?: string | undefined; params?: { jinja?: boolean | undefined; json_schema?: string | undefined; tools?: string | undefined; parallel_tool_calls?: string | undefined; tool_choice?: string | undefined; enable_thinking?: boolean | undefined; add_generation_prompt?: boolean | undefined; now?: string | undefined; chat_template_kwargs?: string | undefined; } | undefined; }"
          }
        ],
        "returns": "Promise<string | JinjaFormattedChatResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "JinjaFormattedChatResult"
        ],
        "slug": "getformattedchat"
      },
      {
        "name": "completion",
        "signature": "(options: { contextId: number; params: NativeCompletionParams; }) => Promise<NativeCompletionResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; params: NativeCompletionParams; }"
          }
        ],
        "returns": "Promise<NativeCompletionResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeCompletionResult",
          "NativeCompletionParams"
        ],
        "slug": "completion"
      },
      {
        "name": "chat",
        "signature": "(options: { contextId: number; messages: LlamaCppOAICompatibleMessage[]; system?: string; chatTemplate?: string; params?: Omit<NativeCompletionParams, 'prompt' | 'messages'>; }) => Promise<NativeCompletionResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; messages: LlamaCppOAICompatibleMessage[]; system?: string | undefined; chatTemplate?: string | undefined; params?: Omit<NativeCompletionParams, 'prompt' | 'messages'> | undefined; }"
          }
        ],
        "returns": "Promise<NativeCompletionResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeCompletionResult",
          "LlamaCppOAICompatibleMessage",
          "Omit",
          "NativeCompletionParams"
        ],
        "slug": "chat"
      },
      {
        "name": "chatWithSystem",
        "signature": "(options: { contextId: number; system: string; message: string; params?: Omit<NativeCompletionParams, 'prompt' | 'messages'>; }) => Promise<NativeCompletionResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; system: string; message: string; params?: Omit<NativeCompletionParams, 'prompt' | 'messages'> | undefined; }"
          }
        ],
        "returns": "Promise<NativeCompletionResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeCompletionResult",
          "Omit",
          "NativeCompletionParams"
        ],
        "slug": "chatwithsystem"
      },
      {
        "name": "generateText",
        "signature": "(options: { contextId: number; prompt: string; params?: Omit<NativeCompletionParams, 'prompt' | 'messages'>; }) => Promise<NativeCompletionResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; prompt: string; params?: Omit<NativeCompletionParams, 'prompt' | 'messages'> | undefined; }"
          }
        ],
        "returns": "Promise<NativeCompletionResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeCompletionResult",
          "Omit",
          "NativeCompletionParams"
        ],
        "slug": "generatetext"
      },
      {
        "name": "stopCompletion",
        "signature": "(options: { contextId: number; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "stopcompletion"
      },
      {
        "name": "loadSession",
        "signature": "(options: { contextId: number; filepath: string; }) => Promise<NativeSessionLoadResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; filepath: string; }"
          }
        ],
        "returns": "Promise<NativeSessionLoadResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeSessionLoadResult"
        ],
        "slug": "loadsession"
      },
      {
        "name": "saveSession",
        "signature": "(options: { contextId: number; filepath: string; size: number; }) => Promise<number>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; filepath: string; size: number; }"
          }
        ],
        "returns": "Promise<number>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "savesession"
      },
      {
        "name": "tokenize",
        "signature": "(options: { contextId: number; text: string; imagePaths?: Array<string>; }) => Promise<NativeTokenizeResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; text: string; imagePaths?: string[] | undefined; }"
          }
        ],
        "returns": "Promise<NativeTokenizeResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeTokenizeResult",
          "Array"
        ],
        "slug": "tokenize"
      },
      {
        "name": "detokenize",
        "signature": "(options: { contextId: number; tokens: number[]; }) => Promise<string>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; tokens: number[]; }"
          }
        ],
        "returns": "Promise<string>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "detokenize"
      },
      {
        "name": "embedding",
        "signature": "(options: { contextId: number; text: string; params: NativeEmbeddingParams; }) => Promise<NativeEmbeddingResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; text: string; params: NativeEmbeddingParams; }"
          }
        ],
        "returns": "Promise<NativeEmbeddingResult>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeEmbeddingResult",
          "NativeEmbeddingParams"
        ],
        "slug": "embedding"
      },
      {
        "name": "rerank",
        "signature": "(options: { contextId: number; query: string; documents: Array<string>; params?: NativeRerankParams; }) => Promise<Array<NativeRerankResult>>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; query: string; documents: string[]; params?: NativeRerankParams | undefined; }"
          }
        ],
        "returns": "Promise<NativeRerankResult[]>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "NativeRerankResult",
          "Array",
          "NativeRerankParams"
        ],
        "slug": "rerank"
      },
      {
        "name": "bench",
        "signature": "(options: { contextId: number; pp: number; tg: number; pl: number; nr: number; }) => Promise<string>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; pp: number; tg: number; pl: number; nr: number; }"
          }
        ],
        "returns": "Promise<string>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "bench"
      },
      {
        "name": "applyLoraAdapters",
        "signature": "(options: { contextId: number; loraAdapters: Array<{ path: string; scaled?: number; }>; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; loraAdapters: { path: string; scaled?: number | undefined; }[]; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "Array"
        ],
        "slug": "applyloraadapters"
      },
      {
        "name": "removeLoraAdapters",
        "signature": "(options: { contextId: number; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "removeloraadapters"
      },
      {
        "name": "getLoadedLoraAdapters",
        "signature": "(options: { contextId: number; }) => Promise<Array<{ path: string; scaled?: number; }>>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<{ path: string; scaled?: number | undefined; }[]>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "Array"
        ],
        "slug": "getloadedloraadapters"
      },
      {
        "name": "initMultimodal",
        "signature": "(options: { contextId: number; params: { path: string; use_gpu: boolean; }; }) => Promise<boolean>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; params: { path: string; use_gpu: boolean; }; }"
          }
        ],
        "returns": "Promise<boolean>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "initmultimodal"
      },
      {
        "name": "isMultimodalEnabled",
        "signature": "(options: { contextId: number; }) => Promise<boolean>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<boolean>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "ismultimodalenabled"
      },
      {
        "name": "getMultimodalSupport",
        "signature": "(options: { contextId: number; }) => Promise<{ vision: boolean; audio: boolean; }>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<{ vision: boolean; audio: boolean; }>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "getmultimodalsupport"
      },
      {
        "name": "releaseMultimodal",
        "signature": "(options: { contextId: number; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "releasemultimodal"
      },
      {
        "name": "initVocoder",
        "signature": "(options: { contextId: number; params: { path: string; n_batch?: number; }; }) => Promise<boolean>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; params: { path: string; n_batch?: number | undefined; }; }"
          }
        ],
        "returns": "Promise<boolean>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "initvocoder"
      },
      {
        "name": "isVocoderEnabled",
        "signature": "(options: { contextId: number; }) => Promise<boolean>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<boolean>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "isvocoderenabled"
      },
      {
        "name": "getFormattedAudioCompletion",
        "signature": "(options: { contextId: number; speakerJsonStr: string; textToSpeak: string; }) => Promise<{ prompt: string; grammar?: string; }>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; speakerJsonStr: string; textToSpeak: string; }"
          }
        ],
        "returns": "Promise<{ prompt: string; grammar?: string | undefined; }>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "getformattedaudiocompletion"
      },
      {
        "name": "getAudioCompletionGuideTokens",
        "signature": "(options: { contextId: number; textToSpeak: string; }) => Promise<Array<number>>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; textToSpeak: string; }"
          }
        ],
        "returns": "Promise<number[]>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "Array"
        ],
        "slug": "getaudiocompletionguidetokens"
      },
      {
        "name": "decodeAudioTokens",
        "signature": "(options: { contextId: number; tokens: number[]; }) => Promise<Array<number>>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; tokens: number[]; }"
          }
        ],
        "returns": "Promise<number[]>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "Array"
        ],
        "slug": "decodeaudiotokens"
      },
      {
        "name": "releaseVocoder",
        "signature": "(options: { contextId: number; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ contextId: number; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "releasevocoder"
      },
      {
        "name": "downloadModel",
        "signature": "(options: { url: string; filename: string; }) => Promise<string>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ url: string; filename: string; }"
          }
        ],
        "returns": "Promise<string>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "downloadmodel"
      },
      {
        "name": "getDownloadProgress",
        "signature": "(options: { url: string; }) => Promise<{ progress: number; completed: boolean; failed: boolean; errorMessage?: string; localPath?: string; downloadedBytes: number; totalBytes: number; }>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ url: string; }"
          }
        ],
        "returns": "Promise<{ progress: number; completed: boolean; failed: boolean; errorMessage?: string | undefined; localPath?: string | undefined; downloadedBytes: number; totalBytes: number; }>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "getdownloadprogress"
      },
      {
        "name": "cancelDownload",
        "signature": "(options: { url: string; }) => Promise<boolean>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ url: string; }"
          }
        ],
        "returns": "Promise<boolean>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "canceldownload"
      },
      {
        "name": "getAvailableModels",
        "signature": "() => Promise<Array<{ name: string; path: string; size: number; }>>",
        "parameters": [],
        "returns": "Promise<{ name: string; path: string; size: number; }[]>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "Array"
        ],
        "slug": "getavailablemodels"
      },
      {
        "name": "convertJsonSchemaToGrammar",
        "signature": "(options: { schema: string; }) => Promise<string>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ schema: string; }"
          }
        ],
        "returns": "Promise<string>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "convertjsonschematogrammar"
      },
      {
        "name": "addListener",
        "signature": "(eventName: string, listenerFunc: (data: any) => void) => Promise<void>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "string"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(data: any) => void"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "addlistenerstring-"
      },
      {
        "name": "removeAllListeners",
        "signature": "(eventName: string) => Promise<void>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "string"
          }
        ],
        "returns": "Promise<void>",
        "tags": [],
        "docs": "",
        "complexTypes": [],
        "slug": "removealllisteners"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "Object",
      "slug": "object",
      "docs": "Provides functionality common to all JavaScript objects.",
      "tags": [],
      "methods": [
        {
          "name": "toString",
          "signature": "() => string",
          "parameters": [],
          "returns": "string",
          "tags": [],
          "docs": "Returns a string representation of an object.",
          "complexTypes": [],
          "slug": "tostring"
        },
        {
          "name": "toLocaleString",
          "signature": "() => string",
          "parameters": [],
          "returns": "string",
          "tags": [],
          "docs": "Returns a date converted to a string using the current locale.",
          "complexTypes": [],
          "slug": "tolocalestring"
        },
        {
          "name": "valueOf",
          "signature": "() => Object",
          "parameters": [],
          "returns": "Object",
          "tags": [],
          "docs": "Returns the primitive value of the specified object.",
          "complexTypes": [
            "Object"
          ],
          "slug": "valueof"
        },
        {
          "name": "hasOwnProperty",
          "signature": "(v: PropertyKey) => boolean",
          "parameters": [
            {
              "name": "v",
              "docs": "A property name.",
              "type": "PropertyKey"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "v A property name."
            }
          ],
          "docs": "Determines whether an object has a property with the specified name.",
          "complexTypes": [
            "PropertyKey"
          ],
          "slug": "hasownproperty"
        },
        {
          "name": "isPrototypeOf",
          "signature": "(v: Object) => boolean",
          "parameters": [
            {
              "name": "v",
              "docs": "Another object whose prototype chain is to be checked.",
              "type": "Object"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "v Another object whose prototype chain is to be checked."
            }
          ],
          "docs": "Determines whether an object exists in another object's prototype chain.",
          "complexTypes": [
            "Object"
          ],
          "slug": "isprototypeof"
        },
        {
          "name": "propertyIsEnumerable",
          "signature": "(v: PropertyKey) => boolean",
          "parameters": [
            {
              "name": "v",
              "docs": "A property name.",
              "type": "PropertyKey"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "v A property name."
            }
          ],
          "docs": "Determines whether a specified property is enumerable.",
          "complexTypes": [
            "PropertyKey"
          ],
          "slug": "propertyisenumerable"
        }
      ],
      "properties": [
        {
          "name": "constructor",
          "tags": [],
          "docs": "The initial value of Object.prototype.constructor is the standard built-in Object constructor.",
          "complexTypes": [
            "Function"
          ],
          "type": "Function"
        }
      ]
    },
    {
      "name": "Function",
      "slug": "function",
      "docs": "Creates a new function.",
      "tags": [],
      "methods": [
        {
          "name": "apply",
          "signature": "(this: Function, thisArg: any, argArray?: any) => any",
          "parameters": [
            {
              "name": "thisArg",
              "docs": "The object to be used as the this object.",
              "type": "any"
            },
            {
              "name": "argArray",
              "docs": "A set of arguments to be passed to the function.",
              "type": "any"
            }
          ],
          "returns": "any",
          "tags": [
            {
              "name": "param",
              "text": "thisArg The object to be used as the this object."
            },
            {
              "name": "param",
              "text": "argArray A set of arguments to be passed to the function."
            }
          ],
          "docs": "Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.",
          "complexTypes": [
            "Function"
          ],
          "slug": "apply"
        },
        {
          "name": "call",
          "signature": "(this: Function, thisArg: any, ...argArray: any[]) => any",
          "parameters": [
            {
              "name": "thisArg",
              "docs": "The object to be used as the current object.",
              "type": "any"
            },
            {
              "name": "argArray",
              "docs": "A list of arguments to be passed to the method.",
              "type": "any[]"
            }
          ],
          "returns": "any",
          "tags": [
            {
              "name": "param",
              "text": "thisArg The object to be used as the current object."
            },
            {
              "name": "param",
              "text": "argArray A list of arguments to be passed to the method."
            }
          ],
          "docs": "Calls a method of an object, substituting another object for the current object.",
          "complexTypes": [
            "Function"
          ],
          "slug": "call"
        },
        {
          "name": "bind",
          "signature": "(this: Function, thisArg: any, ...argArray: any[]) => any",
          "parameters": [
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer inside the new function.",
              "type": "any"
            },
            {
              "name": "argArray",
              "docs": "A list of arguments to be passed to the new function.",
              "type": "any[]"
            }
          ],
          "returns": "any",
          "tags": [
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer inside the new function."
            },
            {
              "name": "param",
              "text": "argArray A list of arguments to be passed to the new function."
            }
          ],
          "docs": "For a given function, creates a bound function that has the same body as the original function.\r\nThe this object of the bound function is associated with the specified object, and has the specified initial parameters.",
          "complexTypes": [
            "Function"
          ],
          "slug": "bind"
        },
        {
          "name": "toString",
          "signature": "() => string",
          "parameters": [],
          "returns": "string",
          "tags": [],
          "docs": "Returns a string representation of a function.",
          "complexTypes": [],
          "slug": "tostring"
        }
      ],
      "properties": [
        {
          "name": "prototype",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "any"
        },
        {
          "name": "length",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "arguments",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "any"
        },
        {
          "name": "caller",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Function"
          ],
          "type": "Function"
        }
      ]
    },
    {
      "name": "FunctionDeclaration",
      "slug": "functiondeclaration",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [],
          "docs": "It is null when a function declaration is a part of the `export default function` statement",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        }
      ]
    },
    {
      "name": "Identifier",
      "slug": "identifier",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Identifier'"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "FunctionExpression",
      "slug": "functionexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier | null | undefined"
        },
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'FunctionExpression'"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BlockStatement"
          ],
          "type": "BlockStatement"
        }
      ]
    },
    {
      "name": "BlockStatement",
      "slug": "blockstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'BlockStatement'"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement[]"
        },
        {
          "name": "innerComments",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Comment"
          ],
          "type": "Comment[] | undefined"
        }
      ]
    },
    {
      "name": "ExpressionStatement",
      "slug": "expressionstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ExpressionStatement'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "ExpressionMap",
      "slug": "expressionmap",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "ArrayExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ArrayExpression"
          ],
          "type": "ArrayExpression"
        },
        {
          "name": "ArrowFunctionExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ArrowFunctionExpression"
          ],
          "type": "ArrowFunctionExpression"
        },
        {
          "name": "AssignmentExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "AssignmentExpression"
          ],
          "type": "AssignmentExpression"
        },
        {
          "name": "AwaitExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "AwaitExpression"
          ],
          "type": "AwaitExpression"
        },
        {
          "name": "BinaryExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BinaryExpression"
          ],
          "type": "BinaryExpression"
        },
        {
          "name": "CallExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "CallExpression"
          ],
          "type": "CallExpression"
        },
        {
          "name": "ChainExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ChainExpression"
          ],
          "type": "ChainExpression"
        },
        {
          "name": "ClassExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ClassExpression"
          ],
          "type": "ClassExpression"
        },
        {
          "name": "ConditionalExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ConditionalExpression"
          ],
          "type": "ConditionalExpression"
        },
        {
          "name": "FunctionExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FunctionExpression"
          ],
          "type": "FunctionExpression"
        },
        {
          "name": "Identifier",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        },
        {
          "name": "ImportExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ImportExpression"
          ],
          "type": "ImportExpression"
        },
        {
          "name": "Literal",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Literal"
          ],
          "type": "Literal"
        },
        {
          "name": "LogicalExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "LogicalExpression"
          ],
          "type": "LogicalExpression"
        },
        {
          "name": "MemberExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "MemberExpression"
          ],
          "type": "MemberExpression"
        },
        {
          "name": "MetaProperty",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "MetaProperty"
          ],
          "type": "MetaProperty"
        },
        {
          "name": "NewExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "NewExpression"
          ],
          "type": "NewExpression"
        },
        {
          "name": "ObjectExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ObjectExpression"
          ],
          "type": "ObjectExpression"
        },
        {
          "name": "SequenceExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "SequenceExpression"
          ],
          "type": "SequenceExpression"
        },
        {
          "name": "TaggedTemplateExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TaggedTemplateExpression"
          ],
          "type": "TaggedTemplateExpression"
        },
        {
          "name": "TemplateLiteral",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TemplateLiteral"
          ],
          "type": "TemplateLiteral"
        },
        {
          "name": "ThisExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ThisExpression"
          ],
          "type": "ThisExpression"
        },
        {
          "name": "UnaryExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "UnaryExpression"
          ],
          "type": "UnaryExpression"
        },
        {
          "name": "UpdateExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "UpdateExpression"
          ],
          "type": "UpdateExpression"
        },
        {
          "name": "YieldExpression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "YieldExpression"
          ],
          "type": "YieldExpression"
        }
      ]
    },
    {
      "name": "ArrayExpression",
      "slug": "arrayexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ArrayExpression'"
        },
        {
          "name": "elements",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Expression",
            "SpreadElement"
          ],
          "type": "Array<Expression | SpreadElement | null>"
        }
      ]
    },
    {
      "name": "Array",
      "slug": "array",
      "docs": "",
      "tags": [],
      "methods": [
        {
          "name": "toString",
          "signature": "() => string",
          "parameters": [],
          "returns": "string",
          "tags": [],
          "docs": "Returns a string representation of an array.",
          "complexTypes": [],
          "slug": "tostring"
        },
        {
          "name": "toLocaleString",
          "signature": "() => string",
          "parameters": [],
          "returns": "string",
          "tags": [],
          "docs": "Returns a string representation of an array. The elements are converted to string using their toLocalString methods.",
          "complexTypes": [],
          "slug": "tolocalestring"
        },
        {
          "name": "pop",
          "signature": "() => T | undefined",
          "parameters": [],
          "returns": "T | undefined",
          "tags": [],
          "docs": "Removes the last element from an array and returns it.\r\nIf the array is empty, undefined is returned and the array is not modified.",
          "complexTypes": [
            "T"
          ],
          "slug": "pop"
        },
        {
          "name": "push",
          "signature": "(...items: T[]) => number",
          "parameters": [
            {
              "name": "items",
              "docs": "New elements to add to the array.",
              "type": "T[]"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "items New elements to add to the array."
            }
          ],
          "docs": "Appends new elements to the end of an array, and returns the new length of the array.",
          "complexTypes": [
            "T"
          ],
          "slug": "push"
        },
        {
          "name": "concat",
          "signature": "(...items: ConcatArray<T>[]) => T[]",
          "parameters": [
            {
              "name": "items",
              "docs": "Additional arrays and/or items to add to the end of the array.",
              "type": "ConcatArray<T>[]"
            }
          ],
          "returns": "T[]",
          "tags": [
            {
              "name": "param",
              "text": "items Additional arrays and/or items to add to the end of the array."
            }
          ],
          "docs": "Combines two or more arrays.\r\nThis method returns a new array without modifying any existing arrays.",
          "complexTypes": [
            "T",
            "ConcatArray"
          ],
          "slug": "concat"
        },
        {
          "name": "concat",
          "signature": "(...items: (T | ConcatArray<T>)[]) => T[]",
          "parameters": [
            {
              "name": "items",
              "docs": "Additional arrays and/or items to add to the end of the array.",
              "type": "(T | ConcatArray<T>)[]"
            }
          ],
          "returns": "T[]",
          "tags": [
            {
              "name": "param",
              "text": "items Additional arrays and/or items to add to the end of the array."
            }
          ],
          "docs": "Combines two or more arrays.\r\nThis method returns a new array without modifying any existing arrays.",
          "complexTypes": [
            "T",
            "ConcatArray"
          ],
          "slug": "concat"
        },
        {
          "name": "join",
          "signature": "(separator?: string | undefined) => string",
          "parameters": [
            {
              "name": "separator",
              "docs": "A string used to separate one element of the array from the next in the resulting string. If omitted, the array elements are separated with a comma.",
              "type": "string | undefined"
            }
          ],
          "returns": "string",
          "tags": [
            {
              "name": "param",
              "text": "separator A string used to separate one element of the array from the next in the resulting string. If omitted, the array elements are separated with a comma."
            }
          ],
          "docs": "Adds all the elements of an array into a string, separated by the specified separator string.",
          "complexTypes": [],
          "slug": "join"
        },
        {
          "name": "reverse",
          "signature": "() => T[]",
          "parameters": [],
          "returns": "T[]",
          "tags": [],
          "docs": "Reverses the elements in an array in place.\r\nThis method mutates the array and returns a reference to the same array.",
          "complexTypes": [
            "T"
          ],
          "slug": "reverse"
        },
        {
          "name": "shift",
          "signature": "() => T | undefined",
          "parameters": [],
          "returns": "T | undefined",
          "tags": [],
          "docs": "Removes the first element from an array and returns it.\r\nIf the array is empty, undefined is returned and the array is not modified.",
          "complexTypes": [
            "T"
          ],
          "slug": "shift"
        },
        {
          "name": "slice",
          "signature": "(start?: number | undefined, end?: number | undefined) => T[]",
          "parameters": [
            {
              "name": "start",
              "docs": "The beginning index of the specified portion of the array.\r\nIf start is undefined, then the slice begins at index 0.",
              "type": "number | undefined"
            },
            {
              "name": "end",
              "docs": "The end index of the specified portion of the array. This is exclusive of the element at the index 'end'.\r\nIf end is undefined, then the slice extends to the end of the array.",
              "type": "number | undefined"
            }
          ],
          "returns": "T[]",
          "tags": [
            {
              "name": "param",
              "text": "start The beginning index of the specified portion of the array.\r\nIf start is undefined, then the slice begins at index 0."
            },
            {
              "name": "param",
              "text": "end The end index of the specified portion of the array. This is exclusive of the element at the index 'end'.\r\nIf end is undefined, then the slice extends to the end of the array."
            }
          ],
          "docs": "Returns a copy of a section of an array.\r\nFor both start and end, a negative index can be used to indicate an offset from the end of the array.\r\nFor example, -2 refers to the second to last element of the array.",
          "complexTypes": [
            "T"
          ],
          "slug": "slice"
        },
        {
          "name": "sort",
          "signature": "(compareFn?: ((a: T, b: T) => number) | undefined) => this",
          "parameters": [
            {
              "name": "compareFn",
              "docs": "Function used to determine the order of the elements. It is expected to return\r\na negative value if first argument is less than second argument, zero if they're equal and a positive\r\nvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r\n```ts\r\n[11,2,22,1].sort((a, b) => a - b)\r\n```",
              "type": "((a: T, b: T) => number) | undefined"
            }
          ],
          "returns": "this",
          "tags": [
            {
              "name": "param",
              "text": "compareFn Function used to determine the order of the elements. It is expected to return\r\na negative value if first argument is less than second argument, zero if they're equal and a positive\r\nvalue otherwise. If omitted, the elements are sorted in ascending, ASCII character order.\r\n```ts\r\n[11,2,22,1].sort((a, b) => a - b)\r\n```"
            }
          ],
          "docs": "Sorts an array in place.\r\nThis method mutates the array and returns a reference to the same array.",
          "complexTypes": [
            "T"
          ],
          "slug": "sort"
        },
        {
          "name": "splice",
          "signature": "(start: number, deleteCount?: number | undefined) => T[]",
          "parameters": [
            {
              "name": "start",
              "docs": "The zero-based location in the array from which to start removing elements.",
              "type": "number"
            },
            {
              "name": "deleteCount",
              "docs": "The number of elements to remove.",
              "type": "number | undefined"
            }
          ],
          "returns": "T[]",
          "tags": [
            {
              "name": "param",
              "text": "start The zero-based location in the array from which to start removing elements."
            },
            {
              "name": "param",
              "text": "deleteCount The number of elements to remove."
            },
            {
              "name": "returns",
              "text": "An array containing the elements that were deleted."
            }
          ],
          "docs": "Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.",
          "complexTypes": [
            "T"
          ],
          "slug": "splice"
        },
        {
          "name": "splice",
          "signature": "(start: number, deleteCount: number, ...items: T[]) => T[]",
          "parameters": [
            {
              "name": "start",
              "docs": "The zero-based location in the array from which to start removing elements.",
              "type": "number"
            },
            {
              "name": "deleteCount",
              "docs": "The number of elements to remove.",
              "type": "number"
            },
            {
              "name": "items",
              "docs": "Elements to insert into the array in place of the deleted elements.",
              "type": "T[]"
            }
          ],
          "returns": "T[]",
          "tags": [
            {
              "name": "param",
              "text": "start The zero-based location in the array from which to start removing elements."
            },
            {
              "name": "param",
              "text": "deleteCount The number of elements to remove."
            },
            {
              "name": "param",
              "text": "items Elements to insert into the array in place of the deleted elements."
            },
            {
              "name": "returns",
              "text": "An array containing the elements that were deleted."
            }
          ],
          "docs": "Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements.",
          "complexTypes": [
            "T"
          ],
          "slug": "splice"
        },
        {
          "name": "unshift",
          "signature": "(...items: T[]) => number",
          "parameters": [
            {
              "name": "items",
              "docs": "Elements to insert at the start of the array.",
              "type": "T[]"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "items Elements to insert at the start of the array."
            }
          ],
          "docs": "Inserts new elements at the start of an array, and returns the new length of the array.",
          "complexTypes": [
            "T"
          ],
          "slug": "unshift"
        },
        {
          "name": "indexOf",
          "signature": "(searchElement: T, fromIndex?: number | undefined) => number",
          "parameters": [
            {
              "name": "searchElement",
              "docs": "The value to locate in the array.",
              "type": "T"
            },
            {
              "name": "fromIndex",
              "docs": "The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.",
              "type": "number | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "searchElement The value to locate in the array."
            },
            {
              "name": "param",
              "text": "fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0."
            }
          ],
          "docs": "Returns the index of the first occurrence of a value in an array, or -1 if it is not present.",
          "complexTypes": [
            "T"
          ],
          "slug": "indexof"
        },
        {
          "name": "lastIndexOf",
          "signature": "(searchElement: T, fromIndex?: number | undefined) => number",
          "parameters": [
            {
              "name": "searchElement",
              "docs": "The value to locate in the array.",
              "type": "T"
            },
            {
              "name": "fromIndex",
              "docs": "The array index at which to begin searching backward. If fromIndex is omitted, the search starts at the last index in the array.",
              "type": "number | undefined"
            }
          ],
          "returns": "number",
          "tags": [
            {
              "name": "param",
              "text": "searchElement The value to locate in the array."
            },
            {
              "name": "param",
              "text": "fromIndex The array index at which to begin searching backward. If fromIndex is omitted, the search starts at the last index in the array."
            }
          ],
          "docs": "Returns the index of the last occurrence of a specified value in an array, or -1 if it is not present.",
          "complexTypes": [
            "T"
          ],
          "slug": "lastindexof"
        },
        {
          "name": "every",
          "signature": "<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any) => this is S[]",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array.",
              "type": "(value: T, index: number, array: T[]) => value is S"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Determines whether all the members of an array satisfy the specified test.",
          "complexTypes": [
            "T",
            "S"
          ],
          "slug": "every"
        },
        {
          "name": "every",
          "signature": "(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array.",
              "type": "(value: T, index: number, array: T[]) => unknown"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The every method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value false, or until the end of the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Determines whether all the members of an array satisfy the specified test.",
          "complexTypes": [
            "T"
          ],
          "slug": "every"
        },
        {
          "name": "some",
          "signature": "(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => boolean",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The some method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value true, or until the end of the array.",
              "type": "(value: T, index: number, array: T[]) => unknown"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The some method calls\r\nthe predicate function for each element in the array until the predicate returns a value\r\nwhich is coercible to the Boolean value true, or until the end of the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function.\r\nIf thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Determines whether the specified callback function returns true for any element of an array.",
          "complexTypes": [
            "T"
          ],
          "slug": "some"
        },
        {
          "name": "forEach",
          "signature": "(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.",
              "type": "(value: T, index: number, array: T[]) => void"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "void",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Performs the specified action for each element in an array.",
          "complexTypes": [
            "T"
          ],
          "slug": "foreach"
        },
        {
          "name": "map",
          "signature": "<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.",
              "type": "(value: T, index: number, array: T[]) => U"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "U[]",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Calls a defined callback function on each element of an array, and returns an array that contains the results.",
          "complexTypes": [
            "U",
            "T"
          ],
          "slug": "map"
        },
        {
          "name": "filter",
          "signature": "<S extends T>(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any) => S[]",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.",
              "type": "(value: T, index: number, array: T[]) => value is S"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "S[]",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Returns the elements of an array that meet the condition specified in a callback function.",
          "complexTypes": [
            "S",
            "T"
          ],
          "slug": "filter"
        },
        {
          "name": "filter",
          "signature": "(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any) => T[]",
          "parameters": [
            {
              "name": "predicate",
              "docs": "A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.",
              "type": "(value: T, index: number, array: T[]) => unknown"
            },
            {
              "name": "thisArg",
              "docs": "An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value.",
              "type": "any"
            }
          ],
          "returns": "T[]",
          "tags": [
            {
              "name": "param",
              "text": "predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value."
            }
          ],
          "docs": "Returns the elements of an array that meet the condition specified in a callback function.",
          "complexTypes": [
            "T"
          ],
          "slug": "filter"
        },
        {
          "name": "reduce",
          "signature": "(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T) => T",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.",
              "type": "(previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T"
            }
          ],
          "returns": "T",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.",
          "complexTypes": [
            "T"
          ],
          "slug": "reduce"
        },
        {
          "name": "reduce",
          "signature": "(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T) => T",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "",
              "type": "(previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T"
            },
            {
              "name": "initialValue",
              "docs": "",
              "type": "T"
            }
          ],
          "returns": "T",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "T"
          ],
          "slug": "reduce"
        },
        {
          "name": "reduce",
          "signature": "<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U) => U",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.",
              "type": "(previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U"
            },
            {
              "name": "initialValue",
              "docs": "If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",
              "type": "U"
            }
          ],
          "returns": "U",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.",
          "complexTypes": [
            "U",
            "T"
          ],
          "slug": "reduce"
        },
        {
          "name": "reduceRight",
          "signature": "(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T) => T",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.",
              "type": "(previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T"
            }
          ],
          "returns": "T",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.",
          "complexTypes": [
            "T"
          ],
          "slug": "reduceright"
        },
        {
          "name": "reduceRight",
          "signature": "(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T) => T",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "",
              "type": "(previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T"
            },
            {
              "name": "initialValue",
              "docs": "",
              "type": "T"
            }
          ],
          "returns": "T",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "T"
          ],
          "slug": "reduceright"
        },
        {
          "name": "reduceRight",
          "signature": "<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U) => U",
          "parameters": [
            {
              "name": "callbackfn",
              "docs": "A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.",
              "type": "(previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U"
            },
            {
              "name": "initialValue",
              "docs": "If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.",
              "type": "U"
            }
          ],
          "returns": "U",
          "tags": [
            {
              "name": "param",
              "text": "callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array."
            },
            {
              "name": "param",
              "text": "initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value."
            }
          ],
          "docs": "Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.",
          "complexTypes": [
            "U",
            "T"
          ],
          "slug": "reduceright"
        }
      ],
      "properties": [
        {
          "name": "length",
          "tags": [],
          "docs": "Gets or sets the length of the array. This is a number one higher than the highest index in the array.",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "ConcatArray",
      "slug": "concatarray",
      "docs": "",
      "tags": [],
      "methods": [
        {
          "name": "join",
          "signature": "(separator?: string | undefined) => string",
          "parameters": [
            {
              "name": "separator",
              "docs": "",
              "type": "string | undefined"
            }
          ],
          "returns": "string",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "slug": "join"
        },
        {
          "name": "slice",
          "signature": "(start?: number | undefined, end?: number | undefined) => T[]",
          "parameters": [
            {
              "name": "start",
              "docs": "",
              "type": "number | undefined"
            },
            {
              "name": "end",
              "docs": "",
              "type": "number | undefined"
            }
          ],
          "returns": "T[]",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "T"
          ],
          "slug": "slice"
        }
      ],
      "properties": [
        {
          "name": "length",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "SpreadElement",
      "slug": "spreadelement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'SpreadElement'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "ArrowFunctionExpression",
      "slug": "arrowfunctionexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ArrowFunctionExpression'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BlockStatement",
            "Expression"
          ],
          "type": "Expression | BlockStatement"
        }
      ]
    },
    {
      "name": "AssignmentExpression",
      "slug": "assignmentexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'AssignmentExpression'"
        },
        {
          "name": "operator",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "AssignmentOperator"
          ],
          "type": "AssignmentOperator"
        },
        {
          "name": "left",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Pattern",
            "MemberExpression"
          ],
          "type": "Pattern"
        },
        {
          "name": "right",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "ObjectPattern",
      "slug": "objectpattern",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectPattern'"
        },
        {
          "name": "properties",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "AssignmentProperty",
            "RestElement"
          ],
          "type": "Array<AssignmentProperty | RestElement>"
        }
      ]
    },
    {
      "name": "AssignmentProperty",
      "slug": "assignmentproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Pattern"
          ],
          "type": "Pattern"
        },
        {
          "name": "kind",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'init'"
        },
        {
          "name": "method",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "RestElement",
      "slug": "restelement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'RestElement'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Pattern"
          ],
          "type": "Pattern"
        }
      ]
    },
    {
      "name": "ArrayPattern",
      "slug": "arraypattern",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ArrayPattern'"
        },
        {
          "name": "elements",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Pattern"
          ],
          "type": "Array<Pattern | null>"
        }
      ]
    },
    {
      "name": "AssignmentPattern",
      "slug": "assignmentpattern",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'AssignmentPattern'"
        },
        {
          "name": "left",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Pattern"
          ],
          "type": "Pattern"
        },
        {
          "name": "right",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "MemberExpression",
      "slug": "memberexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'MemberExpression'"
        },
        {
          "name": "object",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "Super"
          ],
          "type": "Expression | Super"
        },
        {
          "name": "property",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "PrivateIdentifier"
          ],
          "type": "Expression | PrivateIdentifier"
        },
        {
          "name": "computed",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "Super",
      "slug": "super",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Super'"
        }
      ]
    },
    {
      "name": "PrivateIdentifier",
      "slug": "privateidentifier",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'PrivateIdentifier'"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "AwaitExpression",
      "slug": "awaitexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'AwaitExpression'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "BinaryExpression",
      "slug": "binaryexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'BinaryExpression'"
        },
        {
          "name": "operator",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BinaryOperator"
          ],
          "type": "BinaryOperator"
        },
        {
          "name": "left",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "PrivateIdentifier"
          ],
          "type": "Expression | PrivateIdentifier"
        },
        {
          "name": "right",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "CallExpression",
      "slug": "callexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'CallExpression'"
        },
        {
          "name": "callee",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "Super",
            "V8IntrinsicIdentifier"
          ],
          "type": "V8IntrinsicIdentifier | Expression"
        },
        {
          "name": "arguments",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Expression",
            "SpreadElement",
            "ArgumentPlaceholder"
          ],
          "type": "Array<Expression | SpreadElement | ArgumentPlaceholder>"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "typeArguments",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeParameterInstantiation"
          ],
          "type": "TypeParameterInstantiation | null | undefined"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterInstantiation"
          ],
          "type": "TSTypeParameterInstantiation | null | undefined"
        }
      ]
    },
    {
      "name": "V8IntrinsicIdentifier",
      "slug": "v8intrinsicidentifier",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'V8IntrinsicIdentifier'"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "ArgumentPlaceholder",
      "slug": "argumentplaceholder",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ArgumentPlaceholder'"
        }
      ]
    },
    {
      "name": "TypeParameterInstantiation",
      "slug": "typeparameterinstantiation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TypeParameterInstantiation'"
        },
        {
          "name": "params",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "FlowType"
          ],
          "type": "Array<FlowType>"
        }
      ]
    },
    {
      "name": "AnyTypeAnnotation",
      "slug": "anytypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'AnyTypeAnnotation'"
        }
      ]
    },
    {
      "name": "ArrayTypeAnnotation",
      "slug": "arraytypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ArrayTypeAnnotation'"
        },
        {
          "name": "elementType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        }
      ]
    },
    {
      "name": "BooleanTypeAnnotation",
      "slug": "booleantypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'BooleanTypeAnnotation'"
        }
      ]
    },
    {
      "name": "BooleanLiteralTypeAnnotation",
      "slug": "booleanliteraltypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'BooleanLiteralTypeAnnotation'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "NullLiteralTypeAnnotation",
      "slug": "nullliteraltypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'NullLiteralTypeAnnotation'"
        }
      ]
    },
    {
      "name": "ExistsTypeAnnotation",
      "slug": "existstypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ExistsTypeAnnotation'"
        }
      ]
    },
    {
      "name": "FunctionTypeAnnotation",
      "slug": "functiontypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'FunctionTypeAnnotation'"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeParameterDeclaration"
          ],
          "type": "TypeParameterDeclaration | null | undefined"
        },
        {
          "name": "params",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "FunctionTypeParam"
          ],
          "type": "Array<FunctionTypeParam>"
        },
        {
          "name": "rest",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FunctionTypeParam"
          ],
          "type": "FunctionTypeParam | null | undefined"
        },
        {
          "name": "returnType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "this",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FunctionTypeParam"
          ],
          "type": "FunctionTypeParam | null | undefined"
        }
      ]
    },
    {
      "name": "TypeParameterDeclaration",
      "slug": "typeparameterdeclaration",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TypeParameterDeclaration'"
        },
        {
          "name": "params",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TypeParameter"
          ],
          "type": "Array<TypeParameter>"
        }
      ]
    },
    {
      "name": "TypeParameter",
      "slug": "typeparameter",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TypeParameter'"
        },
        {
          "name": "bound",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeAnnotation"
          ],
          "type": "TypeAnnotation | null | undefined"
        },
        {
          "name": "default",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType | null | undefined"
        },
        {
          "name": "variance",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Variance"
          ],
          "type": "Variance | null | undefined"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "TypeAnnotation",
      "slug": "typeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TypeAnnotation'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        }
      ]
    },
    {
      "name": "Variance",
      "slug": "variance",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Variance'"
        },
        {
          "name": "kind",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'minus' | 'plus'"
        }
      ]
    },
    {
      "name": "FunctionTypeParam",
      "slug": "functiontypeparam",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'FunctionTypeParam'"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier | null | undefined"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "GenericTypeAnnotation",
      "slug": "generictypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'GenericTypeAnnotation'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier",
            "QualifiedTypeIdentifier"
          ],
          "type": "Identifier | QualifiedTypeIdentifier"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeParameterInstantiation"
          ],
          "type": "TypeParameterInstantiation | null | undefined"
        }
      ]
    },
    {
      "name": "QualifiedTypeIdentifier",
      "slug": "qualifiedtypeidentifier",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'QualifiedTypeIdentifier'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        },
        {
          "name": "qualification",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier",
            "QualifiedTypeIdentifier"
          ],
          "type": "Identifier | QualifiedTypeIdentifier"
        }
      ]
    },
    {
      "name": "InterfaceTypeAnnotation",
      "slug": "interfacetypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'InterfaceTypeAnnotation'"
        },
        {
          "name": "extends",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "InterfaceExtends"
          ],
          "type": "InterfaceExtends[] | null | undefined"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ObjectTypeAnnotation"
          ],
          "type": "ObjectTypeAnnotation"
        }
      ]
    },
    {
      "name": "InterfaceExtends",
      "slug": "interfaceextends",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'InterfaceExtends'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier",
            "QualifiedTypeIdentifier"
          ],
          "type": "Identifier | QualifiedTypeIdentifier"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeParameterInstantiation"
          ],
          "type": "TypeParameterInstantiation | null | undefined"
        }
      ]
    },
    {
      "name": "ObjectTypeAnnotation",
      "slug": "objecttypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectTypeAnnotation'"
        },
        {
          "name": "properties",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ObjectTypeProperty",
            "ObjectTypeSpreadProperty"
          ],
          "type": "Array<ObjectTypeProperty | ObjectTypeSpreadProperty>"
        },
        {
          "name": "indexers",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ObjectTypeIndexer"
          ],
          "type": "Array<ObjectTypeIndexer>"
        },
        {
          "name": "callProperties",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ObjectTypeCallProperty"
          ],
          "type": "Array<ObjectTypeCallProperty>"
        },
        {
          "name": "internalSlots",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ObjectTypeInternalSlot"
          ],
          "type": "Array<ObjectTypeInternalSlot>"
        },
        {
          "name": "exact",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "inexact",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "ObjectTypeProperty",
      "slug": "objecttypeproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectTypeProperty'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier",
            "StringLiteral"
          ],
          "type": "Identifier | StringLiteral"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "variance",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Variance"
          ],
          "type": "Variance | null | undefined"
        },
        {
          "name": "kind",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'init' | 'get' | 'set'"
        },
        {
          "name": "method",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "proto",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "StringLiteral",
      "slug": "stringliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'StringLiteral'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "ObjectTypeSpreadProperty",
      "slug": "objecttypespreadproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectTypeSpreadProperty'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        }
      ]
    },
    {
      "name": "ObjectTypeIndexer",
      "slug": "objecttypeindexer",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectTypeIndexer'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier | null | undefined"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "variance",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Variance"
          ],
          "type": "Variance | null | undefined"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "ObjectTypeCallProperty",
      "slug": "objecttypecallproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectTypeCallProperty'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "ObjectTypeInternalSlot",
      "slug": "objecttypeinternalslot",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectTypeInternalSlot'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "method",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "IntersectionTypeAnnotation",
      "slug": "intersectiontypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'IntersectionTypeAnnotation'"
        },
        {
          "name": "types",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "FlowType"
          ],
          "type": "Array<FlowType>"
        }
      ]
    },
    {
      "name": "MixedTypeAnnotation",
      "slug": "mixedtypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'MixedTypeAnnotation'"
        }
      ]
    },
    {
      "name": "EmptyTypeAnnotation",
      "slug": "emptytypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'EmptyTypeAnnotation'"
        }
      ]
    },
    {
      "name": "NullableTypeAnnotation",
      "slug": "nullabletypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'NullableTypeAnnotation'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        }
      ]
    },
    {
      "name": "NumberLiteralTypeAnnotation",
      "slug": "numberliteraltypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'NumberLiteralTypeAnnotation'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "NumberTypeAnnotation",
      "slug": "numbertypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'NumberTypeAnnotation'"
        }
      ]
    },
    {
      "name": "StringLiteralTypeAnnotation",
      "slug": "stringliteraltypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'StringLiteralTypeAnnotation'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "StringTypeAnnotation",
      "slug": "stringtypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'StringTypeAnnotation'"
        }
      ]
    },
    {
      "name": "SymbolTypeAnnotation",
      "slug": "symboltypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'SymbolTypeAnnotation'"
        }
      ]
    },
    {
      "name": "ThisTypeAnnotation",
      "slug": "thistypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ThisTypeAnnotation'"
        }
      ]
    },
    {
      "name": "TupleTypeAnnotation",
      "slug": "tupletypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TupleTypeAnnotation'"
        },
        {
          "name": "types",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "FlowType"
          ],
          "type": "Array<FlowType>"
        }
      ]
    },
    {
      "name": "TypeofTypeAnnotation",
      "slug": "typeoftypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TypeofTypeAnnotation'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        }
      ]
    },
    {
      "name": "UnionTypeAnnotation",
      "slug": "uniontypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'UnionTypeAnnotation'"
        },
        {
          "name": "types",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "FlowType"
          ],
          "type": "Array<FlowType>"
        }
      ]
    },
    {
      "name": "VoidTypeAnnotation",
      "slug": "voidtypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'VoidTypeAnnotation'"
        }
      ]
    },
    {
      "name": "IndexedAccessType",
      "slug": "indexedaccesstype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'IndexedAccessType'"
        },
        {
          "name": "objectType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "indexType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        }
      ]
    },
    {
      "name": "OptionalIndexedAccessType",
      "slug": "optionalindexedaccesstype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'OptionalIndexedAccessType'"
        },
        {
          "name": "objectType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "indexType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "FlowType"
          ],
          "type": "FlowType"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "TSTypeParameterInstantiation",
      "slug": "tstypeparameterinstantiation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeParameterInstantiation'"
        },
        {
          "name": "params",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TSType"
          ],
          "type": "Array<TSType>"
        }
      ]
    },
    {
      "name": "TSAnyKeyword",
      "slug": "tsanykeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSAnyKeyword'"
        }
      ]
    },
    {
      "name": "TSBooleanKeyword",
      "slug": "tsbooleankeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSBooleanKeyword'"
        }
      ]
    },
    {
      "name": "TSBigIntKeyword",
      "slug": "tsbigintkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSBigIntKeyword'"
        }
      ]
    },
    {
      "name": "TSIntrinsicKeyword",
      "slug": "tsintrinsickeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSIntrinsicKeyword'"
        }
      ]
    },
    {
      "name": "TSNeverKeyword",
      "slug": "tsneverkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSNeverKeyword'"
        }
      ]
    },
    {
      "name": "TSNullKeyword",
      "slug": "tsnullkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSNullKeyword'"
        }
      ]
    },
    {
      "name": "TSNumberKeyword",
      "slug": "tsnumberkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSNumberKeyword'"
        }
      ]
    },
    {
      "name": "TSObjectKeyword",
      "slug": "tsobjectkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSObjectKeyword'"
        }
      ]
    },
    {
      "name": "TSStringKeyword",
      "slug": "tsstringkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSStringKeyword'"
        }
      ]
    },
    {
      "name": "TSSymbolKeyword",
      "slug": "tssymbolkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSSymbolKeyword'"
        }
      ]
    },
    {
      "name": "TSUndefinedKeyword",
      "slug": "tsundefinedkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSUndefinedKeyword'"
        }
      ]
    },
    {
      "name": "TSUnknownKeyword",
      "slug": "tsunknownkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSUnknownKeyword'"
        }
      ]
    },
    {
      "name": "TSVoidKeyword",
      "slug": "tsvoidkeyword",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSVoidKeyword'"
        }
      ]
    },
    {
      "name": "TSThisType",
      "slug": "tsthistype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSThisType'"
        }
      ]
    },
    {
      "name": "TSFunctionType",
      "slug": "tsfunctiontype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSFunctionType'"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterDeclaration"
          ],
          "type": "TSTypeParameterDeclaration | null | undefined"
        },
        {
          "name": "parameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ArrayPattern",
            "Identifier",
            "ObjectPattern",
            "RestElement"
          ],
          "type": "Array<ArrayPattern | Identifier | ObjectPattern | RestElement>"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        }
      ]
    },
    {
      "name": "TSTypeParameterDeclaration",
      "slug": "tstypeparameterdeclaration",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeParameterDeclaration'"
        },
        {
          "name": "params",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TSTypeParameter"
          ],
          "type": "Array<TSTypeParameter>"
        }
      ]
    },
    {
      "name": "TSTypeParameter",
      "slug": "tstypeparameter",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeParameter'"
        },
        {
          "name": "constraint",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType | null | undefined"
        },
        {
          "name": "default",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType | null | undefined"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "const",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "in",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "out",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "TSTypeAnnotation",
      "slug": "tstypeannotation",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeAnnotation'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSConstructorType",
      "slug": "tsconstructortype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSConstructorType'"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterDeclaration"
          ],
          "type": "TSTypeParameterDeclaration | null | undefined"
        },
        {
          "name": "parameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ArrayPattern",
            "Identifier",
            "ObjectPattern",
            "RestElement"
          ],
          "type": "Array<ArrayPattern | Identifier | ObjectPattern | RestElement>"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        },
        {
          "name": "abstract",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "TSTypeReference",
      "slug": "tstypereference",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeReference'"
        },
        {
          "name": "typeName",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSEntityName"
          ],
          "type": "TSEntityName"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterInstantiation"
          ],
          "type": "TSTypeParameterInstantiation | null | undefined"
        }
      ]
    },
    {
      "name": "TSQualifiedName",
      "slug": "tsqualifiedname",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSQualifiedName'"
        },
        {
          "name": "left",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSEntityName"
          ],
          "type": "TSEntityName"
        },
        {
          "name": "right",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        }
      ]
    },
    {
      "name": "TSTypePredicate",
      "slug": "tstypepredicate",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypePredicate'"
        },
        {
          "name": "parameterName",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier",
            "TSThisType"
          ],
          "type": "Identifier | TSThisType"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        },
        {
          "name": "asserts",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "TSTypeQuery",
      "slug": "tstypequery",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeQuery'"
        },
        {
          "name": "exprName",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSEntityName",
            "TSImportType"
          ],
          "type": "TSImportType | TSEntityName"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterInstantiation"
          ],
          "type": "TSTypeParameterInstantiation | null | undefined"
        }
      ]
    },
    {
      "name": "TSImportType",
      "slug": "tsimporttype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSImportType'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "StringLiteral"
          ],
          "type": "StringLiteral"
        },
        {
          "name": "qualifier",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSEntityName"
          ],
          "type": "TSEntityName | null | undefined"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterInstantiation"
          ],
          "type": "TSTypeParameterInstantiation | null | undefined"
        },
        {
          "name": "options",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ObjectExpression"
          ],
          "type": "ObjectExpression | null | undefined"
        }
      ]
    },
    {
      "name": "ObjectExpression",
      "slug": "objectexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectExpression'"
        },
        {
          "name": "properties",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Property",
            "SpreadElement"
          ],
          "type": "Array<Property | SpreadElement>"
        }
      ]
    },
    {
      "name": "Property",
      "slug": "property",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Property'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "PrivateIdentifier"
          ],
          "type": "Expression | PrivateIdentifier"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "Pattern"
          ],
          "type": "ClassExpression | ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | SimpleCallExpression | NewExpression | ChainExpression | ConditionalExpression | FunctionExpression | Identifier | ImportExpression | SimpleLiteral | RegExpLiteral | BigIntLiteral | LogicalExpression | MemberExpression | MetaProperty | ObjectExpression | SequenceExpression | TaggedTemplateExpression | TemplateLiteral | ThisExpression | UnaryExpression | UpdateExpression | YieldExpression | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern"
        },
        {
          "name": "kind",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'init' | 'get' | 'set'"
        },
        {
          "name": "method",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "shorthand",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "computed",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "ObjectProperty",
      "slug": "objectproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ObjectProperty'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "Identifier",
            "StringLiteral",
            "NumericLiteral",
            "BigIntLiteral",
            "DecimalLiteral",
            "PrivateName"
          ],
          "type": "PrivateName | Expression"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression",
            "PatternLike"
          ],
          "type": "ArrayExpression | ArrayPattern | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | BinaryExpression | BindExpression | BooleanLiteral | CallExpression | ClassExpression | ConditionalExpression | DecimalLiteral | DoExpression | FunctionExpression | Identifier | Import | ImportExpression | JSXElement | JSXFragment | LogicalExpression | MemberExpression | MetaProperty | ModuleExpression | NewExpression | NullLiteral | NumericLiteral | ObjectExpression | ObjectPattern | OptionalCallExpression | OptionalMemberExpression | ParenthesizedExpression | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | RecordExpression | RegExpLiteral | RestElement | SequenceExpression | StringLiteral | Super | TSAsExpression | TSInstantiationExpression | TSNonNullExpression | TSSatisfiesExpression | TSTypeAssertion | TaggedTemplateExpression | TemplateLiteral | ThisExpression | TopicReference | TupleExpression | TypeCastExpression | UnaryExpression | UpdateExpression | VoidPattern | YieldExpression"
        },
        {
          "name": "computed",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "shorthand",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "decorators",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Decorator"
          ],
          "type": "Decorator[] | null | undefined"
        }
      ]
    },
    {
      "name": "NumericLiteral",
      "slug": "numericliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'NumericLiteral'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "BigIntLiteral",
      "slug": "bigintliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Literal'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "bigint | null | undefined"
        },
        {
          "name": "bigint",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "raw",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "DecimalLiteral",
      "slug": "decimalliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'DecimalLiteral'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "PrivateName",
      "slug": "privatename",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'PrivateName'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        }
      ]
    },
    {
      "name": "VoidPattern",
      "slug": "voidpattern",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'VoidPattern'"
        }
      ]
    },
    {
      "name": "TSAsExpression",
      "slug": "tsasexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSAsExpression'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSSatisfiesExpression",
      "slug": "tssatisfiesexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSSatisfiesExpression'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSTypeAssertion",
      "slug": "tstypeassertion",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeAssertion'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "TSNonNullExpression",
      "slug": "tsnonnullexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSNonNullExpression'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "Decorator",
      "slug": "decorator",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Decorator'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "ClassProperty",
      "slug": "classproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ClassProperty'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier",
            "StringLiteral",
            "NumericLiteral",
            "BigIntLiteral",
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeAnnotation",
            "TSTypeAnnotation",
            "Noop"
          ],
          "type": "Noop | TSTypeAnnotation | TypeAnnotation | null | undefined"
        },
        {
          "name": "decorators",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Decorator"
          ],
          "type": "Decorator[] | null | undefined"
        },
        {
          "name": "computed",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "abstract",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "accessibility",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'public' | 'private' | 'protected' | null | undefined"
        },
        {
          "name": "declare",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "definite",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "override",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "readonly",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "variance",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Variance"
          ],
          "type": "Variance | null | undefined"
        }
      ]
    },
    {
      "name": "Noop",
      "slug": "noop",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Noop'"
        }
      ]
    },
    {
      "name": "ClassAccessorProperty",
      "slug": "classaccessorproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ClassAccessorProperty'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier",
            "StringLiteral",
            "NumericLiteral",
            "BigIntLiteral",
            "Expression",
            "PrivateName"
          ],
          "type": "PrivateName | Expression"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeAnnotation",
            "TSTypeAnnotation",
            "Noop"
          ],
          "type": "Noop | TSTypeAnnotation | TypeAnnotation | null | undefined"
        },
        {
          "name": "decorators",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Decorator"
          ],
          "type": "Decorator[] | null | undefined"
        },
        {
          "name": "computed",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "abstract",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "accessibility",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'public' | 'private' | 'protected' | null | undefined"
        },
        {
          "name": "declare",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "definite",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "override",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "readonly",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "variance",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Variance"
          ],
          "type": "Variance | null | undefined"
        }
      ]
    },
    {
      "name": "ClassPrivateProperty",
      "slug": "classprivateproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ClassPrivateProperty'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "PrivateName"
          ],
          "type": "PrivateName"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        },
        {
          "name": "decorators",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Decorator"
          ],
          "type": "Decorator[] | null | undefined"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "definite",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "readonly",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TypeAnnotation",
            "TSTypeAnnotation",
            "Noop"
          ],
          "type": "Noop | TSTypeAnnotation | TypeAnnotation | null | undefined"
        },
        {
          "name": "variance",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Variance"
          ],
          "type": "Variance | null | undefined"
        }
      ]
    },
    {
      "name": "TSTypeLiteral",
      "slug": "tstypeliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeLiteral'"
        },
        {
          "name": "members",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TSTypeElement"
          ],
          "type": "Array<TSTypeElement>"
        }
      ]
    },
    {
      "name": "TSCallSignatureDeclaration",
      "slug": "tscallsignaturedeclaration",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSCallSignatureDeclaration'"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterDeclaration"
          ],
          "type": "TSTypeParameterDeclaration | null | undefined"
        },
        {
          "name": "parameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ArrayPattern",
            "Identifier",
            "ObjectPattern",
            "RestElement"
          ],
          "type": "Array<ArrayPattern | Identifier | ObjectPattern | RestElement>"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        }
      ]
    },
    {
      "name": "TSConstructSignatureDeclaration",
      "slug": "tsconstructsignaturedeclaration",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSConstructSignatureDeclaration'"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterDeclaration"
          ],
          "type": "TSTypeParameterDeclaration | null | undefined"
        },
        {
          "name": "parameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ArrayPattern",
            "Identifier",
            "ObjectPattern",
            "RestElement"
          ],
          "type": "Array<ArrayPattern | Identifier | ObjectPattern | RestElement>"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        }
      ]
    },
    {
      "name": "TSPropertySignature",
      "slug": "tspropertysignature",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSPropertySignature'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        },
        {
          "name": "computed",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "kind",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'get' | 'set' | null | undefined"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "readonly",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "TSMethodSignature",
      "slug": "tsmethodsignature",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSMethodSignature'"
        },
        {
          "name": "key",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterDeclaration"
          ],
          "type": "TSTypeParameterDeclaration | null | undefined"
        },
        {
          "name": "parameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "ArrayPattern",
            "Identifier",
            "ObjectPattern",
            "RestElement"
          ],
          "type": "Array<ArrayPattern | Identifier | ObjectPattern | RestElement>"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        },
        {
          "name": "computed",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "kind",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'get' | 'set' | 'method'"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "TSIndexSignature",
      "slug": "tsindexsignature",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSIndexSignature'"
        },
        {
          "name": "parameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "Identifier"
          ],
          "type": "Array<Identifier>"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeAnnotation"
          ],
          "type": "TSTypeAnnotation | null | undefined"
        },
        {
          "name": "readonly",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        },
        {
          "name": "static",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | null | undefined"
        }
      ]
    },
    {
      "name": "TSArrayType",
      "slug": "tsarraytype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSArrayType'"
        },
        {
          "name": "elementType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSTupleType",
      "slug": "tstupletype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTupleType'"
        },
        {
          "name": "elementTypes",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TSType",
            "TSNamedTupleMember"
          ],
          "type": "Array<TSType | TSNamedTupleMember>"
        }
      ]
    },
    {
      "name": "TSNamedTupleMember",
      "slug": "tsnamedtuplemember",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSNamedTupleMember'"
        },
        {
          "name": "label",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        },
        {
          "name": "elementType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "TSOptionalType",
      "slug": "tsoptionaltype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSOptionalType'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSRestType",
      "slug": "tsresttype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSRestType'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSUnionType",
      "slug": "tsuniontype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSUnionType'"
        },
        {
          "name": "types",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TSType"
          ],
          "type": "Array<TSType>"
        }
      ]
    },
    {
      "name": "TSIntersectionType",
      "slug": "tsintersectiontype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSIntersectionType'"
        },
        {
          "name": "types",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TSType"
          ],
          "type": "Array<TSType>"
        }
      ]
    },
    {
      "name": "TSConditionalType",
      "slug": "tsconditionaltype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSConditionalType'"
        },
        {
          "name": "checkType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        },
        {
          "name": "extendsType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        },
        {
          "name": "trueType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        },
        {
          "name": "falseType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSInferType",
      "slug": "tsinfertype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSInferType'"
        },
        {
          "name": "typeParameter",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameter"
          ],
          "type": "TSTypeParameter"
        }
      ]
    },
    {
      "name": "TSParenthesizedType",
      "slug": "tsparenthesizedtype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSParenthesizedType'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSTypeOperator",
      "slug": "tstypeoperator",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTypeOperator'"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        },
        {
          "name": "operator",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "TSIndexedAccessType",
      "slug": "tsindexedaccesstype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSIndexedAccessType'"
        },
        {
          "name": "objectType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        },
        {
          "name": "indexType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType"
        }
      ]
    },
    {
      "name": "TSMappedType",
      "slug": "tsmappedtype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSMappedType'"
        },
        {
          "name": "typeParameter",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameter"
          ],
          "type": "TSTypeParameter"
        },
        {
          "name": "typeAnnotation",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType | null | undefined"
        },
        {
          "name": "nameType",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSType"
          ],
          "type": "TSType | null | undefined"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | '-' | '+' | null | undefined"
        },
        {
          "name": "readonly",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | '-' | '+' | null | undefined"
        }
      ]
    },
    {
      "name": "TSTemplateLiteralType",
      "slug": "tstemplateliteraltype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSTemplateLiteralType'"
        },
        {
          "name": "quasis",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TemplateElement"
          ],
          "type": "Array<TemplateElement>"
        },
        {
          "name": "types",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "TSType"
          ],
          "type": "Array<TSType>"
        }
      ]
    },
    {
      "name": "TemplateElement",
      "slug": "templateelement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TemplateElement'"
        },
        {
          "name": "tail",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "{ cooked?: string | null | undefined; raw: string; }"
        }
      ]
    },
    {
      "name": "TSLiteralType",
      "slug": "tsliteraltype",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSLiteralType'"
        },
        {
          "name": "literal",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "NumericLiteral",
            "StringLiteral",
            "BooleanLiteral",
            "BigIntLiteral",
            "TemplateLiteral",
            "UnaryExpression"
          ],
          "type": "BigIntLiteral | BooleanLiteral | NumericLiteral | StringLiteral | TemplateLiteral | UnaryExpression"
        }
      ]
    },
    {
      "name": "BooleanLiteral",
      "slug": "booleanliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'BooleanLiteral'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "TemplateLiteral",
      "slug": "templateliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TemplateLiteral'"
        },
        {
          "name": "quasis",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TemplateElement"
          ],
          "type": "TemplateElement[]"
        },
        {
          "name": "expressions",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression[]"
        }
      ]
    },
    {
      "name": "UnaryExpression",
      "slug": "unaryexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'UnaryExpression'"
        },
        {
          "name": "operator",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "UnaryOperator"
          ],
          "type": "UnaryOperator"
        },
        {
          "name": "prefix",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "true"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "TSExpressionWithTypeArguments",
      "slug": "tsexpressionwithtypearguments",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TSExpressionWithTypeArguments'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSEntityName"
          ],
          "type": "TSEntityName"
        },
        {
          "name": "typeParameters",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TSTypeParameterInstantiation"
          ],
          "type": "TSTypeParameterInstantiation | null | undefined"
        }
      ]
    },
    {
      "name": "SimpleCallExpression",
      "slug": "simplecallexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'CallExpression'"
        },
        {
          "name": "optional",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "NewExpression",
      "slug": "newexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'NewExpression'"
        }
      ]
    },
    {
      "name": "ChainExpression",
      "slug": "chainexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ChainExpression'"
        },
        {
          "name": "expression",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "ChainElement"
          ],
          "type": "ChainElement"
        }
      ]
    },
    {
      "name": "ClassExpression",
      "slug": "classexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ClassExpression'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier | null | undefined"
        }
      ]
    },
    {
      "name": "ConditionalExpression",
      "slug": "conditionalexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ConditionalExpression'"
        },
        {
          "name": "test",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "alternate",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "consequent",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "ImportExpression",
      "slug": "importexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ImportExpression'"
        },
        {
          "name": "source",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "options",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        }
      ]
    },
    {
      "name": "SimpleLiteral",
      "slug": "simpleliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Literal'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | number | boolean | null"
        },
        {
          "name": "raw",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "RegExpLiteral",
      "slug": "regexpliteral",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Literal'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "RegExp"
          ],
          "type": "RegExp | null | undefined"
        },
        {
          "name": "regex",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "{ pattern: string; flags: string; }"
        },
        {
          "name": "raw",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "RegExp",
      "slug": "regexp",
      "docs": "",
      "tags": [],
      "methods": [
        {
          "name": "exec",
          "signature": "(string: string) => RegExpExecArray | null",
          "parameters": [
            {
              "name": "string",
              "docs": "The String object or string literal on which to perform the search.",
              "type": "string"
            }
          ],
          "returns": "RegExpExecArray | null",
          "tags": [
            {
              "name": "param",
              "text": "string The String object or string literal on which to perform the search."
            }
          ],
          "docs": "Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search.",
          "complexTypes": [
            "RegExpExecArray"
          ],
          "slug": "exec"
        },
        {
          "name": "test",
          "signature": "(string: string) => boolean",
          "parameters": [
            {
              "name": "string",
              "docs": "String on which to perform the search.",
              "type": "string"
            }
          ],
          "returns": "boolean",
          "tags": [
            {
              "name": "param",
              "text": "string String on which to perform the search."
            }
          ],
          "docs": "Returns a Boolean value that indicates whether or not a pattern exists in a searched string.",
          "complexTypes": [],
          "slug": "test"
        },
        {
          "name": "compile",
          "signature": "() => this",
          "parameters": [],
          "returns": "this",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "slug": "compile"
        }
      ],
      "properties": [
        {
          "name": "source",
          "tags": [],
          "docs": "Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "global",
          "tags": [],
          "docs": "Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "ignoreCase",
          "tags": [],
          "docs": "Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "multiline",
          "tags": [],
          "docs": "Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only.",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "lastIndex",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "RegExpExecArray",
      "slug": "regexpexecarray",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "index",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "input",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "LogicalExpression",
      "slug": "logicalexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'LogicalExpression'"
        },
        {
          "name": "operator",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "LogicalOperator"
          ],
          "type": "LogicalOperator"
        },
        {
          "name": "left",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "right",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "MetaProperty",
      "slug": "metaproperty",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'MetaProperty'"
        },
        {
          "name": "meta",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        },
        {
          "name": "property",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        }
      ]
    },
    {
      "name": "SequenceExpression",
      "slug": "sequenceexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'SequenceExpression'"
        },
        {
          "name": "expressions",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression[]"
        }
      ]
    },
    {
      "name": "TaggedTemplateExpression",
      "slug": "taggedtemplateexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TaggedTemplateExpression'"
        },
        {
          "name": "tag",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "quasi",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "TemplateLiteral"
          ],
          "type": "TemplateLiteral"
        }
      ]
    },
    {
      "name": "ThisExpression",
      "slug": "thisexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ThisExpression'"
        }
      ]
    },
    {
      "name": "UpdateExpression",
      "slug": "updateexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'UpdateExpression'"
        },
        {
          "name": "operator",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "UpdateOperator"
          ],
          "type": "UpdateOperator"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "prefix",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "YieldExpression",
      "slug": "yieldexpression",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'YieldExpression'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        },
        {
          "name": "delegate",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "StaticBlock",
      "slug": "staticblock",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'StaticBlock'"
        }
      ]
    },
    {
      "name": "EmptyStatement",
      "slug": "emptystatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'EmptyStatement'"
        }
      ]
    },
    {
      "name": "DebuggerStatement",
      "slug": "debuggerstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'DebuggerStatement'"
        }
      ]
    },
    {
      "name": "WithStatement",
      "slug": "withstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'WithStatement'"
        },
        {
          "name": "object",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement"
        }
      ]
    },
    {
      "name": "ReturnStatement",
      "slug": "returnstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ReturnStatement'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        }
      ]
    },
    {
      "name": "LabeledStatement",
      "slug": "labeledstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'LabeledStatement'"
        },
        {
          "name": "label",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement"
        }
      ]
    },
    {
      "name": "BreakStatement",
      "slug": "breakstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'BreakStatement'"
        },
        {
          "name": "label",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier | null | undefined"
        }
      ]
    },
    {
      "name": "ContinueStatement",
      "slug": "continuestatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ContinueStatement'"
        },
        {
          "name": "label",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier | null | undefined"
        }
      ]
    },
    {
      "name": "IfStatement",
      "slug": "ifstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'IfStatement'"
        },
        {
          "name": "test",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "consequent",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement"
        },
        {
          "name": "alternate",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement | null | undefined"
        }
      ]
    },
    {
      "name": "SwitchStatement",
      "slug": "switchstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'SwitchStatement'"
        },
        {
          "name": "discriminant",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "cases",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "SwitchCase"
          ],
          "type": "SwitchCase[]"
        }
      ]
    },
    {
      "name": "SwitchCase",
      "slug": "switchcase",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'SwitchCase'"
        },
        {
          "name": "test",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        },
        {
          "name": "consequent",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement[]"
        }
      ]
    },
    {
      "name": "ThrowStatement",
      "slug": "throwstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ThrowStatement'"
        },
        {
          "name": "argument",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "TryStatement",
      "slug": "trystatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'TryStatement'"
        },
        {
          "name": "block",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BlockStatement"
          ],
          "type": "BlockStatement"
        },
        {
          "name": "handler",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "CatchClause"
          ],
          "type": "CatchClause | null | undefined"
        },
        {
          "name": "finalizer",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BlockStatement"
          ],
          "type": "BlockStatement | null | undefined"
        }
      ]
    },
    {
      "name": "CatchClause",
      "slug": "catchclause",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'CatchClause'"
        },
        {
          "name": "param",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Pattern"
          ],
          "type": "Pattern | null"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "BlockStatement"
          ],
          "type": "BlockStatement"
        }
      ]
    },
    {
      "name": "WhileStatement",
      "slug": "whilestatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'WhileStatement'"
        },
        {
          "name": "test",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement"
        }
      ]
    },
    {
      "name": "DoWhileStatement",
      "slug": "dowhilestatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'DoWhileStatement'"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement"
        },
        {
          "name": "test",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression"
        }
      ]
    },
    {
      "name": "ForStatement",
      "slug": "forstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ForStatement'"
        },
        {
          "name": "init",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "VariableDeclaration",
            "Expression"
          ],
          "type": "Expression | VariableDeclaration | null | undefined"
        },
        {
          "name": "test",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        },
        {
          "name": "update",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Statement"
          ],
          "type": "Statement"
        }
      ]
    },
    {
      "name": "VariableDeclaration",
      "slug": "variabledeclaration",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'VariableDeclaration'"
        },
        {
          "name": "declarations",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "VariableDeclarator"
          ],
          "type": "VariableDeclarator[]"
        },
        {
          "name": "kind",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'var' | 'let' | 'const' | 'using' | 'await using'"
        }
      ]
    },
    {
      "name": "VariableDeclarator",
      "slug": "variabledeclarator",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'VariableDeclarator'"
        },
        {
          "name": "id",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Pattern"
          ],
          "type": "Pattern"
        },
        {
          "name": "init",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Expression"
          ],
          "type": "Expression | null | undefined"
        }
      ]
    },
    {
      "name": "ForInStatement",
      "slug": "forinstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ForInStatement'"
        }
      ]
    },
    {
      "name": "ForOfStatement",
      "slug": "forofstatement",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'ForOfStatement'"
        },
        {
          "name": "await",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "ClassDeclaration",
      "slug": "classdeclaration",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [],
          "docs": "It is null when a class declaration is a part of the `export default class` statement",
          "complexTypes": [
            "Identifier"
          ],
          "type": "Identifier"
        }
      ]
    },
    {
      "name": "Comment",
      "slug": "comment",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'Line' | 'Block'"
        },
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "CommentBlock",
      "slug": "commentblock",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'CommentBlock'"
        }
      ]
    },
    {
      "name": "CommentLine",
      "slug": "commentline",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'CommentLine'"
        }
      ]
    },
    {
      "name": "NativeLlamaContext",
      "slug": "nativellamacontext",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "contextId",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "model",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Object"
          ],
          "type": "{ desc: string; size: number; nEmbd: number; nParams: number; chatTemplates: { llamaChat: boolean; minja: { default: boolean; defaultCaps: { tools: boolean; toolCalls: boolean; toolResponses: boolean; systemRole: boolean; parallelToolCalls: boolean; toolCallId: boolean; }; toolUse: boolean; toolUseCaps: { tools: boolean; toolCalls: boolean; toolResponses: boolean; systemRole: boolean; parallelToolCalls: boolean; toolCallId: boolean; }; }; }; metadata: Object; isChatTemplateSupported: boolean; }"
        },
        {
          "name": "androidLib",
          "tags": [],
          "docs": "Loaded library name for Android",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "gpu",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "reasonNoGPU",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "NativeContextParams",
      "slug": "nativecontextparams",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "model",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "chat_template",
          "tags": [],
          "docs": "Chat template to override the default one from the model.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "is_model_asset",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "use_progress_callback",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "n_ctx",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "n_batch",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "n_ubatch",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "n_threads",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "draft_model",
          "tags": [],
          "docs": "Path to draft model for speculative decoding (mobile optimization)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "speculative_samples",
          "tags": [],
          "docs": "Number of tokens to predict speculatively (default: 3 for mobile)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "mobile_speculative",
          "tags": [],
          "docs": "Enable mobile-optimized speculative decoding",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "n_gpu_layers",
          "tags": [],
          "docs": "Number of layers to store in VRAM (Currently only for iOS)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "no_gpu_devices",
          "tags": [],
          "docs": "Skip GPU devices (iOS only)",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "flash_attn",
          "tags": [],
          "docs": "Enable flash attention, only recommended in GPU device (Experimental in llama.cpp)",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "cache_type_k",
          "tags": [],
          "docs": "KV cache data type for the K (Experimental in llama.cpp)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "cache_type_v",
          "tags": [],
          "docs": "KV cache data type for the V (Experimental in llama.cpp)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "use_mlock",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "use_mmap",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "vocab_only",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "lora",
          "tags": [],
          "docs": "Single LoRA adapter path",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "lora_scaled",
          "tags": [],
          "docs": "Single LoRA adapter scale",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "lora_list",
          "tags": [],
          "docs": "LoRA adapter list",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<{ path: string; scaled?: number }>"
        },
        {
          "name": "rope_freq_base",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "rope_freq_scale",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "pooling_type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "ctx_shift",
          "tags": [],
          "docs": "Enable context shifting to handle prompts larger than context size",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "kv_unified",
          "tags": [],
          "docs": "Use a unified buffer across the input sequences when computing the attention.\nTry to disable when n_seq_max > 1 for improved performance when the sequences do not share a large prefix.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "swa_full",
          "tags": [],
          "docs": "Use full-size SWA cache (https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "n_cpu_moe",
          "tags": [],
          "docs": "Number of layers to keep MoE weights on CPU",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "embedding",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "embd_normalize",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "JinjaFormattedChatResult",
      "slug": "jinjaformattedchatresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "chat_format",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "grammar",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "grammar_lazy",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "grammar_triggers",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<{\n    type: number;\n    value: string;\n    token: number;\n  }>"
        },
        {
          "name": "thinking_forced_open",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "preserved_tokens",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<string>"
        },
        {
          "name": "additional_stops",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<string>"
        }
      ]
    },
    {
      "name": "NativeCompletionResult",
      "slug": "nativecompletionresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "text",
          "tags": [],
          "docs": "Original text (Ignored reasoning_content / tool_calls)",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "reasoning_content",
          "tags": [],
          "docs": "Reasoning content (parsed for reasoning model)",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "tool_calls",
          "tags": [],
          "docs": "Tool calls (parsed from response)",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<{\n    type: 'function';\n    function: {\n      name: string;\n      arguments: string; // JSON string of arguments\n    };\n    id?: string;\n  }>"
        },
        {
          "name": "content",
          "tags": [],
          "docs": "Content text (Filtered text by reasoning_content / tool_calls)",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "chat_format",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "tokens_predicted",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "tokens_evaluated",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "truncated",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "stopped_eos",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "stopped_word",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "stopped_limit",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "stopping_word",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "context_full",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "interrupted",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "tokens_cached",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "timings",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "NativeCompletionResultTimings"
          ],
          "type": "NativeCompletionResultTimings"
        },
        {
          "name": "completion_probabilities",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "NativeCompletionTokenProb"
          ],
          "type": "Array<NativeCompletionTokenProb>"
        },
        {
          "name": "audio_tokens",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<number>"
        }
      ]
    },
    {
      "name": "NativeCompletionResultTimings",
      "slug": "nativecompletionresulttimings",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "prompt_n",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "prompt_ms",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "prompt_per_token_ms",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "prompt_per_second",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "predicted_n",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "predicted_ms",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "predicted_per_token_ms",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "predicted_per_second",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "NativeCompletionTokenProb",
      "slug": "nativecompletiontokenprob",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "content",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "probs",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array",
            "NativeCompletionTokenProbItem"
          ],
          "type": "Array<NativeCompletionTokenProbItem>"
        }
      ]
    },
    {
      "name": "NativeCompletionTokenProbItem",
      "slug": "nativecompletiontokenprobitem",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "tok_str",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "prob",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "NativeCompletionParams",
      "slug": "nativecompletionparams",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "prompt",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "n_threads",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "jinja",
          "tags": [],
          "docs": "Enable Jinja. Default: true if supported by the model",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "json_schema",
          "tags": [],
          "docs": "JSON schema for convert to grammar for structured JSON output.\nIt will be override by grammar if both are set.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "grammar",
          "tags": [],
          "docs": "Set grammar for grammar-based sampling (GBNF format). Default: no grammar\nThis will override json_schema if both are provided.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "grammar_lazy",
          "tags": [],
          "docs": "Lazy grammar sampling, trigger by grammar_triggers. Default: false",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "enable_thinking",
          "tags": [],
          "docs": "Enable thinking if jinja is enabled. Default: true",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "thinking_forced_open",
          "tags": [],
          "docs": "Force thinking to be open. Default: false",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "grammar_triggers",
          "tags": [],
          "docs": "Lazy grammar triggers. Default: []",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<{\n    type: number;\n    value: string;\n    token: number;\n  }>"
        },
        {
          "name": "preserved_tokens",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<string>"
        },
        {
          "name": "chat_format",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "reasoning_format",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "media_paths",
          "tags": [],
          "docs": "Path to an image file to process before generating text.\nWhen provided, the image will be processed and added to the context.\nRequires multimodal support to be enabled via initMultimodal.",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<string>"
        },
        {
          "name": "stop",
          "tags": [],
          "docs": "Specify a JSON array of stopping strings.\nThese words will not be included in the completion, so make sure to add them to the prompt for the next iteration. Default: `[]`",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<string>"
        },
        {
          "name": "n_predict",
          "tags": [],
          "docs": "Set the maximum number of tokens to predict when generating text.\n**Note:** May exceed the set limit slightly if the last token is a partial multibyte character.\nWhen 0,no tokens will be generated but the prompt is evaluated into the cache. Default: `-1`, where `-1` is infinity.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "n_probs",
          "tags": [],
          "docs": "If greater than 0, the response also contains the probabilities of top N tokens for each generated token given the sampling settings.\nNote that for temperature < 0 the tokens are sampled greedily but token probabilities are still being calculated via a simple softmax of the logits without considering any other sampler settings.\nDefault: `0`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "top_k",
          "tags": [],
          "docs": "Limit the next token selection to the K most probable tokens.  Default: `40`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "top_p",
          "tags": [],
          "docs": "Limit the next token selection to a subset of tokens with a cumulative probability above a threshold P. Default: `0.95`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "min_p",
          "tags": [],
          "docs": "The minimum probability for a token to be considered, relative to the probability of the most likely token. Default: `0.05`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "xtc_probability",
          "tags": [],
          "docs": "Set the chance for token removal via XTC sampler. Default: `0.0`, which is disabled.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "xtc_threshold",
          "tags": [],
          "docs": "Set a minimum probability threshold for tokens to be removed via XTC sampler. Default: `0.1` (> `0.5` disables XTC)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "typical_p",
          "tags": [],
          "docs": "Enable locally typical sampling with parameter p. Default: `1.0`, which is disabled.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "temperature",
          "tags": [],
          "docs": "Adjust the randomness of the generated text. Default: `0.8`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "penalty_last_n",
          "tags": [],
          "docs": "Last n tokens to consider for penalizing repetition. Default: `64`, where `0` is disabled and `-1` is ctx-size.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "penalty_repeat",
          "tags": [],
          "docs": "Control the repetition of token sequences in the generated text. Default: `1.0`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "penalty_freq",
          "tags": [],
          "docs": "Repeat alpha frequency penalty. Default: `0.0`, which is disabled.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "penalty_present",
          "tags": [],
          "docs": "Repeat alpha presence penalty. Default: `0.0`, which is disabled.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "mirostat",
          "tags": [],
          "docs": "Enable Mirostat sampling, controlling perplexity during text generation. Default: `0`, where `0` is disabled, `1` is Mirostat, and `2` is Mirostat 2.0.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "mirostat_tau",
          "tags": [],
          "docs": "Set the Mirostat target entropy, parameter tau. Default: `5.0`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "mirostat_eta",
          "tags": [],
          "docs": "Set the Mirostat learning rate, parameter eta. Default: `0.1`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "dry_multiplier",
          "tags": [],
          "docs": "Set the DRY (Don't Repeat Yourself) repetition penalty multiplier. Default: `0.0`, which is disabled.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "dry_base",
          "tags": [],
          "docs": "Set the DRY repetition penalty base value. Default: `1.75`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "dry_allowed_length",
          "tags": [],
          "docs": "Tokens that extend repetition beyond this receive exponentially increasing penalty: multiplier * base ^ (length of repeating sequence before token - allowed length). Default: `2`",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "dry_penalty_last_n",
          "tags": [],
          "docs": "How many tokens to scan for repetitions. Default: `-1`, where `0` is disabled and `-1` is context size.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "dry_sequence_breakers",
          "tags": [],
          "docs": "Specify an array of sequence breakers for DRY sampling. Only a JSON array of strings is accepted. Default: `['\\n', ':', '\"', '*']`",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<string>"
        },
        {
          "name": "top_n_sigma",
          "tags": [],
          "docs": "Top n sigma sampling as described in academic paper \"Top-nσ: Not All Logits Are You Need\" https://arxiv.org/pdf/2411.07641. Default: `-1.0` (Disabled)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "ignore_eos",
          "tags": [],
          "docs": "Ignore end of stream token and continue generating. Default: `false`",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "logit_bias",
          "tags": [],
          "docs": "Modify the likelihood of a token appearing in the generated text completion.\nFor example, use `\"logit_bias\": [[15043,1.0]]` to increase the likelihood of the token 'Hello', or `\"logit_bias\": [[15043,-1.0]]` to decrease its likelihood.\nSetting the value to false, `\"logit_bias\": [[15043,false]]` ensures that the token `Hello` is never produced. The tokens can also be represented as strings,\ne.g.`[[\"Hello, World!\",-0.5]]` will reduce the likelihood of all the individual tokens that represent the string `Hello, World!`, just like the `presence_penalty` does.\nDefault: `[]`",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<Array<number>>"
        },
        {
          "name": "seed",
          "tags": [],
          "docs": "Set the random number generator (RNG) seed. Default: `-1`, which is a random seed.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "guide_tokens",
          "tags": [],
          "docs": "Guide tokens for the completion.\nHelp prevent hallucinations by forcing the TTS to use the correct words.\nDefault: `[]`",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<number>"
        },
        {
          "name": "emit_partial_completion",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "LlamaCppOAICompatibleMessage",
      "slug": "llamacppoaicompatiblemessage",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "role",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "content",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "LlamaCppMessagePart"
          ],
          "type": "string | LlamaCppMessagePart[] | undefined"
        }
      ]
    },
    {
      "name": "LlamaCppMessagePart",
      "slug": "llamacppmessagepart",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "text",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "image_url",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "{ url?: string | undefined; } | undefined"
        },
        {
          "name": "input_audio",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "{ format: string; data?: string | undefined; url?: string | undefined; } | undefined"
        }
      ]
    },
    {
      "name": "NativeSessionLoadResult",
      "slug": "nativesessionloadresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "tokens_loaded",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "prompt",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "NativeTokenizeResult",
      "slug": "nativetokenizeresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "tokens",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<number>"
        },
        {
          "name": "has_images",
          "tags": [],
          "docs": "Whether the tokenization contains images",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "bitmap_hashes",
          "tags": [],
          "docs": "Bitmap hashes of the images",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<number>"
        },
        {
          "name": "chunk_pos",
          "tags": [],
          "docs": "Chunk positions of the text and images",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<number>"
        },
        {
          "name": "chunk_pos_images",
          "tags": [],
          "docs": "Chunk positions of the images",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<number>"
        }
      ]
    },
    {
      "name": "NativeEmbeddingResult",
      "slug": "nativeembeddingresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "embedding",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Array"
          ],
          "type": "Array<number>"
        }
      ]
    },
    {
      "name": "NativeEmbeddingParams",
      "slug": "nativeembeddingparams",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "embd_normalize",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "NativeRerankResult",
      "slug": "nativererankresult",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "score",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "index",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "NativeRerankParams",
      "slug": "nativererankparams",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "normalize",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    }
  ],
  "enums": [],
  "typeAliases": [
    {
      "name": "PropertyKey",
      "slug": "propertykey",
      "docs": "",
      "types": [
        {
          "text": "string",
          "complexTypes": []
        },
        {
          "text": "number",
          "complexTypes": []
        },
        {
          "text": "symbol",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "Function",
      "slug": "function",
      "docs": "",
      "types": [
        {
          "text": "FunctionDeclaration",
          "complexTypes": [
            "FunctionDeclaration"
          ]
        },
        {
          "text": "FunctionExpression",
          "complexTypes": [
            "FunctionExpression"
          ]
        },
        {
          "text": "ArrowFunctionExpression",
          "complexTypes": [
            "ArrowFunctionExpression"
          ]
        }
      ]
    },
    {
      "name": "Statement",
      "slug": "statement",
      "docs": "",
      "types": [
        {
          "text": "ExpressionStatement",
          "complexTypes": [
            "ExpressionStatement"
          ]
        },
        {
          "text": "BlockStatement",
          "complexTypes": [
            "BlockStatement"
          ]
        },
        {
          "text": "StaticBlock",
          "complexTypes": [
            "StaticBlock"
          ]
        },
        {
          "text": "EmptyStatement",
          "complexTypes": [
            "EmptyStatement"
          ]
        },
        {
          "text": "DebuggerStatement",
          "complexTypes": [
            "DebuggerStatement"
          ]
        },
        {
          "text": "WithStatement",
          "complexTypes": [
            "WithStatement"
          ]
        },
        {
          "text": "ReturnStatement",
          "complexTypes": [
            "ReturnStatement"
          ]
        },
        {
          "text": "LabeledStatement",
          "complexTypes": [
            "LabeledStatement"
          ]
        },
        {
          "text": "BreakStatement",
          "complexTypes": [
            "BreakStatement"
          ]
        },
        {
          "text": "ContinueStatement",
          "complexTypes": [
            "ContinueStatement"
          ]
        },
        {
          "text": "IfStatement",
          "complexTypes": [
            "IfStatement"
          ]
        },
        {
          "text": "SwitchStatement",
          "complexTypes": [
            "SwitchStatement"
          ]
        },
        {
          "text": "ThrowStatement",
          "complexTypes": [
            "ThrowStatement"
          ]
        },
        {
          "text": "TryStatement",
          "complexTypes": [
            "TryStatement"
          ]
        },
        {
          "text": "WhileStatement",
          "complexTypes": [
            "WhileStatement"
          ]
        },
        {
          "text": "DoWhileStatement",
          "complexTypes": [
            "DoWhileStatement"
          ]
        },
        {
          "text": "ForStatement",
          "complexTypes": [
            "ForStatement"
          ]
        },
        {
          "text": "ForInStatement",
          "complexTypes": [
            "ForInStatement"
          ]
        },
        {
          "text": "ForOfStatement",
          "complexTypes": [
            "ForOfStatement"
          ]
        },
        {
          "text": "Declaration",
          "complexTypes": [
            "Declaration"
          ]
        }
      ]
    },
    {
      "name": "Expression",
      "slug": "expression",
      "docs": "",
      "types": [
        {
          "text": "ExpressionMap[keyof ExpressionMap]",
          "complexTypes": [
            "ExpressionMap"
          ]
        }
      ]
    },
    {
      "name": "AssignmentOperator",
      "slug": "assignmentoperator",
      "docs": "",
      "types": [
        {
          "text": "\"=\"",
          "complexTypes": []
        },
        {
          "text": "\"+=\"",
          "complexTypes": []
        },
        {
          "text": "\"-=\"",
          "complexTypes": []
        },
        {
          "text": "\"*=\"",
          "complexTypes": []
        },
        {
          "text": "\"/=\"",
          "complexTypes": []
        },
        {
          "text": "\"%=\"",
          "complexTypes": []
        },
        {
          "text": "\"**=\"",
          "complexTypes": []
        },
        {
          "text": "\"<<=\"",
          "complexTypes": []
        },
        {
          "text": "\">>=\"",
          "complexTypes": []
        },
        {
          "text": "\">>>=\"",
          "complexTypes": []
        },
        {
          "text": "\"|=\"",
          "complexTypes": []
        },
        {
          "text": "\"^=\"",
          "complexTypes": []
        },
        {
          "text": "\"&=\"",
          "complexTypes": []
        },
        {
          "text": "\"||=\"",
          "complexTypes": []
        },
        {
          "text": "\"&&=\"",
          "complexTypes": []
        },
        {
          "text": "\"??=\"",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "Pattern",
      "slug": "pattern",
      "docs": "",
      "types": [
        {
          "text": "Identifier",
          "complexTypes": [
            "Identifier"
          ]
        },
        {
          "text": "ObjectPattern",
          "complexTypes": [
            "ObjectPattern"
          ]
        },
        {
          "text": "ArrayPattern",
          "complexTypes": [
            "ArrayPattern"
          ]
        },
        {
          "text": "RestElement",
          "complexTypes": [
            "RestElement"
          ]
        },
        {
          "text": "AssignmentPattern",
          "complexTypes": [
            "AssignmentPattern"
          ]
        },
        {
          "text": "MemberExpression",
          "complexTypes": [
            "MemberExpression"
          ]
        }
      ]
    },
    {
      "name": "BinaryOperator",
      "slug": "binaryoperator",
      "docs": "",
      "types": [
        {
          "text": "\"==\"",
          "complexTypes": []
        },
        {
          "text": "\"!=\"",
          "complexTypes": []
        },
        {
          "text": "\"===\"",
          "complexTypes": []
        },
        {
          "text": "\"!==\"",
          "complexTypes": []
        },
        {
          "text": "\"<\"",
          "complexTypes": []
        },
        {
          "text": "\"<=\"",
          "complexTypes": []
        },
        {
          "text": "\">\"",
          "complexTypes": []
        },
        {
          "text": "\">=\"",
          "complexTypes": []
        },
        {
          "text": "\"<<\"",
          "complexTypes": []
        },
        {
          "text": "\">>\"",
          "complexTypes": []
        },
        {
          "text": "\">>>\"",
          "complexTypes": []
        },
        {
          "text": "\"+\"",
          "complexTypes": []
        },
        {
          "text": "\"-\"",
          "complexTypes": []
        },
        {
          "text": "\"*\"",
          "complexTypes": []
        },
        {
          "text": "\"/\"",
          "complexTypes": []
        },
        {
          "text": "\"%\"",
          "complexTypes": []
        },
        {
          "text": "\"**\"",
          "complexTypes": []
        },
        {
          "text": "\"|\"",
          "complexTypes": []
        },
        {
          "text": "\"^\"",
          "complexTypes": []
        },
        {
          "text": "\"&\"",
          "complexTypes": []
        },
        {
          "text": "\"in\"",
          "complexTypes": []
        },
        {
          "text": "\"instanceof\"",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "FlowType",
      "slug": "flowtype",
      "docs": "",
      "types": [
        {
          "text": "AnyTypeAnnotation",
          "complexTypes": [
            "AnyTypeAnnotation"
          ]
        },
        {
          "text": "ArrayTypeAnnotation",
          "complexTypes": [
            "ArrayTypeAnnotation"
          ]
        },
        {
          "text": "BooleanTypeAnnotation",
          "complexTypes": [
            "BooleanTypeAnnotation"
          ]
        },
        {
          "text": "BooleanLiteralTypeAnnotation",
          "complexTypes": [
            "BooleanLiteralTypeAnnotation"
          ]
        },
        {
          "text": "NullLiteralTypeAnnotation",
          "complexTypes": [
            "NullLiteralTypeAnnotation"
          ]
        },
        {
          "text": "ExistsTypeAnnotation",
          "complexTypes": [
            "ExistsTypeAnnotation"
          ]
        },
        {
          "text": "FunctionTypeAnnotation",
          "complexTypes": [
            "FunctionTypeAnnotation"
          ]
        },
        {
          "text": "GenericTypeAnnotation",
          "complexTypes": [
            "GenericTypeAnnotation"
          ]
        },
        {
          "text": "InterfaceTypeAnnotation",
          "complexTypes": [
            "InterfaceTypeAnnotation"
          ]
        },
        {
          "text": "IntersectionTypeAnnotation",
          "complexTypes": [
            "IntersectionTypeAnnotation"
          ]
        },
        {
          "text": "MixedTypeAnnotation",
          "complexTypes": [
            "MixedTypeAnnotation"
          ]
        },
        {
          "text": "EmptyTypeAnnotation",
          "complexTypes": [
            "EmptyTypeAnnotation"
          ]
        },
        {
          "text": "NullableTypeAnnotation",
          "complexTypes": [
            "NullableTypeAnnotation"
          ]
        },
        {
          "text": "NumberLiteralTypeAnnotation",
          "complexTypes": [
            "NumberLiteralTypeAnnotation"
          ]
        },
        {
          "text": "NumberTypeAnnotation",
          "complexTypes": [
            "NumberTypeAnnotation"
          ]
        },
        {
          "text": "ObjectTypeAnnotation",
          "complexTypes": [
            "ObjectTypeAnnotation"
          ]
        },
        {
          "text": "StringLiteralTypeAnnotation",
          "complexTypes": [
            "StringLiteralTypeAnnotation"
          ]
        },
        {
          "text": "StringTypeAnnotation",
          "complexTypes": [
            "StringTypeAnnotation"
          ]
        },
        {
          "text": "SymbolTypeAnnotation",
          "complexTypes": [
            "SymbolTypeAnnotation"
          ]
        },
        {
          "text": "ThisTypeAnnotation",
          "complexTypes": [
            "ThisTypeAnnotation"
          ]
        },
        {
          "text": "TupleTypeAnnotation",
          "complexTypes": [
            "TupleTypeAnnotation"
          ]
        },
        {
          "text": "TypeofTypeAnnotation",
          "complexTypes": [
            "TypeofTypeAnnotation"
          ]
        },
        {
          "text": "UnionTypeAnnotation",
          "complexTypes": [
            "UnionTypeAnnotation"
          ]
        },
        {
          "text": "VoidTypeAnnotation",
          "complexTypes": [
            "VoidTypeAnnotation"
          ]
        },
        {
          "text": "IndexedAccessType",
          "complexTypes": [
            "IndexedAccessType"
          ]
        },
        {
          "text": "OptionalIndexedAccessType",
          "complexTypes": [
            "OptionalIndexedAccessType"
          ]
        }
      ]
    },
    {
      "name": "TSType",
      "slug": "tstype",
      "docs": "",
      "types": [
        {
          "text": "TSAnyKeyword",
          "complexTypes": [
            "TSAnyKeyword"
          ]
        },
        {
          "text": "TSBooleanKeyword",
          "complexTypes": [
            "TSBooleanKeyword"
          ]
        },
        {
          "text": "TSBigIntKeyword",
          "complexTypes": [
            "TSBigIntKeyword"
          ]
        },
        {
          "text": "TSIntrinsicKeyword",
          "complexTypes": [
            "TSIntrinsicKeyword"
          ]
        },
        {
          "text": "TSNeverKeyword",
          "complexTypes": [
            "TSNeverKeyword"
          ]
        },
        {
          "text": "TSNullKeyword",
          "complexTypes": [
            "TSNullKeyword"
          ]
        },
        {
          "text": "TSNumberKeyword",
          "complexTypes": [
            "TSNumberKeyword"
          ]
        },
        {
          "text": "TSObjectKeyword",
          "complexTypes": [
            "TSObjectKeyword"
          ]
        },
        {
          "text": "TSStringKeyword",
          "complexTypes": [
            "TSStringKeyword"
          ]
        },
        {
          "text": "TSSymbolKeyword",
          "complexTypes": [
            "TSSymbolKeyword"
          ]
        },
        {
          "text": "TSUndefinedKeyword",
          "complexTypes": [
            "TSUndefinedKeyword"
          ]
        },
        {
          "text": "TSUnknownKeyword",
          "complexTypes": [
            "TSUnknownKeyword"
          ]
        },
        {
          "text": "TSVoidKeyword",
          "complexTypes": [
            "TSVoidKeyword"
          ]
        },
        {
          "text": "TSThisType",
          "complexTypes": [
            "TSThisType"
          ]
        },
        {
          "text": "TSFunctionType",
          "complexTypes": [
            "TSFunctionType"
          ]
        },
        {
          "text": "TSConstructorType",
          "complexTypes": [
            "TSConstructorType"
          ]
        },
        {
          "text": "TSTypeReference",
          "complexTypes": [
            "TSTypeReference"
          ]
        },
        {
          "text": "TSTypePredicate",
          "complexTypes": [
            "TSTypePredicate"
          ]
        },
        {
          "text": "TSTypeQuery",
          "complexTypes": [
            "TSTypeQuery"
          ]
        },
        {
          "text": "TSTypeLiteral",
          "complexTypes": [
            "TSTypeLiteral"
          ]
        },
        {
          "text": "TSArrayType",
          "complexTypes": [
            "TSArrayType"
          ]
        },
        {
          "text": "TSTupleType",
          "complexTypes": [
            "TSTupleType"
          ]
        },
        {
          "text": "TSOptionalType",
          "complexTypes": [
            "TSOptionalType"
          ]
        },
        {
          "text": "TSRestType",
          "complexTypes": [
            "TSRestType"
          ]
        },
        {
          "text": "TSUnionType",
          "complexTypes": [
            "TSUnionType"
          ]
        },
        {
          "text": "TSIntersectionType",
          "complexTypes": [
            "TSIntersectionType"
          ]
        },
        {
          "text": "TSConditionalType",
          "complexTypes": [
            "TSConditionalType"
          ]
        },
        {
          "text": "TSInferType",
          "complexTypes": [
            "TSInferType"
          ]
        },
        {
          "text": "TSParenthesizedType",
          "complexTypes": [
            "TSParenthesizedType"
          ]
        },
        {
          "text": "TSTypeOperator",
          "complexTypes": [
            "TSTypeOperator"
          ]
        },
        {
          "text": "TSIndexedAccessType",
          "complexTypes": [
            "TSIndexedAccessType"
          ]
        },
        {
          "text": "TSMappedType",
          "complexTypes": [
            "TSMappedType"
          ]
        },
        {
          "text": "TSTemplateLiteralType",
          "complexTypes": [
            "TSTemplateLiteralType"
          ]
        },
        {
          "text": "TSLiteralType",
          "complexTypes": [
            "TSLiteralType"
          ]
        },
        {
          "text": "TSExpressionWithTypeArguments",
          "complexTypes": [
            "TSExpressionWithTypeArguments"
          ]
        },
        {
          "text": "TSImportType",
          "complexTypes": [
            "TSImportType"
          ]
        }
      ]
    },
    {
      "name": "TSEntityName",
      "slug": "tsentityname",
      "docs": "",
      "types": [
        {
          "text": "Identifier",
          "complexTypes": [
            "Identifier"
          ]
        },
        {
          "text": "TSQualifiedName",
          "complexTypes": [
            "TSQualifiedName"
          ]
        }
      ]
    },
    {
      "name": "Property",
      "slug": "property",
      "docs": "",
      "types": [
        {
          "text": "ObjectProperty",
          "complexTypes": [
            "ObjectProperty"
          ]
        },
        {
          "text": "ClassProperty",
          "complexTypes": [
            "ClassProperty"
          ]
        },
        {
          "text": "ClassAccessorProperty",
          "complexTypes": [
            "ClassAccessorProperty"
          ]
        },
        {
          "text": "ClassPrivateProperty",
          "complexTypes": [
            "ClassPrivateProperty"
          ]
        }
      ]
    },
    {
      "name": "PatternLike",
      "slug": "patternlike",
      "docs": "",
      "types": [
        {
          "text": "Identifier",
          "complexTypes": [
            "Identifier"
          ]
        },
        {
          "text": "MemberExpression",
          "complexTypes": [
            "MemberExpression"
          ]
        },
        {
          "text": "RestElement",
          "complexTypes": [
            "RestElement"
          ]
        },
        {
          "text": "AssignmentPattern",
          "complexTypes": [
            "AssignmentPattern"
          ]
        },
        {
          "text": "ArrayPattern",
          "complexTypes": [
            "ArrayPattern"
          ]
        },
        {
          "text": "ObjectPattern",
          "complexTypes": [
            "ObjectPattern"
          ]
        },
        {
          "text": "VoidPattern",
          "complexTypes": [
            "VoidPattern"
          ]
        },
        {
          "text": "TSAsExpression",
          "complexTypes": [
            "TSAsExpression"
          ]
        },
        {
          "text": "TSSatisfiesExpression",
          "complexTypes": [
            "TSSatisfiesExpression"
          ]
        },
        {
          "text": "TSTypeAssertion",
          "complexTypes": [
            "TSTypeAssertion"
          ]
        },
        {
          "text": "TSNonNullExpression",
          "complexTypes": [
            "TSNonNullExpression"
          ]
        }
      ]
    },
    {
      "name": "TSTypeElement",
      "slug": "tstypeelement",
      "docs": "",
      "types": [
        {
          "text": "TSCallSignatureDeclaration",
          "complexTypes": [
            "TSCallSignatureDeclaration"
          ]
        },
        {
          "text": "TSConstructSignatureDeclaration",
          "complexTypes": [
            "TSConstructSignatureDeclaration"
          ]
        },
        {
          "text": "TSPropertySignature",
          "complexTypes": [
            "TSPropertySignature"
          ]
        },
        {
          "text": "TSMethodSignature",
          "complexTypes": [
            "TSMethodSignature"
          ]
        },
        {
          "text": "TSIndexSignature",
          "complexTypes": [
            "TSIndexSignature"
          ]
        }
      ]
    },
    {
      "name": "UnaryOperator",
      "slug": "unaryoperator",
      "docs": "",
      "types": [
        {
          "text": "\"-\"",
          "complexTypes": []
        },
        {
          "text": "\"+\"",
          "complexTypes": []
        },
        {
          "text": "\"!\"",
          "complexTypes": []
        },
        {
          "text": "\"~\"",
          "complexTypes": []
        },
        {
          "text": "\"typeof\"",
          "complexTypes": []
        },
        {
          "text": "\"void\"",
          "complexTypes": []
        },
        {
          "text": "\"delete\"",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "CallExpression",
      "slug": "callexpression",
      "docs": "",
      "types": [
        {
          "text": "SimpleCallExpression",
          "complexTypes": [
            "SimpleCallExpression"
          ]
        },
        {
          "text": "NewExpression",
          "complexTypes": [
            "NewExpression"
          ]
        }
      ]
    },
    {
      "name": "ChainElement",
      "slug": "chainelement",
      "docs": "",
      "types": [
        {
          "text": "SimpleCallExpression",
          "complexTypes": [
            "SimpleCallExpression"
          ]
        },
        {
          "text": "MemberExpression",
          "complexTypes": [
            "MemberExpression"
          ]
        }
      ]
    },
    {
      "name": "Literal",
      "slug": "literal",
      "docs": "",
      "types": [
        {
          "text": "SimpleLiteral",
          "complexTypes": [
            "SimpleLiteral"
          ]
        },
        {
          "text": "RegExpLiteral",
          "complexTypes": [
            "RegExpLiteral"
          ]
        },
        {
          "text": "BigIntLiteral",
          "complexTypes": [
            "BigIntLiteral"
          ]
        }
      ]
    },
    {
      "name": "LogicalOperator",
      "slug": "logicaloperator",
      "docs": "",
      "types": [
        {
          "text": "\"||\"",
          "complexTypes": []
        },
        {
          "text": "\"&&\"",
          "complexTypes": []
        },
        {
          "text": "\"??\"",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "UpdateOperator",
      "slug": "updateoperator",
      "docs": "",
      "types": [
        {
          "text": "\"++\"",
          "complexTypes": []
        },
        {
          "text": "\"--\"",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "Declaration",
      "slug": "declaration",
      "docs": "",
      "types": [
        {
          "text": "FunctionDeclaration",
          "complexTypes": [
            "FunctionDeclaration"
          ]
        },
        {
          "text": "VariableDeclaration",
          "complexTypes": [
            "VariableDeclaration"
          ]
        },
        {
          "text": "ClassDeclaration",
          "complexTypes": [
            "ClassDeclaration"
          ]
        }
      ]
    },
    {
      "name": "Comment",
      "slug": "comment",
      "docs": "",
      "types": [
        {
          "text": "CommentBlock",
          "complexTypes": [
            "CommentBlock"
          ]
        },
        {
          "text": "CommentLine",
          "complexTypes": [
            "CommentLine"
          ]
        }
      ]
    },
    {
      "name": "Omit",
      "slug": "omit",
      "docs": "Construct a type with the properties of T except for those in type K.",
      "types": [
        {
          "text": "Pick<T, Exclude<keyof T, K>>",
          "complexTypes": [
            "Pick",
            "T",
            "Exclude",
            "K"
          ]
        }
      ]
    },
    {
      "name": "Pick",
      "slug": "pick",
      "docs": "From T, pick a set of properties whose keys are in the union K",
      "types": [
        {
          "text": "{\r\n    [P in K]: T[P];\r\n}",
          "complexTypes": [
            "K",
            "T",
            "P"
          ]
        }
      ]
    },
    {
      "name": "Exclude",
      "slug": "exclude",
      "docs": "Exclude from T those types that are assignable to U",
      "types": [
        {
          "text": "T extends U ? never : T",
          "complexTypes": [
            "T",
            "U"
          ]
        }
      ]
    }
  ],
  "pluginConfigs": []
}