---@diagnostic disable: duplicate-doc-field
---@meta _

---@class PluginsOpts.TSConfig
---@field install_dir? string
---@field ensure_installed? string|string[]|TS.Language|TS.Language[]
---@field highlight? {enabled: boolean, disable?: {string: true}}
---@field indent? {enabled: boolean, disable?: {string: true}}
---@field fold? {enabled: boolean, disable?: {string: true}}

---`:TSModuleInfo`
---@alias TS.Language
---| string
---| '"ada"'
---| '"agda"'
---| '"angular"'
---| '"apex"'
---| '"arduino"'
---| '"asm"'
---| '"astro"'
---| '"authzed"'
---| '"awk"'
---| '"bash"'
---| '"bass"'
---| '"beancount"'
---| '"bibtex"'
---| '"bicep"'
---| '"bitbake"'
---| '"blade"'
---| '"blueprint"'
---| '"bp"'
---| '"brightscript"'
---| '"c"'
---| '"c_sharp"'
---| '"caddy"'
---| '"cairo"'
---| '"capnp"'
---| '"chatito"'
---| '"circom"'
---| '"clojure"'
---| '"cmake"'
---| '"comment"'
---| '"commonlisp"'
---| '"cooklang"'
---| '"corn"'
---| '"cpon"'
---| '"cpp"'
---| '"css"'
---| '"csv"'
---| '"cuda"'
---| '"cue"'
---| '"cylc"'
---| '"d"'
---| '"dart"'
---| '"desktop"'
---| '"devicetree"'
---| '"dhall"'
---| '"diff"'
---| '"disassembly"'
---| '"djot"'
---| '"dockerfile"'
---| '"dot"'
---| '"doxygen"'
---| '"dtd"'
---| '"earthfile"'
---| '"ebnf"'
---| '"editorconfig"'
---| '"eds"'
---| '"eex"'
---| '"elixir"'
---| '"elm"'
---| '"elsa"'
---| '"elvish"'
---| '"embedded_template"'
---| '"enforce"'
---| '"erlang"'
---| '"facility"'
---| '"faust"'
---| '"fennel"'
---| '"fidl"'
---| '"firrtl"'
---| '"fish"'
---| '"foam"'
---| '"forth"'
---| '"fortran"'
---| '"fsh"'
---| '"fsharp"'
---| '"func"'
---| '"fusion"'
---| '"gap"'
---| '"gaptst"'
---| '"gdscript"'
---| '"gdshader"'
---| '"git_config"'
---| '"git_rebase"'
---| '"gitattributes"'
---| '"gitcommit"'
---| '"gitignore"'
---| '"gleam"'
---| '"glimmer"'
---| '"glimmer_javascript"'
---| '"glimmer_typescript"'
---| '"glsl"'
---| '"gn"'
---| '"gnuplot"'
---| '"go"'
---| '"goctl"'
---| '"godot_resource"'
---| '"gomod"'
---| '"gosum"'
---| '"gotmpl"'
---| '"gowork"'
---| '"gpg"'
---| '"graphql"'
---| '"gren"'
---| '"groovy"'
---| '"gstlaunch"'
---| '"hack"'
---| '"hare"'
---| '"haskell"'
---| '"haskell_persistent"'
---| '"hcl"'
---| '"heex"'
---| '"helm"'
---| '"hjson"'
---| '"hlsl"'
---| '"hlsplaylist"'
---| '"hocon"'
---| '"hoon"'
---| '"html"'
---| '"htmldjango"'
---| '"http"'
---| '"hurl"'
---| '"hyprlang"'
---| '"idl"'
---| '"idris"'
---| '"ini"'
---| '"inko"'
---| '"ipkg"'
---| '"ispc"'
---| '"janet_simple"'
---| '"java"'
---| '"javadoc"'
---| '"javascript"'
---| '"jinja"'
---| '"jinja_inline"'
---| '"jq"'
---| '"jsdoc"'
---| '"json"'
---| '"json5"'
---| '"jsonc"'
---| '"jsonnet"'
---| '"julia"'
---| '"just"'
---| '"kcl"'
---| '"kconfig"'
---| '"kdl"'
---| '"kotlin"'
---| '"koto"'
---| '"kusto"'
---| '"lalrpop"'
---| '"ledger"'
---| '"leo"'
---| '"linkerscript"'
---| '"liquid"'
---| '"liquidsoap"'
---| '"llvm"'
---| '"lua"'
---| '"luadoc"'
---| '"luap"'
---| '"luau"'
---| '"m68k"'
---| '"make"'
---| '"markdown"'
---| '"markdown_inline"'
---| '"matlab"'
---| '"menhir"'
---| '"mermaid"'
---| '"meson"'
---| '"muttrc"'
---| '"nasm"'
---| '"nginx"'
---| '"nickel"'
---| '"nim"'
---| '"nim_format_string"'
---| '"ninja"'
---| '"nix"'
---| '"norg"'
---| '"nqc"'
---| '"nu"'
---| '"objc"'
---| '"objdump"'
---| '"ocaml"'
---| '"ocaml_interface"'
---| '"odin"'
---| '"pascal"'
---| '"passwd"'
---| '"pem"'
---| '"perl"'
---| '"php"'
---| '"php_only"'
---| '"phpdoc"'
---| '"pioasm"'
---| '"po"'
---| '"pod"'
---| '"poe_filter"'
---| '"pony"'
---| '"powershell"'
---| '"printf"'
---| '"prisma"'
---| '"problog"'
---| '"prolog"'
---| '"promql"'
---| '"properties"'
---| '"proto"'
---| '"prql"'
---| '"psv"'
---| '"pug"'
---| '"puppet"'
---| '"purescript"'
---| '"pymanifest"'
---| '"python"'
---| '"ql"'
---| '"qmldir"'
---| '"qmljs"'
---| '"query"'
---| '"r"'
---| '"racket"'
---| '"ralph"'
---| '"rasi"'
---| '"razor"'
---| '"rbs"'
---| '"re2c"'
---| '"readline"'
---| '"regex"'
---| '"rego"'
---| '"requirements"'
---| '"rescript"'
---| '"rnoweb"'
---| '"robot"'
---| '"robots"'
---| '"roc"'
---| '"ron"'
---| '"rst"'
---| '"ruby"'
---| '"runescript"'
---| '"rust"'
---| '"scala"'
---| '"scheme"'
---| '"scss"'
---| '"sflog"'
---| '"slang"'
---| '"slim"'
---| '"slint"'
---| '"smali"'
---| '"smithy"'
---| '"snakemake"'
---| '"solidity"'
---| '"soql"'
---| '"sosl"'
---| '"sourcepawn"'
---| '"sparql"'
---| '"sql"'
---| '"squirrel"'
---| '"ssh_config"'
---| '"starlark"'
---| '"strace"'
---| '"styled"'
---| '"supercollider"'
---| '"superhtml"'
---| '"surface"'
---| '"svelte"'
---| '"sway"'
---| '"sxhkdrc"'
---| '"systemtap"'
---| '"t32"'
---| '"tablegen"'
---| '"tact"'
---| '"tcl"'
---| '"templ"'
---| '"tera"'
---| '"terraform"'
---| '"textproto"'
---| '"thrift"'
---| '"tiger"'
---| '"tlaplus"'
---| '"tmux"'
---| '"todotxt"'
---| '"toml"'
---| '"tsv"'
---| '"tsx"'
---| '"turtle"'
---| '"twig"'
---| '"typescript"'
---| '"typespec"'
---| '"typoscript"'
---| '"typst"'
---| '"udev"'
---| '"ungrammar"'
---| '"usd"'
---| '"uxntal"'
---| '"v"'
---| '"vala"'
---| '"vento"'
---| '"verilog"'
---| '"vhdl"'
---| '"vhs"'
---| '"vim"'
---| '"vimdoc"'
---| '"vrl"'
---| '"vue"'
---| '"wgsl"'
---| '"wgsl_bevy"'
---| '"wing"'
---| '"wit"'
---| '"xcompose"'
---| '"xml"'
---| '"xresources"'
---| '"yaml"'
---| '"yang"'
---| '"yuck"'
---| '"zathurarc"'
---| '"zig"'
---| '"ziggy"'
---| '"ziggy_schema"'
