pve-client
    Preparing search index...

    Function createAPI

    • Parameters

      Returns {
          access: {
              acl: {
                  read: (
                      ...args: [args?: {}],
                  ) => Promise<
                      {
                          path: string;
                          propagate?: boolean;
                          roleid: string;
                          type: "group"
                          | "user"
                          | "token";
                          ugid: string;
                      }[],
                  >;
                  update: (
                      ...args: [
                          args: {
                              $body: {
                                  delete?: boolean;
                                  groups?: string;
                                  path: string;
                                  propagate?: boolean;
                                  roles: string;
                                  tokens?: string;
                                  users?: string;
                              };
                          },
                      ],
                  ) => Promise<unknown>;
              };
              domains: {
                  create: (
                      ...args: [
                          args: {
                              $body: {
                                  "acr-values"?: string;
                                  autocreate?: boolean;
                                  base_dn?: string;
                                  bind_dn?: string;
                                  capath?: string;
                                  "case-sensitive"?: boolean;
                                  cert?: string;
                                  certkey?: string;
                                  "check-connection"?: boolean;
                                  "client-id"?: string;
                                  "client-key"?: string;
                                  comment?: string;
                                  default?: boolean;
                                  domain?: string;
                                  filter?: string;
                                  group_classes?: string;
                                  group_dn?: string;
                                  group_filter?: string;
                                  group_name_attr?: string;
                                  "groups-autocreate"?: boolean;
                                  "groups-claim"?: string;
                                  "groups-overwrite"?: boolean;
                                  "issuer-url"?: string;
                                  mode?: "ldap"
                                  | "ldaps"
                                  | "ldap+starttls";
                                  password?: string;
                                  port?: number;
                                  prompt?: string;
                                  "query-userinfo"?: boolean;
                                  realm: string;
                                  scopes?: string;
                                  secure?: boolean;
                                  server1?: string;
                                  server2?: string;
                                  sslversion?: "tlsv1" | "tlsv1_1" | "tlsv1_2" | "tlsv1_3";
                                  sync_attributes?: string;
                                  "sync-defaults-options"?: string;
                                  tfa?: string;
                                  type: "ad" | "pve" | "ldap" | "openid" | "pam";
                                  user_attr?: string;
                                  user_classes?: string;
                                  "username-claim"?: string;
                                  verify?: boolean;
                              };
                          },
                      ],
                  ) => Promise<unknown>;
                  index: (
                      ...args: [args?: {}],
                  ) => Promise<
                      {
                          comment?: string;
                          realm: string;
                          tfa?: "yubico"
                          | "oath";
                          type: string;
                      }[],
                  >;
                  realm: (
                      value: string,
                  ) => {
                      delete: (
                          ...args: [args?: PathContext<{ $path: { realm: ... } }>],
                      ) => Promise<unknown>;
                      read: (
                          ...args: [args?: PathContext<{ $path: { realm: ... } }>],
                      ) => Promise<unknown>;
                      sync: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          "dry-run"?: (...)
                                          | (...)
                                          | (...);
                                          "enable-new"?: (...) | (...) | (...);
                                          full?: (...) | (...) | (...);
                                          purge?: (...) | (...) | (...);
                                          "remove-vanished"?: (...) | (...);
                                          scope?: (...) | (...) | (...) | (...);
                                      };
                                      $path: { realm: string };
                                  },
                              >,
                          ],
                      ) => Promise<string>;
                      update: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          "acr-values"?: (...)
                                          | (...);
                                          autocreate?: (...) | (...) | (...);
                                          base_dn?: (...) | (...);
                                          bind_dn?: (...) | (...);
                                          capath?: (...) | (...);
                                          "case-sensitive"?: (...) | (...) | (...);
                                          cert?: (...) | (...);
                                          certkey?: (...) | (...);
                                          "check-connection"?: (...) | (...) | (...);
                                          "client-id"?: (...) | (...);
                                          "client-key"?: (...) | (...);
                                          comment?: (...) | (...);
                                          default?: (...) | (...) | (...);
                                          delete?: (...) | (...);
                                          digest?: (...) | (...);
                                          domain?: (...) | (...);
                                          filter?: (...) | (...);
                                          group_classes?: (...) | (...);
                                          group_dn?: (...) | (...);
                                          group_filter?: (...) | (...);
                                          group_name_attr?: (...) | (...);
                                          "groups-autocreate"?: (...) | (...) | (...);
                                          "groups-claim"?: (...) | (...);
                                          "groups-overwrite"?: (...) | (...) | (...);
                                          "issuer-url"?: (...) | (...);
                                          mode?: (...) | (...) | (...) | (...);
                                          password?: (...) | (...);
                                          port?: (...) | (...);
                                          prompt?: (...) | (...);
                                          "query-userinfo"?: (...) | (...) | (...);
                                          scopes?: (...) | (...);
                                          secure?: (...) | (...) | (...);
                                          server1?: (...) | (...);
                                          server2?: (...) | (...);
                                          sslversion?: (...) | (...) | (...) | (...) | (...);
                                          sync_attributes?: (...) | (...);
                                          "sync-defaults-options"?: (...) | (...);
                                          tfa?: (...) | (...);
                                          user_attr?: (...) | (...);
                                          user_classes?: (...) | (...);
                                          verify?: (...) | (...) | (...);
                                      };
                                      $path: { realm: string };
                                  },
                              >,
                          ],
                      ) => Promise<unknown>;
                  };
              };
              groups: {
                  create_group: (
                      ...args: [args: { $body: { comment?: string; groupid: string } }],
                  ) => Promise<unknown>;
                  id: (
                      value: string | number,
                  ) => {
                      delete: (
                          ...args: [args?: PathContext<{ $path: { groupid: ... } }>],
                      ) => Promise<unknown>;
                      read: (
                          ...args: [args?: PathContext<{ $path: { groupid: ... } }>],
                      ) => Promise<{ comment?: string; members: string[] }>;
                      update: (
                          ...args: [
                              args: PathContext<
                                  { $body: { comment?: (...)
                                  | (...) }; $path: { groupid: string } },
                              >,
                          ],
                      ) => Promise<unknown>;
                  };
                  index: (
                      ...args: [args?: {}],
                  ) => Promise<{ comment?: string; groupid: string; users?: string }[]>;
              };
              index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
              openid: {
                  auth_url: (
                      ...args: [args: { $body: { realm: string; "redirect-url": string } }],
                  ) => Promise<string>;
                  index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                  login: (
                      ...args: [
                          args: {
                              $body: { code: string; "redirect-url": string; state: string };
                          },
                      ],
                  ) => Promise<
                      {
                          cap: Record<string, unknown>;
                          clustername?: string;
                          CSRFPreventionToken: string;
                          ticket: string;
                          username: string;
                      },
                  >;
              };
              password: {
                  change_password: (
                      ...args: [
                          args: {
                              $body: {
                                  "confirmation-password"?: string;
                                  password: string;
                                  userid: string;
                              };
                          },
                      ],
                  ) => Promise<unknown>;
              };
              permissions: (
                  ...args: [args: { $query?: { path?: string; userid?: string } }],
              ) => Promise<Record<string, unknown>>;
              roles: {
                  create_role: (
                      ...args: [args: { $body: { privs?: string; roleid: string } }],
                  ) => Promise<unknown>;
                  index: (
                      ...args: [args?: {}],
                  ) => Promise<{ privs?: string; roleid: string; special?: boolean }[]>;
                  role: (
                      value: string | number,
                  ) => {
                      delete: (
                          ...args: [args?: PathContext<{ $path: { roleid: ... } }>],
                      ) => Promise<unknown>;
                      read: (
                          ...args: [args?: PathContext<{ $path: { roleid: ... } }>],
                      ) => Promise<
                          {
                              "Datastore.Allocate"?: boolean;
                              "Datastore.AllocateSpace"?: boolean;
                              "Datastore.AllocateTemplate"?: boolean;
                              "Datastore.Audit"?: boolean;
                              "Group.Allocate"?: boolean;
                              "Mapping.Audit"?: boolean;
                              "Mapping.Modify"?: boolean;
                              "Mapping.Use"?: boolean;
                              "Permissions.Modify"?: boolean;
                              "Pool.Allocate"?: boolean;
                              "Pool.Audit"?: boolean;
                              "Realm.Allocate"?: boolean;
                              "Realm.AllocateUser"?: boolean;
                              "SDN.Allocate"?: boolean;
                              "SDN.Audit"?: boolean;
                              "SDN.Use"?: boolean;
                              "Sys.AccessNetwork"?: boolean;
                              "Sys.Audit"?: boolean;
                              "Sys.Console"?: boolean;
                              "Sys.Incoming"?: boolean;
                              "Sys.Modify"?: boolean;
                              "Sys.PowerMgmt"?: boolean;
                              "Sys.Syslog"?: boolean;
                              "User.Modify"?: boolean;
                              "VM.Allocate"?: boolean;
                              "VM.Audit"?: boolean;
                              "VM.Backup"?: boolean;
                              "VM.Clone"?: boolean;
                              "VM.Config.CDROM"?: boolean;
                              "VM.Config.Cloudinit"?: boolean;
                              "VM.Config.CPU"?: boolean;
                              "VM.Config.Disk"?: boolean;
                              "VM.Config.HWType"?: boolean;
                              "VM.Config.Memory"?: boolean;
                              "VM.Config.Network"?: boolean;
                              "VM.Config.Options"?: boolean;
                              "VM.Console"?: boolean;
                              "VM.GuestAgent.Audit"?: boolean;
                              "VM.GuestAgent.FileRead"?: boolean;
                              "VM.GuestAgent.FileSystemMgmt"?: boolean;
                              "VM.GuestAgent.FileWrite"?: boolean;
                              "VM.GuestAgent.Unrestricted"?: boolean;
                              "VM.Migrate"?: boolean;
                              "VM.PowerMgmt"?: boolean;
                              "VM.Replicate"?: boolean;
                              "VM.Snapshot"?: boolean;
                              "VM.Snapshot.Rollback"?: boolean;
                          },
                      >;
                      update: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: { append?: (...)
                                      | (...)
                                      | (...); privs?: (...) | (...) };
                                      $path: { roleid: string };
                                  },
                              >,
                          ],
                      ) => Promise<unknown>;
                  };
              };
              tfa: {
                  list: (
                      ...args: [args?: {}],
                  ) => Promise<
                      {
                          entries: {
                              created: number;
                              description: string;
                              enable?: boolean;
                              id: string;
                              type: "yubico"
                              | "totp"
                              | "u2f"
                              | "webauthn"
                              | "recovery";
                          }[];
                          "tfa-locked-until"?: number;
                          "totp-locked"?: boolean;
                          userid: string;
                      }[],
                  >;
                  user: (
                      userid: string | number,
                  ) => {
                      add_tfa_entry: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          challenge?: (...)
                                          | (...);
                                          description?: (...) | (...);
                                          password?: (...) | (...);
                                          totp?: (...) | (...);
                                          type: (...) | (...) | (...) | (...) | (...);
                                          value?: (...) | (...);
                                      };
                                      $path: { userid: string };
                                  },
                              >,
                          ],
                      ) => Promise<{ challenge?: string; id: string; recovery?: string[] }>;
                      id: (
                          value: string | number,
                      ) => {
                          delete: (
                              ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<(...)>],
                          ) => Promise<
                              {
                                  created: number;
                                  description: string;
                                  enable?: (...)
                                  | (...)
                                  | (...);
                                  id: string;
                                  type: (...) | (...) | (...) | (...) | (...);
                              },
                          >;
                          update: (
                              ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                          ) => Promise<unknown>;
                      };
                      list_user_tfa: (
                          ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                      ) => Promise<
                          {
                              created: number;
                              description: string;
                              enable?: boolean;
                              id: string;
                              type: "yubico"
                              | "totp"
                              | "u2f"
                              | "webauthn"
                              | "recovery";
                          }[],
                      >;
                  };
              };
              ticket: {
                  create: (
                      ...args: [
                          args: {
                              $body: {
                                  "new-format"?: boolean;
                                  otp?: string;
                                  password: string;
                                  path?: string;
                                  privs?: string;
                                  realm?: string;
                                  "tfa-challenge"?: string;
                                  username: string;
                              };
                          },
                      ],
                  ) => Promise<
                      {
                          clustername?: string;
                          CSRFPreventionToken?: string;
                          ticket?: string;
                          username: string;
                      },
                  >;
                  get: (...args: [args?: {}]) => Promise<unknown>;
              };
              users: {
                  create: (
                      ...args: [
                          args: {
                              $body: {
                                  comment?: string;
                                  email?: string;
                                  enable?: boolean;
                                  expire?: number;
                                  firstname?: string;
                                  groups?: string;
                                  keys?: string;
                                  lastname?: string;
                                  password?: string;
                                  userid: string;
                              };
                          },
                      ],
                  ) => Promise<unknown>;
                  index: (
                      ...args: [args: { $query?: { enabled?: boolean; full?: boolean } }],
                  ) => Promise<
                      {
                          comment?: string;
                          email?: string;
                          enable?: boolean;
                          expire?: number;
                          firstname?: string;
                          groups?: string;
                          keys?: string;
                          lastname?: string;
                          "realm-type"?: string;
                          "tfa-locked-until"?: number;
                          tokens?: {
                              comment?: (...)
                              | (...);
                              expire?: (...) | (...);
                              privsep?: (...) | (...) | (...);
                              tokenid: string;
                          }[];
                          "totp-locked"?: boolean;
                          userid: string;
                      }[],
                  >;
                  user: (
                      user_id: string | number,
                  ) => {
                      delete: (
                          ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                      ) => Promise<unknown>;
                      read: (
                          ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                      ) => Promise<
                          {
                              comment?: string;
                              email?: string;
                              enable?: boolean;
                              expire?: number;
                              firstname?: string;
                              groups?: string[];
                              keys?: string;
                              lastname?: string;
                              tokens?: Record<
                                  string,
                                  { comment?: ...; expire?: ...; privsep?: ... },
                              >;
                          },
                      >;
                      tfa: {
                          read_user_tfa_type: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { userid: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  realm?: "yubico"
                                  | "oath";
                                  types?: "yubico" | "totp" | "u2f" | "webauthn" | (...)[];
                                  user?: "oath" | "u2f";
                              },
                          >;
                      };
                      token: {
                          id: (
                              value: string | number,
                          ) => {
                              generate: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ "full-tokenid": ...; info: ...; value: ... }>;
                              read: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<{ comment?: ...; expire?: ...; privsep?: ... }>;
                              remove: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                              update_info: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ comment?: ...; expire?: ...; privsep?: ... }>;
                          };
                          token_index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  comment?: (...)
                                  | (...);
                                  expire?: (...) | (...);
                                  privsep?: (...) | (...) | (...);
                                  tokenid: string;
                              }[],
                          >;
                      };
                      unlock_tfa: (
                          ...args: [args?: PathContext<{ $path: { userid: ... } }>],
                      ) => Promise<boolean>;
                      update: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          append?: (...)
                                          | (...)
                                          | (...);
                                          comment?: (...) | (...);
                                          email?: (...) | (...);
                                          enable?: (...) | (...) | (...);
                                          expire?: (...) | (...);
                                          firstname?: (...) | (...);
                                          groups?: (...) | (...);
                                          keys?: (...) | (...);
                                          lastname?: (...) | (...);
                                      };
                                      $path: { userid: string };
                                  },
                              >,
                          ],
                      ) => Promise<unknown>;
                  };
              };
              vncticket: {
                  verify_vnc_ticket: (
                      ...args: [
                          args: {
                              $body: {
                                  authid: string;
                                  path: string;
                                  privs: string;
                                  vncticket: string;
                              };
                          },
                      ],
                  ) => Promise<unknown>;
              };
          };
          cluster: {
              acme: {
                  account: {
                      index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                      name: (
                          value: string,
                      ) => {
                          deactivate: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<string>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  account?: Record<(...), (...)>;
                                  directory?: string;
                                  location?: string;
                                  tos?: string;
                              },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { contact?: ... }; $path: { name: ... } },
                                  >,
                              ],
                          ) => Promise<string>;
                      };
                      register_account: (
                          ...args: [
                              args: {
                                  $body: {
                                      contact: string;
                                      directory?: string;
                                      "eab-hmac-key"?: string;
                                      "eab-kid"?: string;
                                      name?: string;
                                      tos_url?: string;
                                  };
                              },
                          ],
                      ) => Promise<string>;
                  };
                  challenges_chema: (
                      ...args: [args?: {}],
                  ) => Promise<
                      {
                          id: string;
                          name: string;
                          schema: Record<string, unknown>;
                          type: string;
                      }[],
                  >;
                  directories: (
                      ...args: [args?: {}],
                  ) => Promise<{ name: string; url: string }[]>;
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                  meta: (
                      ...args: [args: { $query?: { directory?: string } }],
                  ) => Promise<
                      {
                          caaIdentities?: string[];
                          externalAccountRequired?: boolean;
                          termsOfService?: string;
                          website?: string;
                      },
                  >;
                  plugins: {
                      add: (
                          ...args: [
                              args: {
                                  $body: {
                                      api?: | "1984hosting"
                                      | "acmedns"
                                      | "acmeproxy"
                                      | "active24"
                                      | "ad"
                                      | "ali"
                                      | "alviy"
                                      | "anx"
                                      | "artfiles"
                                      | "arvan"
                                      | "aurora"
                                      | "autodns"
                                      | "aws"
                                      | "azion"
                                      | "azure"
                                      | "beget"
                                      | "bookmyname"
                                      | "bunny"
                                      | "cf"
                                      | "clouddns"
                                      | "cloudns"
                                      | "cn"
                                      | "conoha"
                                      | "constellix"
                                      | "cpanel"
                                      | "curanet"
                                      | "cyon"
                                      | "da"
                                      | "ddnss"
                                      | "desec"
                                      | "df"
                                      | "dgon"
                                      | "dnsexit"
                                      | "dnshome"
                                      | "dnsimple"
                                      | "dnsservices"
                                      | "doapi"
                                      | "domeneshop"
                                      | "dp"
                                      | "dpi"
                                      | "dreamhost"
                                      | "duckdns"
                                      | "durabledns"
                                      | "dyn"
                                      | "dynu"
                                      | "dynv6"
                                      | "easydns"
                                      | "edgecenter"
                                      | "edgedns"
                                      | "euserv"
                                      | "exoscale"
                                      | "fornex"
                                      | "freedns"
                                      | "freemyip"
                                      | "gandi_livedns"
                                      | "gcloud"
                                      | "gcore"
                                      | "gd"
                                      | "geoscaling"
                                      | "googledomains"
                                      | "he"
                                      | "he_ddns"
                                      | "hetzner"
                                      | "hexonet"
                                      | "hostingde"
                                      | "huaweicloud"
                                      | "infoblox"
                                      | "infomaniak"
                                      | "internetbs"
                                      | "inwx"
                                      | "ionos"
                                      | "ionos_cloud"
                                      | "ipv64"
                                      | "ispconfig"
                                      | "jd"
                                      | "joker"
                                      | "kappernet"
                                      | "kas"
                                      | "kinghost"
                                      | "knot"
                                      | "la"
                                      | "leaseweb"
                                      | "lexicon"
                                      | "limacity"
                                      | "linode"
                                      | "linode_v4"
                                      | "loopia"
                                      | "lua"
                                      | "maradns"
                                      | "me"
                                      | "miab"
                                      | "mijnhost"
                                      | "misaka"
                                      | "myapi"
                                      | "mydevil"
                                      | "mydnsjp"
                                      | "mythic_beasts"
                                      | "namecheap"
                                      | "namecom"
                                      | "namesilo"
                                      | "nanelo"
                                      | "nederhost"
                                      | "neodigit"
                                      | "netcup"
                                      | "netlify"
                                      | "nic"
                                      | "njalla"
                                      | "nm"
                                      | "nsd"
                                      | "nsone"
                                      | "nsupdate"
                                      | "nw"
                                      | "oci"
                                      | "omglol"
                                      | "one"
                                      | "online"
                                      | "openprovider"
                                      | "openstack"
                                      | "opnsense"
                                      | "ovh"
                                      | "pdns"
                                      | "pleskxml"
                                      | "pointhq"
                                      | "porkbun"
                                      | "rackcorp"
                                      | "rackspace"
                                      | "rage4"
                                      | "rcode0"
                                      | "regru"
                                      | "scaleway"
                                      | "schlundtech"
                                      | "selectel"
                                      | "selfhost"
                                      | "servercow"
                                      | "simply"
                                      | "technitium"
                                      | "tele3"
                                      | "tencent"
                                      | "timeweb"
                                      | "transip"
                                      | "udr"
                                      | "ultra"
                                      | "unoeuro"
                                      | "variomedia"
                                      | "veesp"
                                      | "vercel"
                                      | "vscale"
                                      | "vultr"
                                      | "websupport"
                                      | "west_cn"
                                      | "world4you"
                                      | "yandex360"
                                      | "yc"
                                      | "zilore"
                                      | "zone"
                                      | "zoneedit"
                                      | "zonomi";
                                      data?: string;
                                      disable?: boolean;
                                      id: string;
                                      nodes?: string;
                                      type: "dns"
                                      | "standalone";
                                      "validation-delay"?: number;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      id: (
                          value: string | number,
                      ) => {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          get_config: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  api?: | "1984hosting"
                                  | "acmedns"
                                  | "acmeproxy"
                                  | "active24"
                                  | "ad"
                                  | "ali"
                                  | "alviy"
                                  | "anx"
                                  | "artfiles"
                                  | "arvan"
                                  | "aurora"
                                  | "autodns"
                                  | "aws"
                                  | "azion"
                                  | "azure"
                                  | "beget"
                                  | "bookmyname"
                                  | "bunny"
                                  | "cf"
                                  | "clouddns"
                                  | "cloudns"
                                  | "cn"
                                  | "conoha"
                                  | "constellix"
                                  | "cpanel"
                                  | "curanet"
                                  | "cyon"
                                  | "da"
                                  | "ddnss"
                                  | "desec"
                                  | "df"
                                  | "dgon"
                                  | "dnsexit"
                                  | "dnshome"
                                  | "dnsimple"
                                  | "dnsservices"
                                  | "doapi"
                                  | "domeneshop"
                                  | "dp"
                                  | "dpi"
                                  | "dreamhost"
                                  | "duckdns"
                                  | "durabledns"
                                  | "dyn"
                                  | "dynu"
                                  | "dynv6"
                                  | "easydns"
                                  | "edgecenter"
                                  | "edgedns"
                                  | "euserv"
                                  | "exoscale"
                                  | "fornex"
                                  | "freedns"
                                  | "freemyip"
                                  | "gandi_livedns"
                                  | "gcloud"
                                  | "gcore"
                                  | "gd"
                                  | "geoscaling"
                                  | "googledomains"
                                  | "he"
                                  | "he_ddns"
                                  | "hetzner"
                                  | "hexonet"
                                  | "hostingde"
                                  | "huaweicloud"
                                  | "infoblox"
                                  | "infomaniak"
                                  | "internetbs"
                                  | "inwx"
                                  | "ionos"
                                  | "ionos_cloud"
                                  | "ipv64"
                                  | "ispconfig"
                                  | "jd"
                                  | "joker"
                                  | "kappernet"
                                  | "kas"
                                  | "kinghost"
                                  | "knot"
                                  | "la"
                                  | "leaseweb"
                                  | "lexicon"
                                  | "limacity"
                                  | "linode"
                                  | "linode_v4"
                                  | "loopia"
                                  | "lua"
                                  | "maradns"
                                  | "me"
                                  | "miab"
                                  | "mijnhost"
                                  | "misaka"
                                  | "myapi"
                                  | "mydevil"
                                  | "mydnsjp"
                                  | "mythic_beasts"
                                  | "namecheap"
                                  | "namecom"
                                  | "namesilo"
                                  | "nanelo"
                                  | "nederhost"
                                  | "neodigit"
                                  | "netcup"
                                  | "netlify"
                                  | "nic"
                                  | "njalla"
                                  | "nm"
                                  | "nsd"
                                  | "nsone"
                                  | "nsupdate"
                                  | "nw"
                                  | "oci"
                                  | "omglol"
                                  | "one"
                                  | "online"
                                  | "openprovider"
                                  | "openstack"
                                  | "opnsense"
                                  | "ovh"
                                  | "pdns"
                                  | "pleskxml"
                                  | "pointhq"
                                  | "porkbun"
                                  | "rackcorp"
                                  | "rackspace"
                                  | "rage4"
                                  | "rcode0"
                                  | "regru"
                                  | "scaleway"
                                  | "schlundtech"
                                  | "selectel"
                                  | "selfhost"
                                  | "servercow"
                                  | "simply"
                                  | "technitium"
                                  | "tele3"
                                  | "tencent"
                                  | "timeweb"
                                  | "transip"
                                  | "udr"
                                  | "ultra"
                                  | "unoeuro"
                                  | "variomedia"
                                  | "veesp"
                                  | "vercel"
                                  | "vscale"
                                  | "vultr"
                                  | "websupport"
                                  | "west_cn"
                                  | "world4you"
                                  | "yandex360"
                                  | "yc"
                                  | "zilore"
                                  | "zone"
                                  | "zoneedit"
                                  | "zonomi";
                                  data?: string;
                                  digest?: string;
                                  disable?: boolean;
                                  nodes?: string;
                                  plugin: string;
                                  type: "dns"
                                  | "standalone";
                                  "validation-delay"?: number;
                              },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              api?: ...;
                                              data?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              disable?: ...;
                                              nodes?: ...;
                                              "validation-delay"?: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (
                          ...args: [args: { $query?: { type?: "dns" | "standalone" } }],
                      ) => Promise<
                          {
                              api?: | "1984hosting"
                              | "acmedns"
                              | "acmeproxy"
                              | "active24"
                              | "ad"
                              | "ali"
                              | "alviy"
                              | "anx"
                              | "artfiles"
                              | "arvan"
                              | "aurora"
                              | "autodns"
                              | "aws"
                              | "azion"
                              | "azure"
                              | "beget"
                              | "bookmyname"
                              | "bunny"
                              | "cf"
                              | "clouddns"
                              | "cloudns"
                              | "cn"
                              | "conoha"
                              | "constellix"
                              | "cpanel"
                              | "curanet"
                              | "cyon"
                              | "da"
                              | "ddnss"
                              | "desec"
                              | "df"
                              | "dgon"
                              | "dnsexit"
                              | "dnshome"
                              | "dnsimple"
                              | "dnsservices"
                              | "doapi"
                              | "domeneshop"
                              | "dp"
                              | "dpi"
                              | "dreamhost"
                              | "duckdns"
                              | "durabledns"
                              | "dyn"
                              | "dynu"
                              | "dynv6"
                              | "easydns"
                              | "edgecenter"
                              | "edgedns"
                              | "euserv"
                              | "exoscale"
                              | "fornex"
                              | "freedns"
                              | "freemyip"
                              | "gandi_livedns"
                              | "gcloud"
                              | "gcore"
                              | "gd"
                              | "geoscaling"
                              | "googledomains"
                              | "he"
                              | "he_ddns"
                              | "hetzner"
                              | "hexonet"
                              | "hostingde"
                              | "huaweicloud"
                              | "infoblox"
                              | "infomaniak"
                              | "internetbs"
                              | "inwx"
                              | "ionos"
                              | "ionos_cloud"
                              | "ipv64"
                              | "ispconfig"
                              | "jd"
                              | "joker"
                              | "kappernet"
                              | "kas"
                              | "kinghost"
                              | "knot"
                              | "la"
                              | "leaseweb"
                              | "lexicon"
                              | "limacity"
                              | "linode"
                              | "linode_v4"
                              | "loopia"
                              | "lua"
                              | "maradns"
                              | "me"
                              | "miab"
                              | "mijnhost"
                              | "misaka"
                              | "myapi"
                              | "mydevil"
                              | "mydnsjp"
                              | "mythic_beasts"
                              | "namecheap"
                              | "namecom"
                              | "namesilo"
                              | "nanelo"
                              | "nederhost"
                              | "neodigit"
                              | "netcup"
                              | "netlify"
                              | "nic"
                              | "njalla"
                              | "nm"
                              | "nsd"
                              | "nsone"
                              | "nsupdate"
                              | "nw"
                              | "oci"
                              | "omglol"
                              | "one"
                              | "online"
                              | "openprovider"
                              | "openstack"
                              | "opnsense"
                              | "ovh"
                              | "pdns"
                              | "pleskxml"
                              | "pointhq"
                              | "porkbun"
                              | "rackcorp"
                              | "rackspace"
                              | "rage4"
                              | "rcode0"
                              | "regru"
                              | "scaleway"
                              | "schlundtech"
                              | "selectel"
                              | "selfhost"
                              | "servercow"
                              | "simply"
                              | "technitium"
                              | "tele3"
                              | "tencent"
                              | "timeweb"
                              | "transip"
                              | "udr"
                              | "ultra"
                              | "unoeuro"
                              | "variomedia"
                              | "veesp"
                              | "vercel"
                              | "vscale"
                              | "vultr"
                              | "websupport"
                              | "west_cn"
                              | "world4you"
                              | "yandex360"
                              | "yc"
                              | "zilore"
                              | "zone"
                              | "zoneedit"
                              | "zonomi";
                              data?: string;
                              digest?: string;
                              disable?: boolean;
                              nodes?: string;
                              plugin: string;
                              type: "dns"
                              | "standalone";
                              "validation-delay"?: number;
                          }[],
                      >;
                  };
                  tos: (
                      ...args: [args: { $query?: { directory?: string } }],
                  ) => Promise<string>;
              };
              backup: {
                  create_job: (
                      ...args: [
                          args: {
                              $body: {
                                  all?: boolean;
                                  bwlimit?: number;
                                  comment?: string;
                                  compress?: "0"
                                  | "1"
                                  | "gzip"
                                  | "lzo"
                                  | "zstd";
                                  dow?: string;
                                  dumpdir?: string;
                                  enabled?: boolean;
                                  exclude?: string;
                                  "exclude-path"?: string[];
                                  fleecing?: string;
                                  id?: string;
                                  ionice?: number;
                                  lockwait?: number;
                                  mailnotification?: "always" | "failure";
                                  mailto?: string;
                                  maxfiles?: number;
                                  mode?: "snapshot" | "suspend" | "stop";
                                  node?: string;
                                  "notes-template"?: string;
                                  "notification-mode"?:
                                      | "auto"
                                      | "legacy-sendmail"
                                      | "notification-system";
                                  "pbs-change-detection-mode"?: "legacy"
                                  | "data"
                                  | "metadata";
                                  performance?: string;
                                  pigz?: number;
                                  pool?: string;
                                  protected?: boolean;
                                  "prune-backups"?: string;
                                  quiet?: boolean;
                                  remove?: boolean;
                                  "repeat-missed"?: boolean;
                                  schedule?: string;
                                  script?: string;
                                  starttime?: string;
                                  stdexcludes?: boolean;
                                  stop?: boolean;
                                  stopwait?: number;
                                  storage?: string;
                                  tmpdir?: string;
                                  vmid?: string;
                                  zstd?: number;
                              };
                          },
                      ],
                  ) => Promise<unknown>;
                  index: (...args: [args?: {}]) => Promise<{ id: string }[]>;
                  job: (
                      value: string | number,
                  ) => {
                      delete: (
                          ...args: [args?: PathContext<{ $path: { id: ... } }>],
                      ) => Promise<unknown>;
                      included_volumes: (
                          ...args: [args?: PathContext<{ $path: { id: ... } }>],
                      ) => Promise<
                          {
                              children: {
                                  children?: (...)
                                  | (...);
                                  id: number;
                                  name?: (...) | (...);
                                  type: (...) | (...) | (...);
                              }[];
                          },
                      >;
                      read: (
                          ...args: [args?: PathContext<{ $path: { id: ... } }>],
                      ) => Promise<Record<string, unknown>>;
                      update: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          all?: (...)
                                          | (...)
                                          | (...);
                                          bwlimit?: (...) | (...);
                                          comment?: (...) | (...);
                                          compress?: (...) | (...) | (...) | (...) | (...) | (...);
                                          delete?: (...) | (...);
                                          dow?: (...) | (...);
                                          dumpdir?: (...) | (...);
                                          enabled?: (...) | (...) | (...);
                                          exclude?: (...) | (...);
                                          "exclude-path"?: (...) | (...);
                                          fleecing?: (...) | (...);
                                          ionice?: (...) | (...);
                                          lockwait?: (...) | (...);
                                          mailnotification?: (...) | (...) | (...);
                                          mailto?: (...) | (...);
                                          maxfiles?: (...) | (...);
                                          mode?: (...) | (...) | (...) | (...);
                                          node?: (...) | (...);
                                          "notes-template"?: (...) | (...);
                                          "notification-mode"?: (...) | (...) | (...) | (...);
                                          "pbs-change-detection-mode"?: (...) | (...) | (...) | (...);
                                          performance?: (...) | (...);
                                          pigz?: (...) | (...);
                                          pool?: (...) | (...);
                                          protected?: (...) | (...) | (...);
                                          "prune-backups"?: (...) | (...);
                                          quiet?: (...) | (...) | (...);
                                          remove?: (...) | (...) | (...);
                                          "repeat-missed"?: (...) | (...) | (...);
                                          schedule?: (...) | (...);
                                          script?: (...) | (...);
                                          starttime?: (...) | (...);
                                          stdexcludes?: (...) | (...) | (...);
                                          stop?: (...) | (...) | (...);
                                          stopwait?: (...) | (...);
                                          storage?: (...) | (...);
                                          tmpdir?: (...) | (...);
                                          vmid?: (...) | (...);
                                          zstd?: (...) | (...);
                                      };
                                      $path: { id: string };
                                  },
                              >,
                          ],
                      ) => Promise<unknown>;
                  };
              };
              backup_info: {
                  index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                  not_backed_up: {
                      get_guests_not_in_backup: (
                          ...args: [args?: {}],
                      ) => Promise<{ name?: string; type: "qemu" | "lxc"; vmid: number }[]>;
                  };
              };
              bulk_action: {
                  guest: {
                      index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                      migrate: (
                          ...args: [
                              args: {
                                  $body: {
                                      maxworkers?: number;
                                      online?: boolean;
                                      target: string;
                                      vms?: number[];
                                      "with-local-disks"?: boolean;
                                  };
                              },
                          ],
                      ) => Promise<string>;
                      shutdown: (
                          ...args: [
                              args: {
                                  $body: {
                                      "force-stop"?: boolean;
                                      maxworkers?: number;
                                      timeout?: number;
                                      vms?: number[];
                                  };
                              },
                          ],
                      ) => Promise<string>;
                      start: (
                          ...args: [
                              args: {
                                  $body: { maxworkers?: number; timeout?: number; vms?: number[] };
                              },
                          ],
                      ) => Promise<string>;
                      suspend: (
                          ...args: [
                              args: {
                                  $body: {
                                      maxworkers?: number;
                                      statestorage?: string;
                                      "to-disk"?: boolean;
                                      vms?: number[];
                                  };
                              },
                          ],
                      ) => Promise<string>;
                  };
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
              };
              ceph: {
                  flags: {
                      flag: (
                          value:
                              | "nobackfill"
                              | "nodeep-scrub"
                              | "nodown"
                              | "noin"
                              | "noout"
                              | "norebalance"
                              | "norecover"
                              | "noscrub"
                              | "notieragent"
                              | "noup"
                              | "pause",
                      ) => {
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<boolean>;
                          update: (
                              ...args: [
                                  args: PathContext<{ $body: { value: ... }; $path: { flag: ... } }>,
                              ],
                          ) => Promise<unknown>;
                      };
                      get_all: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              description: string;
                              name: | "nobackfill"
                              | "nodeep-scrub"
                              | "nodown"
                              | "noin"
                              | "noout"
                              | "norebalance"
                              | "norecover"
                              | "noscrub"
                              | "notieragent"
                              | "noup"
                              | "pause";
                              value: boolean;
                          }[],
                      >;
                      set: (
                          ...args: [
                              args: {
                                  $body: {
                                      nobackfill?: boolean;
                                      "nodeep-scrub"?: boolean;
                                      nodown?: boolean;
                                      noin?: boolean;
                                      noout?: boolean;
                                      norebalance?: boolean;
                                      norecover?: boolean;
                                      noscrub?: boolean;
                                      notieragent?: boolean;
                                      noup?: boolean;
                                      pause?: boolean;
                                  };
                              },
                          ],
                      ) => Promise<string>;
                  };
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                  metadata: (
                      ...args: [args: { $query?: { scope?: "all" | "versions" } }],
                  ) => Promise<
                      {
                          mds: {
                              "{id}": {
                                  addr: string;
                                  ceph_release: string;
                                  ceph_version: string;
                                  ceph_version_short: string;
                                  hostname: string;
                                  mem_swap_kb: number;
                                  mem_total_kb: number;
                                  name: string;
                              };
                          };
                          mgr: {
                              "{id}": {
                                  addr: string;
                                  ceph_release: string;
                                  ceph_version: string;
                                  ceph_version_short: string;
                                  hostname: string;
                                  mem_swap_kb: number;
                                  mem_total_kb: number;
                                  name: string;
                              };
                          };
                          mon: {
                              "{id}": {
                                  addrs: string;
                                  ceph_release: string;
                                  ceph_version: string;
                                  ceph_version_short: string;
                                  hostname: string;
                                  mem_swap_kb: number;
                                  mem_total_kb: number;
                                  name: string;
                              };
                          };
                          node: {
                              "{node}": {
                                  buildcommit: string;
                                  version: { parts: unknown[]; str: string };
                              };
                          };
                          osd: unknown[];
                      },
                  >;
                  status: (...args: [args?: {}]) => Promise<Record<string, unknown>>;
              };
              config: {
                  apiversion: {
                      join_api_version: (...args: [args?: {}]) => Promise<number>;
                  };
                  create: (
                      ...args: [
                          args: {
                              $body: {
                                  clustername: string;
                                  "link[n]"?: string;
                                  nodeid?: number;
                                  votes?: number;
                              };
                          },
                      ],
                  ) => Promise<string>;
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                  join: {
                      info: (
                          ...args: [args: { $query?: { node?: string } }],
                      ) => Promise<
                          {
                              config_digest: string;
                              nodelist: {
                                  name: string;
                                  nodeid?: number;
                                  pve_addr: string;
                                  pve_fp: string;
                                  quorum_votes: number;
                                  ring0_addr?: string;
                              }[];
                              preferred_node: string;
                              totem: Record<string, unknown>;
                          },
                      >;
                      join: (
                          ...args: [
                              args: {
                                  $body: {
                                      fingerprint: string;
                                      force?: boolean;
                                      hostname: string;
                                      "link[n]"?: string;
                                      nodeid?: number;
                                      password: string;
                                      votes?: number;
                                  };
                              },
                          ],
                      ) => Promise<string>;
                  };
                  nodes: {
                      node: (
                          value: string | number,
                      ) => {
                          add: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              apiversion?: ...;
                                              force?: ...;
                                              "link[n]"?: ...;
                                              new_node_ip?: ...;
                                              nodeid?: ...;
                                              votes?: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  corosync_authkey: string;
                                  corosync_conf: string;
                                  warnings: string[];
                              },
                          >;
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                      };
                      nodes: (...args: [args?: {}]) => Promise<{ node: string }[]>;
                  };
                  qdevice: {
                      status: (...args: [args?: {}]) => Promise<Record<string, unknown>>;
                  };
                  totem: (...args: [args?: {}]) => Promise<Record<string, unknown>>;
              };
              firewall: {
                  aliases: {
                      create_alias: (
                          ...args: [
                              args: { $body: { cidr: string; comment?: string; name: string } },
                          ],
                      ) => Promise<unknown>;
                      get_aliases: (
                          ...args: [args?: {}],
                      ) => Promise<
                          { cidr: string; comment?: string; digest: string; name: string }[],
                      >;
                      name: (
                          value: string,
                      ) => {
                          read_alias: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          remove_alias: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { name: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          update_alias: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: { cidr: ...; comment?: ...; digest?: ...; rename?: ... };
                                          $path: { name: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
                  groups: {
                      create_security_group: (
                          ...args: [
                              args: {
                                  $body: {
                                      comment?: string;
                                      digest?: string;
                                      group: string;
                                      rename?: string;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      group: (
                          group: string,
                      ) => {
                          create_rule: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              action: ...;
                                              comment?: ...;
                                              dest?: ...;
                                              digest?: ...;
                                              dport?: ...;
                                              enable?: ...;
                                              "icmp-type"?: ...;
                                              iface?: ...;
                                              log?: ...;
                                              macro?: ...;
                                              pos?: ...;
                                              proto?: ...;
                                              source?: ...;
                                              sport?: ...;
                                              type: ...;
                                          };
                                          $path: { group: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          delete_security_group: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          get_rules: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  action: string;
                                  comment?: (...)
                                  | (...);
                                  dest?: (...) | (...);
                                  dport?: (...) | (...);
                                  enable?: (...) | (...);
                                  "icmp-type"?: (...) | (...);
                                  iface?: (...) | (...);
                                  ipversion?: (...) | (...);
                                  log?:
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...);
                                  macro?: (...) | (...);
                                  pos: number;
                                  proto?: (...) | (...);
                                  source?: (...) | (...);
                                  sport?: (...) | (...);
                                  type: string;
                              }[],
                          >;
                          pos: (
                              value: number,
                          ) => {
                              delete_rule: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<unknown>;
                              get_rule: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<
                                  {
                                      action: ...;
                                      comment?: ...;
                                      dest?: ...;
                                      dport?: ...;
                                      enable?: ...;
                                      "icmp-type"?: ...;
                                      iface?: ...;
                                      ipversion?: ...;
                                      log?: ...;
                                      macro?: ...;
                                      pos: ...;
                                      proto?: ...;
                                      source?: ...;
                                      sport?: ...;
                                      type: ...;
                                  },
                              >;
                              update_rule: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                          };
                      };
                      list_security_groups: (
                          ...args: [args?: {}],
                      ) => Promise<{ comment?: string; digest: string; group: string }[]>;
                  };
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                  ipset: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      comment?: string;
                                      digest?: string;
                                      name: string;
                                      rename?: string;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [args?: {}],
                      ) => Promise<{ comment?: string; digest: string; name: string }[]>;
                      name: (
                          name: string,
                      ) => {
                          cidr: (
                              cidr: string,
                          ) => {
                              read_ip: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<Record<(...), (...)>>;
                              remove_ip: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                              update_ip: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                          };
                          create_ip: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: { cidr: ...; comment?: ...; nomatch?: ... };
                                          $path: { name: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          delete: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { name: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  cidr: string;
                                  comment?: (...)
                                  | (...);
                                  digest: string;
                                  nomatch?: (...) | (...) | (...);
                              }[],
                          >;
                      };
                  };
                  macros: (
                      ...args: [args?: {}],
                  ) => Promise<{ descr: string; macro: string }[]>;
                  options: {
                      get: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              ebtables?: boolean;
                              enable?: number;
                              log_ratelimit?: string;
                              policy_forward?: "ACCEPT"
                              | "DROP";
                              policy_in?: "ACCEPT" | "DROP" | "REJECT";
                              policy_out?: "ACCEPT" | "DROP" | "REJECT";
                          },
                      >;
                      set: (
                          ...args: [
                              args: {
                                  $body: {
                                      delete?: string;
                                      digest?: string;
                                      ebtables?: boolean;
                                      enable?: number;
                                      log_ratelimit?: string;
                                      policy_forward?: "ACCEPT"
                                      | "DROP";
                                      policy_in?: "ACCEPT" | "DROP" | "REJECT";
                                      policy_out?: "ACCEPT" | "DROP" | "REJECT";
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                  };
                  refs: (
                      ...args: [args: { $query?: { type?: "alias" | "ipset" } }],
                  ) => Promise<
                      {
                          comment?: string;
                          name: string;
                          ref: string;
                          scope: string;
                          type: "alias"
                          | "ipset";
                      }[],
                  >;
                  rules: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      action: string;
                                      comment?: string;
                                      dest?: string;
                                      digest?: string;
                                      dport?: string;
                                      enable?: number;
                                      "icmp-type"?: string;
                                      iface?: string;
                                      log?: | "emerg"
                                      | "alert"
                                      | "crit"
                                      | "err"
                                      | "warning"
                                      | "notice"
                                      | "info"
                                      | "debug"
                                      | "nolog";
                                      macro?: string;
                                      pos?: number;
                                      proto?: string;
                                      source?: string;
                                      sport?: string;
                                      type: "in"
                                      | "out"
                                      | "forward"
                                      | "group";
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      get: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              action: string;
                              comment?: string;
                              dest?: string;
                              dport?: string;
                              enable?: number;
                              "icmp-type"?: string;
                              iface?: string;
                              ipversion?: number;
                              log?: | "emerg"
                              | "alert"
                              | "crit"
                              | "err"
                              | "warning"
                              | "notice"
                              | "info"
                              | "debug"
                              | "nolog";
                              macro?: string;
                              pos: number;
                              proto?: string;
                              source?: string;
                              sport?: string;
                              type: string;
                          }[],
                      >;
                      pos: (
                          value: number,
                      ) => {
                          delete: (
                              ...args: [
                                  args: PathContext<{ $path: { pos: ... }; $query?: (...) | (...) }>,
                              ],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  action: string;
                                  comment?: string;
                                  dest?: string;
                                  dport?: string;
                                  enable?: number;
                                  "icmp-type"?: string;
                                  iface?: string;
                                  ipversion?: number;
                                  log?: | "emerg"
                                  | "alert"
                                  | "crit"
                                  | "err"
                                  | "warning"
                                  | "notice"
                                  | "info"
                                  | "debug"
                                  | "nolog";
                                  macro?: string;
                                  pos: number;
                                  proto?: string;
                                  source?: string;
                                  sport?: string;
                                  type: string;
                              },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              action?: ...;
                                              comment?: ...;
                                              delete?: ...;
                                              dest?: ...;
                                              digest?: ...;
                                              dport?: ...;
                                              enable?: ...;
                                              "icmp-type"?: ...;
                                              iface?: ...;
                                              log?: ...;
                                              macro?: ...;
                                              moveto?: ...;
                                              proto?: ...;
                                              source?: ...;
                                              sport?: ...;
                                              type?: ...;
                                          };
                                          $path: { pos: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
              };
              ha: {
                  groups: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      comment?: string;
                                      group: string;
                                      nodes: string;
                                      nofailback?: boolean;
                                      restricted?: boolean;
                                      type?: "group";
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      group: (
                          group: string,
                      ) => {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              comment?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              nodes?: ...;
                                              nofailback?: ...;
                                              restricted?: ...;
                                          };
                                          $path: { group: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (...args: [args?: {}]) => Promise<{ group: string }[]>;
                  };
                  index: (...args: [args?: {}]) => Promise<{ id: string }[]>;
                  resources: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      comment?: string;
                                      failback?: boolean;
                                      group?: string;
                                      max_relocate?: number;
                                      max_restart?: number;
                                      sid: string;
                                      state?: "started"
                                      | "stopped"
                                      | "enabled"
                                      | "disabled"
                                      | "ignored";
                                      type?: "ct" | "vm";
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [args: { $query?: { type?: "ct" | "vm" } }],
                      ) => Promise<{ sid: string }[]>;
                      sid: (
                          sid: string,
                      ) => {
                          delete: (
                              ...args: [
                                  args: PathContext<{ $path: { sid: ... }; $query?: (...) | (...) }>,
                              ],
                          ) => Promise<unknown>;
                          migrate: (
                              ...args: [
                                  args: PathContext<{ $body: { node: ... }; $path: { sid: ... } }>,
                              ],
                          ) => Promise<
                              {
                                  "blocking-resources"?: (...)[];
                                  "comigrated-resources"?: (...)[];
                                  "requested-node": string;
                                  sid: string;
                              },
                          >;
                          read: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  comment?: string;
                                  digest: string;
                                  failback?: boolean;
                                  group?: string;
                                  max_relocate?: number;
                                  max_restart?: number;
                                  sid: string;
                                  state?: "started"
                                  | "stopped"
                                  | "enabled"
                                  | "disabled"
                                  | "ignored";
                                  type: string;
                              },
                          >;
                          relocate: (
                              ...args: [
                                  args: PathContext<{ $body: { node: ... }; $path: { sid: ... } }>,
                              ],
                          ) => Promise<
                              {
                                  "blocking-resources"?: (...)[];
                                  "comigrated-resources"?: (...)[];
                                  "requested-node": string;
                                  sid: string;
                              },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              comment?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              failback?: ...;
                                              group?: ...;
                                              max_relocate?: ...;
                                              max_restart?: ...;
                                              state?: ...;
                                          };
                                          $path: { sid: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
                  rules: {
                      create_rule: (
                          ...args: [
                              args: {
                                  $body: {
                                      affinity?: "positive"
                                      | "negative";
                                      comment?: string;
                                      disable?: boolean;
                                      nodes?: string;
                                      resources: string;
                                      rule: string;
                                      strict?: boolean;
                                      type: "resource-affinity" | "node-affinity";
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [
                              args: {
                                  $query?: {
                                      resource?: string;
                                      type?: "resource-affinity"
                                      | "node-affinity";
                                  };
                              },
                          ],
                      ) => Promise<{ rule: string }[]>;
                      rule: (
                          rule: string,
                      ) => {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              { rule: string; type: "resource-affinity"
                              | "node-affinity" },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              affinity?: ...;
                                              comment?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              disable?: ...;
                                              nodes?: ...;
                                              resources?: ...;
                                              strict?: ...;
                                              type: ...;
                                          };
                                          $path: { rule: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
                  status: {
                      current: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              crm_state?: string;
                              failback?: boolean;
                              id: string;
                              max_relocate?: number;
                              max_restart?: number;
                              node: string;
                              quorate?: boolean;
                              request_state?: string;
                              sid?: string;
                              state?: string;
                              status: string;
                              timestamp?: number;
                              type: "quorum"
                              | "master"
                              | "lrm"
                              | "service";
                          }[],
                      >;
                      index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                      manager_status: (
                          ...args: [args?: {}],
                      ) => Promise<Record<string, unknown>>;
                  };
              };
              index: (
                  ...args: [args?: {}],
              ) => Promise<({ name: string } & Record<string, unknown>)[]>;
              jobs: {
                  index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                  realm_sync: {
                      index: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              comment?: string;
                              enabled: boolean;
                              id: string;
                              "last-run"?: number;
                              "next-run"?: number;
                              realm: string;
                              "remove-vanished"?: string;
                              schedule: string;
                              scope?: "users"
                              | "groups"
                              | "both";
                          }[],
                      >;
                      job: (
                          id: string,
                      ) => {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              comment?: ...;
                                              "enable-new"?: ...;
                                              enabled?: ...;
                                              realm?: ...;
                                              "remove-vanished"?: ...;
                                              schedule: ...;
                                              scope?: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              comment?: ...;
                                              delete?: ...;
                                              "enable-new"?: ...;
                                              enabled?: ...;
                                              "remove-vanished"?: ...;
                                              schedule: ...;
                                              scope?: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
                  schedule_analyze: (
                      ...args: [
                          args: {
                              $query?: {
                                  iterations?: number;
                                  schedule: string;
                                  starttime?: number;
                              };
                          },
                      ],
                  ) => Promise<{ timestamp: number; utc: string }[]>;
              };
              log: (
                  ...args: [args: { $query?: { max?: number } }],
              ) => Promise<Record<string, unknown>[]>;
              mapping: {
                  dir: {
                      create: (
                          ...args: [
                              args: {
                                  $body: { description?: string; id: string; map: string[] };
                              },
                          ],
                      ) => Promise<unknown>;
                      id: (
                          id: string,
                      ) => {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              delete?: ...;
                                              description?: ...;
                                              digest?: ...;
                                              map?: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (
                          ...args: [args: { $query?: { "check-node"?: string } }],
                      ) => Promise<
                          {
                              checks?: { message: ...; severity: ... }[];
                              description: string;
                              id: string;
                              map: string[];
                          }[],
                      >;
                  };
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                  pci: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      description?: string;
                                      id: string;
                                      "live-migration-capable"?: boolean;
                                      map: string[];
                                      mdev?: boolean;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      id: (
                          id: string,
                      ) => {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              delete?: ...;
                                              description?: ...;
                                              digest?: ...;
                                              "live-migration-capable"?: ...;
                                              map?: ...;
                                              mdev?: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (
                          ...args: [args: { $query?: { "check-node"?: string } }],
                      ) => Promise<
                          {
                              checks?: { message: ...; severity: ... }[];
                              description: string;
                              id: string;
                              map: string[];
                          }[],
                      >;
                  };
                  usb: {
                      create: (
                          ...args: [
                              args: {
                                  $body: { description?: string; id: string; map: string[] };
                              },
                          ],
                      ) => Promise<unknown>;
                      id: (
                          id: string,
                      ) => {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              delete?: ...;
                                              description?: ...;
                                              digest?: ...;
                                              map: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (
                          ...args: [args: { $query?: { "check-node"?: string } }],
                      ) => Promise<
                          { description: string; error: unknown; id: string; map: string[] }[],
                      >;
                  };
              };
              metrics: {
                  export: (
                      ...args: [
                          args: {
                              $query?: {
                                  history?: boolean;
                                  "local-only"?: boolean;
                                  "node-list"?: string;
                                  "start-time"?: number;
                              };
                          },
                      ],
                  ) => Promise<
                      {
                          data: {
                              id: string;
                              metric: string;
                              timestamp: number;
                              type: "gauge"
                              | "counter"
                              | "derive";
                              value: number;
                          }[];
                      },
                  >;
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                  server: {
                      id: (
                          id: string,
                      ) => {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              "api-path-prefix"?: ...;
                                              bucket?: ...;
                                              disable?: ...;
                                              influxdbproto?: ...;
                                              "max-body-size"?: ...;
                                              mtu?: ...;
                                              organization?: ...;
                                              "otel-compression"?: ...;
                                              "otel-headers"?: ...;
                                              "otel-max-body-size"?: ...;
                                              "otel-path"?: ...;
                                              "otel-protocol"?: ...;
                                              "otel-resource-attributes"?: ...;
                                              "otel-timeout"?: ...;
                                              "otel-verify-ssl"?: ...;
                                              path?: ...;
                                              port: ...;
                                              proto?: ...;
                                              server: ...;
                                              timeout?: ...;
                                              token?: ...;
                                              type: ...;
                                              "verify-certificate"?: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              "api-path-prefix"?: ...;
                                              bucket?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              disable?: ...;
                                              influxdbproto?: ...;
                                              "max-body-size"?: ...;
                                              mtu?: ...;
                                              organization?: ...;
                                              "otel-compression"?: ...;
                                              "otel-headers"?: ...;
                                              "otel-max-body-size"?: ...;
                                              "otel-path"?: ...;
                                              "otel-protocol"?: ...;
                                              "otel-resource-attributes"?: ...;
                                              "otel-timeout"?: ...;
                                              "otel-verify-ssl"?: ...;
                                              path?: ...;
                                              port: ...;
                                              proto?: ...;
                                              server: ...;
                                              timeout?: ...;
                                              token?: ...;
                                              "verify-certificate"?: ...;
                                          };
                                          $path: { id: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              disable: boolean;
                              id: string;
                              port: number;
                              server: string;
                              type: string;
                          }[],
                      >;
                  };
              };
              nextid: (
                  ...args: [args: { $query?: { vmid?: number } }],
              ) => Promise<number>;
              notifications: {
                  endpoints: {
                      gotify: {
                          create_endpoint: (
                              ...args: [
                                  args: {
                                      $body: {
                                          comment?: string;
                                          disable?: boolean;
                                          name: string;
                                          server: string;
                                          token: string;
                                      };
                                  },
                              ],
                          ) => Promise<unknown>;
                          endpoint: (
                              name: string,
                          ) => {
                              delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                              get: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      comment?: (...)
                                      | (...);
                                      digest?: (...) | (...);
                                      disable?: (...) | (...) | (...);
                                      name: string;
                                      server: string;
                                  },
                              >;
                              update: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                          };
                          get_endpoints: (
                              ...args: [args?: {}],
                          ) => Promise<
                              {
                                  comment?: string;
                                  disable?: boolean;
                                  name: string;
                                  origin: "user-created"
                                  | "builtin"
                                  | "modified-builtin";
                                  server: string;
                              }[],
                          >;
                      };
                      index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                      sendmail: {
                          create_sendmail_endpoint: (
                              ...args: [
                                  args: {
                                      $body: {
                                          author?: string;
                                          comment?: string;
                                          disable?: boolean;
                                          "from-address"?: string;
                                          mailto?: (...)[];
                                          "mailto-user"?: (...)[];
                                          name: string;
                                      };
                                  },
                              ],
                          ) => Promise<unknown>;
                          endpoint: (
                              name: string,
                          ) => {
                              delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                              get: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      author?: (...)
                                      | (...);
                                      comment?: (...) | (...);
                                      digest?: (...) | (...);
                                      disable?: (...) | (...) | (...);
                                      "from-address"?: (...) | (...);
                                      mailto?: (...) | (...);
                                      "mailto-user"?: (...) | (...);
                                      name: string;
                                  },
                              >;
                              update: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                          };
                          get_endpoints: (
                              ...args: [args?: {}],
                          ) => Promise<
                              {
                                  author?: string;
                                  comment?: string;
                                  disable?: boolean;
                                  "from-address"?: string;
                                  mailto?: (...)[];
                                  "mailto-user"?: (...)[];
                                  name: string;
                                  origin: "user-created" | "builtin" | "modified-builtin";
                              }[],
                          >;
                      };
                      smtp: {
                          create_endpoint: (
                              ...args: [
                                  args: {
                                      $body: {
                                          author?: string;
                                          comment?: string;
                                          disable?: boolean;
                                          "from-address": string;
                                          mailto?: (...)[];
                                          "mailto-user"?: (...)[];
                                          mode?: "insecure" | "starttls" | "tls";
                                          name: string;
                                          password?: string;
                                          port?: number;
                                          server: string;
                                          username?: string;
                                      };
                                  },
                              ],
                          ) => Promise<unknown>;
                          endpoint: (
                              name: string,
                          ) => {
                              delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                              get: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      author?: (...)
                                      | (...);
                                      comment?: (...) | (...);
                                      digest?: (...) | (...);
                                      disable?: (...) | (...) | (...);
                                      "from-address": string;
                                      mailto?: (...) | (...);
                                      "mailto-user"?: (...) | (...);
                                      mode?: (...) | (...) | (...) | (...);
                                      name: string;
                                      port?: (...) | (...);
                                      server: string;
                                      username?: (...) | (...);
                                  },
                              >;
                              update: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                          };
                          get_endpoints: (
                              ...args: [args?: {}],
                          ) => Promise<
                              {
                                  author?: string;
                                  comment?: string;
                                  disable?: boolean;
                                  "from-address": string;
                                  mailto?: (...)[];
                                  "mailto-user"?: (...)[];
                                  mode?: "insecure" | "starttls" | "tls";
                                  name: string;
                                  origin: "user-created" | "builtin" | "modified-builtin";
                                  port?: number;
                                  server: string;
                                  username?: string;
                              }[],
                          >;
                      };
                      webhook: {
                          create: (
                              ...args: [
                                  args: {
                                      $body: {
                                          body?: string;
                                          comment?: string;
                                          disable?: boolean;
                                          header?: (...)[];
                                          method: "post" | "put" | "get";
                                          name: string;
                                          secret?: (...)[];
                                          url: string;
                                      };
                                  },
                              ],
                          ) => Promise<unknown>;
                          endpoint: (
                              name: string,
                          ) => {
                              delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                              get: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      body?: (...)
                                      | (...);
                                      comment?: (...) | (...);
                                      digest?: (...) | (...);
                                      disable?: (...) | (...) | (...);
                                      header?: (...) | (...);
                                      method: (...) | (...) | (...);
                                      name: string;
                                      secret?: (...) | (...);
                                      url: string;
                                  },
                              >;
                              update: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                          };
                          index: (
                              ...args: [args?: {}],
                          ) => Promise<
                              {
                                  body?: string;
                                  comment?: string;
                                  disable?: boolean;
                                  header?: (...)[];
                                  method: "post" | "put" | "get";
                                  name: string;
                                  origin: "user-created" | "builtin" | "modified-builtin";
                                  secret?: (...)[];
                                  url: string;
                              }[],
                          >;
                      };
                  };
                  index: (...args: [args?: {}]) => Promise<Record<string, unknown>[]>;
                  matcher_field_values: (
                      ...args: [args?: {}],
                  ) => Promise<{ comment?: string; field: string; value: string }[]>;
                  matcher_fields: (...args: [args?: {}]) => Promise<{ name: string }[]>;
                  matchers: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      comment?: string;
                                      disable?: boolean;
                                      "invert-match"?: boolean;
                                      "match-calendar"?: string[];
                                      "match-field"?: string[];
                                      "match-severity"?: string[];
                                      mode?: "all"
                                      | "any";
                                      name: string;
                                      target?: string[];
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              comment?: string;
                              disable?: boolean;
                              "invert-match"?: boolean;
                              "match-calendar"?: string[];
                              "match-field"?: string[];
                              "match-severity"?: string[];
                              mode?: "all"
                              | "any";
                              name: string;
                              origin: "user-created" | "builtin" | "modified-builtin";
                              target?: string[];
                          }[],
                      >;
                      matcher: (
                          name: string,
                      ) => {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  comment?: string;
                                  digest?: string;
                                  disable?: boolean;
                                  "invert-match"?: boolean;
                                  "match-calendar"?: (...)[];
                                  "match-field"?: (...)[];
                                  "match-severity"?: (...)[];
                                  mode?: "all" | "any";
                                  name: string;
                                  target?: (...)[];
                              },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              comment?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              disable?: ...;
                                              "invert-match"?: ...;
                                              "match-calendar"?: ...;
                                              "match-field"?: ...;
                                              "match-severity"?: ...;
                                              mode?: ...;
                                              target?: ...;
                                          };
                                          $path: { name: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
                  targets: {
                      get_all_targets: (
                          ...args: [args?: {}],
                      ) => Promise<
                          {
                              comment?: string;
                              disable?: boolean;
                              name: string;
                              origin: "user-created"
                              | "builtin"
                              | "modified-builtin";
                              type: "sendmail" | "gotify" | "smtp" | "webhook";
                          }[],
                      >;
                      name: (
                          name: string,
                      ) => {
                          test: {
                              test_target: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<unknown>;
                          };
                      };
                  };
              };
              options: {
                  get_options: (
                      ...args: [args?: {}],
                  ) => Promise<Record<string, unknown>>;
                  set_options: (
                      ...args: [
                          args: {
                              $body: {
                                  bwlimit?: string;
                                  "consent-text"?: string;
                                  console?: "applet"
                                  | "vv"
                                  | "html5"
                                  | "xtermjs";
                                  crs?: string;
                                  delete?: string;
                                  description?: string;
                                  email_from?: string;
                                  fencing?: "both" | "watchdog" | "hardware";
                                  ha?: string;
                                  http_proxy?: string;
                                  keyboard?:
                                      | "da"
                                      | "de"
                                      | "de-ch"
                                      | "en-gb"
                                      | "en-us"
                                      | "es"
                                      | "fi"
                                      | "fr"
                                      | "fr-be"
                                      | "fr-ca"
                                      | "fr-ch"
                                      | "hu"
                                      | "is"
                                      | "it"
                                      | "ja"
                                      | "lt"
                                      | "mk"
                                      | "nl"
                                      | "no"
                                      | "pl"
                                      | "pt"
                                      | "pt-br"
                                      | "sv"
                                      | "sl"
                                      | "tr";
                                  language?: | "da"
                                  | "he"
                                  | "de"
                                  | "es"
                                  | "fr"
                                  | "it"
                                  | "ja"
                                  | "nl"
                                  | "pl"
                                  | "sv"
                                  | "sl"
                                  | "tr"
                                  | "ar"
                                  | "ca"
                                  | "en"
                                  | "eu"
                                  | "fa"
                                  | "hr"
                                  | "ka"
                                  | "kr"
                                  | "nb"
                                  | "nn"
                                  | "pt_BR"
                                  | "ru"
                                  | "ukr"
                                  | "zh_CN"
                                  | "zh_TW";
                                  mac_prefix?: string;
                                  max_workers?: number;
                                  migration?: string;
                                  migration_unsecure?: boolean;
                                  "next-id"?: string;
                                  notify?: string;
                                  "registered-tags"?: string;
                                  replication?: string;
                                  "tag-style"?: string;
                                  u2f?: string;
                                  "user-tag-access"?: string;
                                  webauthn?: string;
                              };
                          },
                      ],
                  ) => Promise<unknown>;
              };
              replication: {
                  create: (
                      ...args: [
                          args: {
                              $body: {
                                  comment?: string;
                                  disable?: boolean;
                                  id: string;
                                  rate?: number;
                                  remove_job?: "local"
                                  | "full";
                                  schedule?: string;
                                  source?: string;
                                  target: string;
                                  type: "local";
                              };
                          },
                      ],
                  ) => Promise<unknown>;
                  id: (
                      id: string,
                  ) => {
                      delete_: (
                          ...args: [
                              args: PathContext<
                                  { $path: { id: string }; $query?: { force?: ...; keep?: ... } },
                              >,
                          ],
                      ) => Promise<unknown>;
                      read: (
                          ...args: [args?: PathContext<{ $path: { id: ... } }>],
                      ) => Promise<
                          {
                              comment?: string;
                              digest?: string;
                              disable?: boolean;
                              guest: number;
                              id: string;
                              jobnum: number;
                              rate?: number;
                              remove_job?: "local"
                              | "full";
                              schedule?: string;
                              source?: string;
                              target: string;
                              type: "local";
                          },
                      >;
                      update: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          comment?: (...)
                                          | (...);
                                          delete?: (...) | (...);
                                          digest?: (...) | (...);
                                          disable?: (...) | (...) | (...);
                                          rate?: (...) | (...);
                                          remove_job?: (...) | (...) | (...);
                                          schedule?: (...) | (...);
                                          source?: (...) | (...);
                                      };
                                      $path: { id: string };
                                  },
                              >,
                          ],
                      ) => Promise<unknown>;
                  };
                  index: (
                      ...args: [args?: {}],
                  ) => Promise<
                      {
                          comment?: string;
                          disable?: boolean;
                          guest: number;
                          id: string;
                          jobnum: number;
                          rate?: number;
                          remove_job?: "local"
                          | "full";
                          schedule?: string;
                          source?: string;
                          target: string;
                          type: "local";
                      }[],
                  >;
              };
              resources: {
                  resources: (
                      ...args: [
                          args: { $query?: { type?: "vm"
                          | "storage"
                          | "node"
                          | "sdn" } },
                      ],
                  ) => Promise<
                      {
                          "cgroup-mode"?: number;
                          content?: string;
                          cpu?: number;
                          disk?: number;
                          diskread?: number;
                          diskwrite?: number;
                          hastate?: string;
                          id: string;
                          level?: string;
                          lock?: string;
                          maxcpu?: number;
                          maxdisk?: number;
                          maxmem?: number;
                          mem?: number;
                          memhost?: number;
                          name?: string;
                          netin?: number;
                          netout?: number;
                          network?: string;
                          "network-type"?: "zone"
                          | "fabric";
                          node?: string;
                          plugintype?: string;
                          pool?: string;
                          protocol?: string;
                          sdn?: string;
                          status?: string;
                          storage?: string;
                          tags?: string;
                          template?: boolean;
                          type:
                              | "qemu"
                              | "lxc"
                              | "storage"
                              | "node"
                              | "sdn"
                              | "pool"
                              | "openvz"
                              | "network";
                          uptime?: number;
                          vmid?: number;
                          "zone-type"?: string;
                      }[],
                  >;
              };
              sdn: {
                  controllers: {
                      controller: (
                          controller: string,
                      ) => {
                          delete_: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { controller: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { controller: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  asn?: number;
                                  "bgp-multipath-as-relax"?: boolean;
                                  controller: string;
                                  digest?: string;
                                  ebgp?: boolean;
                                  "ebgp-multihop"?: number;
                                  "isis-domain"?: string;
                                  "isis-ifaces"?: string;
                                  "isis-net"?: string;
                                  loopback?: string;
                                  node?: string;
                                  peers?: string;
                                  pending?: {
                                      asn?: ...;
                                      "bgp-multipath-as-relax"?: ...;
                                      ebgp?: ...;
                                      "ebgp-multihop"?: ...;
                                      "isis-domain"?: ...;
                                      "isis-ifaces"?: ...;
                                      "isis-net"?: ...;
                                      loopback?: ...;
                                      node?: ...;
                                      peers?: ...;
                                  };
                                  state?: "new"
                                  | "changed"
                                  | "deleted";
                                  type: "bgp" | "evpn" | "faucet" | "isis";
                              },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              asn?: ...;
                                              "bgp-multipath-as-path-relax"?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              ebgp?: ...;
                                              "ebgp-multihop"?: ...;
                                              fabric?: ...;
                                              "isis-domain"?: ...;
                                              "isis-ifaces"?: ...;
                                              "isis-net"?: ...;
                                              "lock-token"?: ...;
                                              loopback?: ...;
                                              node?: ...;
                                              peers?: ...;
                                          };
                                          $path: { controller: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      asn?: number;
                                      "bgp-multipath-as-path-relax"?: boolean;
                                      controller: string;
                                      ebgp?: boolean;
                                      "ebgp-multihop"?: number;
                                      fabric?: string;
                                      "isis-domain"?: string;
                                      "isis-ifaces"?: string;
                                      "isis-net"?: string;
                                      "lock-token"?: string;
                                      loopback?: string;
                                      node?: string;
                                      peers?: string;
                                      type: "bgp"
                                      | "evpn"
                                      | "faucet"
                                      | "isis";
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [
                              args: {
                                  $query?: {
                                      pending?: boolean;
                                      running?: boolean;
                                      type?: "bgp"
                                      | "evpn"
                                      | "faucet"
                                      | "isis";
                                  };
                              },
                          ],
                      ) => Promise<
                          {
                              asn?: number;
                              "bgp-multipath-as-relax"?: boolean;
                              controller: string;
                              digest?: string;
                              ebgp?: boolean;
                              "ebgp-multihop"?: number;
                              "isis-domain"?: string;
                              "isis-ifaces"?: string;
                              "isis-net"?: string;
                              loopback?: string;
                              node?: string;
                              peers?: string;
                              pending?: {
                                  asn?: (...)
                                  | (...);
                                  "bgp-multipath-as-relax"?: (...) | (...) | (...);
                                  ebgp?: (...) | (...) | (...);
                                  "ebgp-multihop"?: (...) | (...);
                                  "isis-domain"?: (...) | (...);
                                  "isis-ifaces"?: (...) | (...);
                                  "isis-net"?: (...) | (...);
                                  loopback?: (...) | (...);
                                  node?: (...) | (...);
                                  peers?: (...) | (...);
                              };
                              state?: "new"
                              | "changed"
                              | "deleted";
                              type: "bgp" | "evpn" | "faucet" | "isis";
                          }[],
                      >;
                  };
                  dns: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      dns: string;
                                      fingerprint?: string;
                                      key: string;
                                      "lock-token"?: string;
                                      reversemaskv6?: number;
                                      reversev6mask?: number;
                                      ttl?: number;
                                      type: "powerdns";
                                      url: string;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      dns: (
                          dns: string,
                      ) => {
                          delete_: (
                              ...args: [
                                  args: PathContext<{ $path: { dns: ... }; $query?: (...) | (...) }>,
                              ],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              delete?: ...;
                                              digest?: ...;
                                              fingerprint?: ...;
                                              key?: ...;
                                              "lock-token"?: ...;
                                              reversemaskv6?: ...;
                                              ttl?: ...;
                                              url?: ...;
                                          };
                                          $path: { dns: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (
                          ...args: [args: { $query?: { type?: "powerdns" } }],
                      ) => Promise<{ dns: string; type: string }[]>;
                  };
                  fabrics: {
                      all: (
                          ...args: [
                              args: { $query?: { pending?: boolean; running?: boolean } },
                          ],
                      ) => Promise<
                          {
                              fabrics: {
                                  area?: string;
                                  csnp_interval?: number;
                                  digest?: string;
                                  hello_interval?: number;
                                  id: string;
                                  ip_prefix?: string;
                                  ip6_prefix?: string;
                                  "lock-token"?: string;
                                  protocol: "openfabric"
                                  | "ospf";
                              }[];
                              nodes: {
                                  digest?: string;
                                  fabric_id: string;
                                  interfaces: unknown[];
                                  ip?: string;
                                  ip6?: string;
                                  "lock-token"?: string;
                                  node_id: string;
                                  protocol: "openfabric"
                                  | "ospf";
                              }[];
                          },
                      >;
                      fabric: {
                          add_fabric: (
                              ...args: [
                                  args: {
                                      $body: {
                                          area?: string;
                                          csnp_interval?: number;
                                          digest?: string;
                                          hello_interval?: number;
                                          id: string;
                                          ip_prefix?: string;
                                          ip6_prefix?: string;
                                          "lock-token"?: string;
                                          protocol: "openfabric"
                                          | "ospf";
                                      };
                                  },
                              ],
                          ) => Promise<unknown>;
                          id: (
                              id: string,
                          ) => {
                              delete: (...args: [args?: PathContext<(...)>]) => Promise<unknown>;
                              get: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      area?: (...)
                                      | (...);
                                      csnp_interval?: (...) | (...);
                                      digest?: (...) | (...);
                                      hello_interval?: (...) | (...);
                                      id: string;
                                      ip_prefix?: (...) | (...);
                                      ip6_prefix?: (...) | (...);
                                      "lock-token"?: (...) | (...);
                                      protocol: (...) | (...);
                                  },
                              >;
                              update: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                          };
                          index: (
                              ...args: [
                                  args: {
                                      $query?: {
                                          pending?: (...)
                                          | (...)
                                          | (...);
                                          running?: (...) | (...) | (...);
                                      };
                                  },
                              ],
                          ) => Promise<
                              {
                                  area?: string;
                                  csnp_interval?: number;
                                  digest?: string;
                                  hello_interval?: number;
                                  id: string;
                                  ip_prefix?: string;
                                  ip6_prefix?: string;
                                  "lock-token"?: string;
                                  protocol: "openfabric"
                                  | "ospf";
                              }[],
                          >;
                      };
                      index: (...args: [args?: {}]) => Promise<{ subdir: string }[]>;
                      node: {
                          fabric_id: (
                              fabric_id: string,
                          ) => {
                              add_node: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                              list_nodes_fabric: (
                                  ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                              ) => Promise<
                                  {
                                      digest?: ...;
                                      fabric_id: ...;
                                      interfaces: ...;
                                      ip?: ...;
                                      ip6?: ...;
                                      "lock-token"?: ...;
                                      node_id: ...;
                                      protocol: ...;
                                  }[],
                              >;
                              node: (
                                  node_id: string,
                              ) => {
                                  delete: (...args: [args?: ...]) => Promise<(...)>;
                                  get: (...args: [args?: ...]) => Promise<(...)>;
                                  update: (...args: [args: ...]) => Promise<(...)>;
                              };
                          };
                          list_nodes: (
                              ...args: [
                                  args: {
                                      $query?: {
                                          pending?: (...)
                                          | (...)
                                          | (...);
                                          running?: (...) | (...) | (...);
                                      };
                                  },
                              ],
                          ) => Promise<
                              {
                                  digest?: string;
                                  fabric_id: string;
                                  interfaces: unknown[];
                                  ip?: string;
                                  ip6?: string;
                                  "lock-token"?: string;
                                  node_id: string;
                                  protocol: "openfabric"
                                  | "ospf";
                              }[],
                          >;
                      };
                  };
                  index: (...args: [args?: {}]) => Promise<{ id: string }[]>;
                  ipams: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      fingerprint?: string;
                                      ipam: string;
                                      "lock-token"?: string;
                                      section?: number;
                                      token?: string;
                                      type: "netbox"
                                      | "phpipam"
                                      | "pve";
                                      url?: string;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [
                              args: { $query?: { type?: "netbox"
                              | "phpipam"
                              | "pve" } },
                          ],
                      ) => Promise<{ ipam: string; type: string }[]>;
                      ipam: (
                          ipam: string,
                      ) => {
                          delete: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { ipam: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                          status: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown[]>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              delete?: ...;
                                              digest?: ...;
                                              fingerprint?: ...;
                                              "lock-token"?: ...;
                                              section?: ...;
                                              token?: ...;
                                              url?: ...;
                                          };
                                          $path: { ipam: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
                  lock: {
                      lock: (
                          ...args: [args: { $body: { "allow-pending"?: boolean } }],
                      ) => Promise<string>;
                      release_lock: (
                          ...args: [
                              args: { $query?: { force?: boolean; "lock-token"?: string } },
                          ],
                      ) => Promise<unknown>;
                  };
                  reload: (
                      ...args: [
                          args: { $body: { "lock-token"?: string; "release-lock"?: boolean } },
                      ],
                  ) => Promise<string>;
                  rollback: {
                      rollback: (
                          ...args: [
                              args: {
                                  $body: { "lock-token"?: string; "release-lock"?: boolean };
                              },
                          ],
                      ) => Promise<unknown>;
                  };
                  vnets: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      alias?: string;
                                      "isolate-ports"?: boolean;
                                      "lock-token"?: string;
                                      tag?: number;
                                      type?: "vnet";
                                      vlanaware?: boolean;
                                      vnet: string;
                                      zone: string;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [
                              args: { $query?: { pending?: boolean; running?: boolean } },
                          ],
                      ) => Promise<
                          {
                              alias?: string;
                              digest?: string;
                              "isolate-ports"?: boolean;
                              pending?: {
                                  alias?: (...)
                                  | (...);
                                  "isolate-ports"?: (...) | (...) | (...);
                                  tag?: (...) | (...);
                                  vlanaware?: (...) | (...) | (...);
                                  zone?: (...) | (...);
                              };
                              state?: "new"
                              | "changed"
                              | "deleted";
                              tag?: number;
                              type: "vnet";
                              vlanaware?: boolean;
                              vnet: string;
                              zone?: string;
                          }[],
                      >;
                      vnet: (
                          vnet: string,
                      ) => {
                          delete: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { vnet: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          firewall: {
                              index: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<Record<(...), (...)>[]>;
                              options: {
                                  get: (
                                      ...args: [args?: (...) | (...)],
                                  ) => Promise<
                                      { enable?: ...; log_level_forward?: ...; policy_forward?: ... },
                                  >;
                                  set: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                              };
                              rules: {
                                  create: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                                  list: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                                  rule: (
                                      pos: number,
                                  ) => {
                                      delete: (...args: ...) => ...;
                                      get: (...args: ...) => ...;
                                      update: (...args: ...) => ...;
                                  };
                              };
                          };
                          ips: {
                              create: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                              delete: (
                                  ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                              ) => Promise<unknown>;
                              update: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                          };
                          read: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { vnet: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  alias?: string;
                                  digest?: string;
                                  "isolate-ports"?: boolean;
                                  pending?: {
                                      alias?: ...;
                                      "isolate-ports"?: ...;
                                      tag?: ...;
                                      vlanaware?: ...;
                                      zone?: ...;
                                  };
                                  state?: "new"
                                  | "changed"
                                  | "deleted";
                                  tag?: number;
                                  type: "vnet";
                                  vlanaware?: boolean;
                                  vnet: string;
                                  zone?: string;
                              },
                          >;
                          subnets: {
                              create: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                              index: (
                                  ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                              ) => Promise<Record<(...), (...)>[]>;
                              subnet: (
                                  subnet: string,
                              ) => {
                                  delete: (...args: [args: ...]) => Promise<(...)>;
                                  read: (...args: [args: ...]) => Promise<(...)>;
                                  update: (...args: [args: ...]) => Promise<(...)>;
                              };
                          };
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              alias?: ...;
                                              delete?: ...;
                                              digest?: ...;
                                              "isolate-ports"?: ...;
                                              "lock-token"?: ...;
                                              tag?: ...;
                                              vlanaware?: ...;
                                              zone?: ...;
                                          };
                                          $path: { vnet: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
                  zones: {
                      create: (
                          ...args: [
                              args: {
                                  $body: {
                                      "advertise-subnets"?: boolean;
                                      bridge?: string;
                                      "bridge-disable-mac-learning"?: boolean;
                                      controller?: string;
                                      dhcp?: "dnsmasq";
                                      "disable-arp-nd-suppression"?: boolean;
                                      dns?: string;
                                      dnszone?: string;
                                      "dp-id"?: number;
                                      exitnodes?: string;
                                      "exitnodes-local-routing"?: boolean;
                                      "exitnodes-primary"?: string;
                                      fabric?: string;
                                      ipam?: string;
                                      "lock-token"?: string;
                                      mac?: string;
                                      mtu?: number;
                                      nodes?: string;
                                      peers?: string;
                                      reversedns?: string;
                                      "rt-import"?: string;
                                      tag?: number;
                                      type: "evpn"
                                      | "faucet"
                                      | "qinq"
                                      | "simple"
                                      | "vlan"
                                      | "vxlan";
                                      "vlan-protocol"?: "802.1q" | "802.1ad";
                                      "vrf-vxlan"?: number;
                                      "vxlan-port"?: number;
                                      zone: string;
                                  };
                              },
                          ],
                      ) => Promise<unknown>;
                      index: (
                          ...args: [
                              args: {
                                  $query?: {
                                      pending?: boolean;
                                      running?: boolean;
                                      type?: "evpn"
                                      | "faucet"
                                      | "qinq"
                                      | "simple"
                                      | "vlan"
                                      | "vxlan";
                                  };
                              },
                          ],
                      ) => Promise<
                          {
                              "advertise-subnets"?: boolean;
                              bridge?: string;
                              "bridge-disable-mac-learning"?: boolean;
                              controller?: string;
                              dhcp?: "dnsmasq";
                              digest?: string;
                              "disable-arp-nd-suppression"?: boolean;
                              dns?: string;
                              dnszone?: string;
                              exitnodes?: string;
                              "exitnodes-local-routing"?: boolean;
                              "exitnodes-primary"?: string;
                              ipam?: string;
                              mac?: string;
                              mtu?: number;
                              nodes?: string;
                              peers?: string;
                              pending?: {
                                  "advertise-subnets"?: (...)
                                  | (...)
                                  | (...);
                                  bridge?: (...) | (...);
                                  "bridge-disable-mac-learning"?: (...) | (...) | (...);
                                  controller?: (...) | (...);
                                  dhcp?: (...) | (...);
                                  "disable-arp-nd-suppression"?: (...) | (...) | (...);
                                  dns?: (...) | (...);
                                  dnszone?: (...) | (...);
                                  exitnodes?: (...) | (...);
                                  "exitnodes-local-routing"?: (...) | (...) | (...);
                                  "exitnodes-primary"?: (...) | (...);
                                  ipam?: (...) | (...);
                                  mac?: (...) | (...);
                                  mtu?: (...) | (...);
                                  nodes?: (...) | (...);
                                  peers?: (...) | (...);
                                  reversedns?: (...) | (...);
                                  "rt-import"?: (...) | (...);
                                  tag?: (...) | (...);
                                  "vlan-protocol"?: (...) | (...) | (...);
                                  "vrf-vxlan"?: (...) | (...);
                                  "vxlan-port"?: (...) | (...);
                              };
                              reversedns?: string;
                              "rt-import"?: string;
                              state?: "new"
                              | "changed"
                              | "deleted";
                              tag?: number;
                              type: "evpn" | "faucet" | "qinq" | "simple" | "vlan" | "vxlan";
                              "vlan-protocol"?: "802.1q" | "802.1ad";
                              "vrf-vxlan"?: number;
                              "vxlan-port"?: number;
                              zone: string;
                          }[],
                      >;
                      zone: (
                          zone: string,
                      ) => {
                          delete_: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { zone: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          read: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { zone: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  "advertise-subnets"?: boolean;
                                  bridge?: string;
                                  "bridge-disable-mac-learning"?: boolean;
                                  controller?: string;
                                  dhcp?: "dnsmasq";
                                  digest?: string;
                                  "disable-arp-nd-suppression"?: boolean;
                                  dns?: string;
                                  dnszone?: string;
                                  exitnodes?: string;
                                  "exitnodes-local-routing"?: boolean;
                                  "exitnodes-primary"?: string;
                                  ipam?: string;
                                  mac?: string;
                                  mtu?: number;
                                  nodes?: string;
                                  peers?: string;
                                  pending?: {
                                      "advertise-subnets"?: ...;
                                      bridge?: ...;
                                      "bridge-disable-mac-learning"?: ...;
                                      controller?: ...;
                                      dhcp?: ...;
                                      "disable-arp-nd-suppression"?: ...;
                                      dns?: ...;
                                      dnszone?: ...;
                                      exitnodes?: ...;
                                      "exitnodes-local-routing"?: ...;
                                      "exitnodes-primary"?: ...;
                                      ipam?: ...;
                                      mac?: ...;
                                      mtu?: ...;
                                      nodes?: ...;
                                      peers?: ...;
                                      reversedns?: ...;
                                      "rt-import"?: ...;
                                      tag?: ...;
                                      "vlan-protocol"?: ...;
                                      "vrf-vxlan"?: ...;
                                      "vxlan-port"?: ...;
                                  };
                                  reversedns?: string;
                                  "rt-import"?: string;
                                  state?: "new"
                                  | "changed"
                                  | "deleted";
                                  tag?: number;
                                  type: "evpn" | "faucet" | "qinq" | "simple" | "vlan" | "vxlan";
                                  "vlan-protocol"?: "802.1q" | "802.1ad";
                                  "vrf-vxlan"?: number;
                                  "vxlan-port"?: number;
                                  zone: string;
                              },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              "advertise-subnets"?: ...;
                                              bridge?: ...;
                                              "bridge-disable-mac-learning"?: ...;
                                              controller?: ...;
                                              delete?: ...;
                                              dhcp?: ...;
                                              digest?: ...;
                                              "disable-arp-nd-suppression"?: ...;
                                              dns?: ...;
                                              dnszone?: ...;
                                              "dp-id"?: ...;
                                              exitnodes?: ...;
                                              "exitnodes-local-routing"?: ...;
                                              "exitnodes-primary"?: ...;
                                              fabric?: ...;
                                              ipam?: ...;
                                              "lock-token"?: ...;
                                              mac?: ...;
                                              mtu?: ...;
                                              nodes?: ...;
                                              peers?: ...;
                                              reversedns?: ...;
                                              "rt-import"?: ...;
                                              tag?: ...;
                                              "vlan-protocol"?: ...;
                                              "vrf-vxlan"?: ...;
                                              "vxlan-port"?: ...;
                                          };
                                          $path: { zone: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                  };
              };
              status: (
                  ...args: [args?: {}],
              ) => Promise<
                  {
                      id: string;
                      ip?: string;
                      level?: string;
                      local?: boolean;
                      name: string;
                      nodeid?: number;
                      nodes?: number;
                      online?: boolean;
                      quorate?: boolean;
                      type: "node"
                      | "cluster";
                      version?: number;
                  }[],
              >;
              tasks: (
                  ...args: [args?: {}],
              ) => Promise<
                  {
                      endtime?: number;
                      id: string;
                      node: string;
                      starttime?: number;
                      status?: string;
                      type: string;
                      upid: string;
                      user: string;
                  }[],
              >;
          };
          nodes: {
              get: (
                  node: string,
              ) => {
                  aplinfo: {
                      apl_download: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: { storage: string; template: string };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<string>;
                      aplinfo: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<Record<string, unknown>[]>;
                  };
                  apt: {
                      changelog: (
                          ...args: [
                              args: PathContext<
                                  { $path: { node: string }; $query?: { name: ...; version?: ... } },
                              >,
                          ],
                      ) => Promise<string>;
                      index: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<{ id: string }[]>;
                      repositories: {
                          add_repository: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { digest?: ...; handle: ... }; $path: { node: ... } },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          change_repository: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: { digest?: ...; enabled?: ...; index: ...; path: ... };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          list: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  digest: string;
                                  errors: { error: ...; path: ... }[];
                                  files: {
                                      digest: ...;
                                      "file-type": ...;
                                      path: ...;
                                      repositories: ...;
                                  }[];
                                  infos: {
                                      index: ...;
                                      kind: ...;
                                      message: ...;
                                      path: ...;
                                      property?: ...;
                                  }[];
                                  "standard-repos": { handle: ...; name: ...; status?: ... }[];
                              },
                          >;
                      };
                      update: {
                          list: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  Arch: (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  Description: string;
                                  NotifyStatus?: (...) | (...);
                                  OldVersion?: (...) | (...);
                                  Origin: string;
                                  Package: string;
                                  Priority: string;
                                  Section: string;
                                  Title: string;
                                  Version: string;
                              }[],
                          >;
                          update_database: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { notify?: ...; quiet?: ... }; $path: { node: ... } },
                                  >,
                              ],
                          ) => Promise<string>;
                      };
                      versions: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<
                          {
                              Arch: | "all"
                              | "armhf"
                              | "arm64"
                              | "amd64"
                              | "ppc64el"
                              | "risc64"
                              | "s390x";
                              CurrentState: | "Installed"
                              | "NotInstalled"
                              | "UnPacked"
                              | "HalfConfigured"
                              | "HalfInstalled"
                              | "ConfigFiles";
                              Description: string;
                              ManagerVersion?: string;
                              NotifyStatus?: string;
                              OldVersion?: string;
                              Origin: string;
                              Package: string;
                              Priority: string;
                              RunningKernel?: string;
                              Section: string;
                              Title: string;
                              Version: string;
                          }[],
                      >;
                  };
                  capabilities: {
                      index: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<Record<string, unknown>[]>;
                      qemu: {
                          cpu: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ custom: boolean; name: string; vendor: string }[]>;
                          cpu_flags: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ description: string; name: string }[]>;
                          machines: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  changes?: (...)
                                  | (...);
                                  id: string;
                                  type: (...) | (...);
                                  version: string;
                              }[],
                          >;
                          migration: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ "has-dbus-vmstate": boolean }>;
                          qemu_caps_index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>[]>;
                      };
                  };
                  ceph: {
                      cfg: {
                          db: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  can_update_at_runtime: boolean;
                                  level: string;
                                  mask: string;
                                  name: string;
                                  section: string;
                                  value: string;
                              }[],
                          >;
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>[]>;
                          raw: (...args: [args?: PathContext<{ $path: ... }>]) => Promise<string>;
                          value: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<Record<string, unknown>>;
                      };
                      cmd_safety: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $path: { node: string };
                                      $query?: { action: ...; id: ...; service: ... };
                                  },
                              >,
                          ],
                      ) => Promise<{ safe: boolean; status?: string }>;
                      crush: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<string>;
                      fs: {
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              { data_pool: string; metadata_pool: string; name: string }[],
                          >;
                          name: (
                              name: string,
                          ) => {
                              createfs: (...args: [args: PathContext<(...)>]) => Promise<string>;
                          };
                      };
                      index: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<Record<string, unknown>[]>;
                      init: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          "cluster-network"?: (...)
                                          | (...);
                                          disable_cephx?: (...) | (...) | (...);
                                          min_size?: (...) | (...);
                                          network?: (...) | (...);
                                          pg_bits?: (...) | (...);
                                          size?: (...) | (...);
                                      };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<unknown>;
                      log: (
                          ...args: [
                              args: PathContext<
                                  { $path: { node: string }; $query?: { limit?: ...; start?: ... } },
                              >,
                          ],
                      ) => Promise<{ n: number; t: string }[]>;
                      mds: {
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  addr?: (...)
                                  | (...);
                                  host?: (...) | (...);
                                  name: string;
                                  rank?: (...) | (...);
                                  standby_replay?: (...) | (...) | (...);
                                  state: string;
                              }[],
                          >;
                          name: (
                              name: string,
                          ) => {
                              create: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              destroy: (...args: [args?: (...) | (...)]) => Promise<string>;
                          };
                      };
                      mgr: {
                          id: (
                              id: string,
                          ) => {
                              create: (...args: [args?: (...) | (...)]) => Promise<string>;
                              destroy: (...args: [args?: (...) | (...)]) => Promise<string>;
                          };
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  addr?: (...)
                                  | (...);
                                  host?: (...) | (...);
                                  name: string;
                                  state: string;
                              }[],
                          >;
                      };
                      mon: {
                          id: (
                              monid: string,
                          ) => {
                              create: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              destroy: (...args: [args?: (...) | (...)]) => Promise<string>;
                          };
                          list: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  addr?: (...)
                                  | (...);
                                  ceph_version?: (...) | (...);
                                  ceph_version_short?: (...) | (...);
                                  direxists?: (...) | (...);
                                  host?: (...) | (...) | (...);
                                  name: string;
                                  quorum?: (...) | (...) | (...);
                                  rank?: (...) | (...);
                                  service?: (...) | (...);
                                  state?: (...) | (...);
                              }[],
                          >;
                      };
                      osd: {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              "crush-device-class"?: ...;
                                              db_dev?: ...;
                                              db_dev_size?: ...;
                                              dev: ...;
                                              encrypted?: ...;
                                              "osds-per-device"?: ...;
                                              wal_dev?: ...;
                                              wal_dev_size?: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<string>;
                          id: (
                              osdid: number,
                          ) => {
                              destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              in: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                              lv_info: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      creation_time: ...;
                                      lv_name: ...;
                                      lv_path: ...;
                                      lv_size: ...;
                                      lv_uuid: ...;
                                      vg_name: ...;
                                  },
                              >;
                              metadata: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<{ devices: ...; osd: ... }>;
                              out: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                              scrub: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                          };
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>>;
                      };
                      pool: {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              add_storages?: ...;
                                              application?: ...;
                                              crush_rule?: ...;
                                              "erasure-coding"?: ...;
                                              min_size?: ...;
                                              name: ...;
                                              pg_autoscale_mode?: ...;
                                              pg_num?: ...;
                                              pg_num_min?: ...;
                                              size?: ...;
                                              target_size?: ...;
                                              target_size_ratio?: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<string>;
                          list: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  application_metadata?: (...)
                                  | (...);
                                  autoscale_status?: (...) | (...);
                                  bytes_used: number;
                                  crush_rule: number;
                                  crush_rule_name: string;
                                  min_size: number;
                                  percent_used: number;
                                  pg_autoscale_mode?: (...) | (...);
                                  pg_num: number;
                                  pg_num_final?: (...) | (...);
                                  pg_num_min?: (...) | (...);
                                  pool: number;
                                  pool_name: string;
                                  size: number;
                                  target_size?: (...) | (...);
                                  target_size_ratio?: (...) | (...);
                                  type: (...) | (...) | (...);
                              }[],
                          >;
                          name: (
                              name: string,
                          ) => {
                              destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              status: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      application?: ...;
                                      application_list?: ...;
                                      autoscale_status?: ...;
                                      crush_rule?: ...;
                                      fast_read: ...;
                                      hashpspool: ...;
                                      id: ...;
                                      min_size?: ...;
                                      name: ...;
                                      "nodeep-scrub": ...;
                                      nodelete: ...;
                                      nopgchange: ...;
                                      noscrub: ...;
                                      nosizechange: ...;
                                      pg_autoscale_mode?: ...;
                                      pg_num?: ...;
                                      pg_num_min?: ...;
                                      pgp_num: ...;
                                      size?: ...;
                                      statistics?: ...;
                                      target_size?: ...;
                                      target_size_ratio?: ...;
                                      use_gmt_hitset: ...;
                                      write_fadvise_dontneed: ...;
                                  },
                              >;
                              update: (...args: [args: PathContext<(...)>]) => Promise<string>;
                          };
                      };
                      restart: (
                          ...args: [
                              args: PathContext<
                                  { $body: { service?: (...)
                                  | (...) }; $path: { node: string } },
                              >,
                          ],
                      ) => Promise<string>;
                      rules: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<{ name: string }[]>;
                      start: (
                          ...args: [
                              args: PathContext<
                                  { $body: { service?: (...)
                                  | (...) }; $path: { node: string } },
                              >,
                          ],
                      ) => Promise<string>;
                      status: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<Record<string, unknown>>;
                      stop: (
                          ...args: [
                              args: PathContext<
                                  { $body: { service?: (...)
                                  | (...) }; $path: { node: string } },
                              >,
                          ],
                      ) => Promise<string>;
                  };
                  certificates: {
                      acme: {
                          certificate: {
                              new_certificate: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<string>;
                              renew_certificate: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<string>;
                              revoke_certificate: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<string>;
                          };
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>[]>;
                      };
                      custom: {
                          remove_custom_cert: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          upload_custom_cert: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              certificates: ...;
                                              force?: ...;
                                              key?: ...;
                                              restart?: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  filename?: string;
                                  fingerprint?: string;
                                  issuer?: string;
                                  notafter?: number;
                                  notbefore?: number;
                                  pem?: string;
                                  "public-key-bits"?: number;
                                  "public-key-type"?: string;
                                  san?: (...)[];
                                  subject?: string;
                              },
                          >;
                      };
                      index: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<Record<string, unknown>[]>;
                      info: {
                          info: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  filename?: (...)
                                  | (...);
                                  fingerprint?: (...) | (...);
                                  issuer?: (...) | (...);
                                  notafter?: (...) | (...);
                                  notbefore?: (...) | (...);
                                  pem?: (...) | (...);
                                  "public-key-bits"?: (...) | (...);
                                  "public-key-type"?: (...) | (...);
                                  san?: (...) | (...);
                                  subject?: (...) | (...);
                              }[],
                          >;
                      };
                  };
                  config: {
                      get_config: (
                          ...args: [
                              args: PathContext<
                                  { $path: { node: string }; $query?: { property?: ... } },
                              >,
                          ],
                      ) => Promise<
                          {
                              acme?: string;
                              "acmedomain[n]"?: string;
                              "ballooning-target"?: number;
                              description?: string;
                              digest?: string;
                              "startall-onboot-delay"?: number;
                              wakeonlan?: string;
                          },
                      >;
                      set_options: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          acme?: (...)
                                          | (...);
                                          "acmedomain[n]"?: (...) | (...);
                                          "ballooning-target"?: (...) | (...);
                                          delete?: (...) | (...);
                                          description?: (...) | (...);
                                          digest?: (...) | (...);
                                          "startall-onboot-delay"?: (...) | (...);
                                          wakeonlan?: (...) | (...);
                                      };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<unknown>;
                  };
                  disks: {
                      directory: {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              add_storage?: ...;
                                              device: ...;
                                              filesystem?: ...;
                                              name: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<string>;
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  device: string;
                                  options: string;
                                  path: string;
                                  type: string;
                                  unitfile: string;
                              }[],
                          >;
                          name: (
                              name: string,
                          ) => {
                              delete: (...args: [args: PathContext<(...)>]) => Promise<string>;
                          };
                      };
                      dns: {
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              { dns1?: string; dns2?: string; dns3?: string; search?: string },
                          >;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: { dns1?: ...; dns2?: ...; dns3?: ...; search: ... };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      execute: (
                          ...args: [
                              args: PathContext<
                                  { $body: { commands: string }; $path: { node: string } },
                              >,
                          ],
                      ) => Promise<Record<string, unknown>[]>;
                      firewall: {
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>[]>;
                          log: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<{ n: number; t: string }[]>;
                          options: {
                              get: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      enable?: (...)
                                      | (...)
                                      | (...);
                                      log_level_forward?:
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                      log_level_in?:
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                      log_level_out?:
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                      log_nf_conntrack?: (...) | (...) | (...);
                                      ndp?: (...) | (...) | (...);
                                      nf_conntrack_allow_invalid?: (...) | (...) | (...);
                                      nf_conntrack_helpers?: (...) | (...);
                                      nf_conntrack_max?: (...) | (...);
                                      nf_conntrack_tcp_timeout_established?: (...) | (...);
                                      nf_conntrack_tcp_timeout_syn_recv?: (...) | (...);
                                      nftables?: (...) | (...) | (...);
                                      nosmurfs?: (...) | (...) | (...);
                                      protection_synflood?: (...) | (...) | (...);
                                      protection_synflood_burst?: (...) | (...);
                                      protection_synflood_rate?: (...) | (...);
                                      smurf_log_level?:
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                      tcp_flags_log_level?:
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                      tcpflags?: (...) | (...) | (...);
                                  },
                              >;
                              set: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                          };
                          rules: {
                              create: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<unknown>;
                              list: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      action: ...;
                                      comment?: ...;
                                      dest?: ...;
                                      dport?: ...;
                                      enable?: ...;
                                      "icmp-type"?: ...;
                                      iface?: ...;
                                      ipversion?: ...;
                                      log?: ...;
                                      macro?: ...;
                                      pos: ...;
                                      proto?: ...;
                                      source?: ...;
                                      sport?: ...;
                                      type: ...;
                                  }[],
                              >;
                              pos: (
                                  pos: number,
                              ) => {
                                  delete: (...args: [args: ...]) => Promise<(...)>;
                                  get: (...args: [args?: ...]) => Promise<(...)>;
                                  update: (...args: [args: ...]) => Promise<(...)>;
                              };
                          };
                      };
                      hardware: {
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ type: string }[]>;
                          pci: {
                              pci_id_or_mapping: (
                                  pci_id_or_mapping: string,
                              ) => {
                                  mdev: (...args: [args?: ...]) => Promise<(...)>;
                                  pci_index: (...args: [args?: ...]) => Promise<(...)>;
                              };
                              pci_scan: (
                                  ...args: [args: PathContext<{ $path: ...; $query?: ... }>],
                              ) => Promise<
                                  {
                                      class: ...;
                                      device: ...;
                                      device_name?: ...;
                                      id: ...;
                                      iommugroup: ...;
                                      mdev?: ...;
                                      subsystem_device?: ...;
                                      subsystem_device_name?: ...;
                                      subsystem_vendor?: ...;
                                      subsystem_vendor_name?: ...;
                                      vendor: ...;
                                      vendor_name?: ...;
                                  }[],
                              >;
                          };
                          usb: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  busnum: number;
                                  class: number;
                                  devnum: number;
                                  level: number;
                                  manufacturer?: (...)
                                  | (...);
                                  port: number;
                                  prodid: string;
                                  product?: (...) | (...);
                                  serial?: (...) | (...);
                                  speed: string;
                                  usbpath?: (...) | (...);
                                  vendid: string;
                              }[],
                          >;
                      };
                      hosts: {
                          list: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ data: string; digest?: string }>;
                          write: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { data: ...; digest?: ... }; $path: { node: ... } },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      index: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<Record<string, unknown>[]>;
                      initgpt: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: { disk: string; uuid?: (...)
                                      | (...) };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<string>;
                      journal: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $path: { node: string };
                                      $query?: {
                                          endcursor?: ...;
                                          lastentries?: ...;
                                          since?: ...;
                                          startcursor?: ...;
                                          until?: ...;
                                      };
                                  },
                              >,
                          ],
                      ) => Promise<string[]>;
                      list: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $path: { node: string };
                                      $query?: { "include-partitions"?: ...; skipsmart?: ...; type?: ... };
                                  },
                              >,
                          ],
                      ) => Promise<
                          {
                              devpath: string;
                              gpt: boolean;
                              health?: string;
                              model?: string;
                              mounted: boolean;
                              osdid: number;
                              "osdid-list": number[];
                              parent?: string;
                              serial?: string;
                              size: number;
                              used?: string;
                              vendor?: string;
                              wwn?: string;
                          }[],
                      >;
                      lvm: {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: { add_storage?: ...; device: ...; name: ... };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<string>;
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  children: {
                                      children?: ...;
                                      free: ...;
                                      leaf: ...;
                                      name: ...;
                                      size: ...;
                                  }[];
                                  leaf: boolean;
                              },
                          >;
                          lvmthin: {
                              create: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<string>;
                              index: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      lv: ...;
                                      lv_size: ...;
                                      metadata_size: ...;
                                      metadata_used: ...;
                                      used: ...;
                                      vg: ...;
                                  }[],
                              >;
                              name: (
                                  name: string,
                              ) => { delete_: (...args: [args: ...]) => Promise<(...)> };
                          };
                          name: (
                              name: string,
                          ) => {
                              delete: (...args: [args: PathContext<(...)>]) => Promise<string>;
                          };
                          smart: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  attributes?: (...)[];
                                  health: string;
                                  text?: string;
                                  type?: string;
                              },
                          >;
                          wipedisk: (
                              ...args: [
                                  args: PathContext<{ $body: { disk: ... }; $path: { node: ... } }>,
                              ],
                          ) => Promise<string>;
                          zfs: {
                              create: (
                                  ...args: [args: PathContext<{ $body: ...; $path: ... }>],
                              ) => Promise<string>;
                              index: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      alloc: ...;
                                      dedup: ...;
                                      frag: ...;
                                      free: ...;
                                      health: ...;
                                      name: ...;
                                      size: ...;
                                  }[],
                              >;
                              name: (
                                  name: string,
                              ) => {
                                  delete: (...args: [args: ...]) => Promise<(...)>;
                                  get: (...args: [args?: ...]) => Promise<(...)>;
                              };
                          };
                      };
                      lxc: {
                          crate: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              arch?: ...;
                                              bwlimit?: ...;
                                              cmode?: ...;
                                              console?: ...;
                                              cores?: ...;
                                              cpulimit?: ...;
                                              cpuunits?: ...;
                                              debug?: ...;
                                              description?: ...;
                                              "dev[n]"?: ...;
                                              entrypoint?: ...;
                                              env?: ...;
                                              features?: ...;
                                              force?: ...;
                                              "ha-managed"?: ...;
                                              hookscript?: ...;
                                              hostname?: ...;
                                              "ignore-unpack-errors"?: ...;
                                              lock?: ...;
                                              memory?: ...;
                                              "mp[n]"?: ...;
                                              nameserver?: ...;
                                              "net[n]"?: ...;
                                              onboot?: ...;
                                              ostemplate: ...;
                                              ostype?: ...;
                                              password?: ...;
                                              pool?: ...;
                                              protection?: ...;
                                              restore?: ...;
                                              rootfs?: ...;
                                              searchdomain?: ...;
                                              "ssh-public-keys"?: ...;
                                              start?: ...;
                                              startup?: ...;
                                              storage?: ...;
                                              swap?: ...;
                                              tags?: ...;
                                              template?: ...;
                                              timezone?: ...;
                                              tty?: ...;
                                              unique?: ...;
                                              unprivileged?: ...;
                                              "unused[n]"?: ...;
                                              vmid: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<string>;
                          id: (
                              vmid: string | number,
                          ) => {
                              clone: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              config: {
                                  get: (...args: [args: ...]) => Promise<(...)>;
                                  update: (...args: [args: ...]) => Promise<(...)>;
                              };
                              destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              diridx: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              feature: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ hasFeature: ... }>;
                              firewall: {
                                  aliases: {
                                      alias: (name: ...) => ...;
                                      create: (...args: ...) => ...;
                                      list: (...args: ...) => ...;
                                  };
                                  index: (...args: [args?: ...]) => Promise<(...)>;
                                  ipset: {
                                      create: (...args: ...) => ...;
                                      index: (...args: ...) => ...;
                                      name: (name: ...) => ...;
                                  };
                                  log: (...args: [args: ...]) => Promise<(...)>;
                                  options: { get: (...args: ...) => ...; set: (...args: ...) => ... };
                                  refs: (...args: [args: ...]) => Promise<(...)>;
                                  rules: {
                                      create_rule: (...args: ...) => ...;
                                      list: (...args: ...) => ...;
                                      pos: (pos: ...) => ...;
                                  };
                              };
                              interfaces: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              migrate: {
                                  migrate_vm: (...args: [args: ...]) => Promise<(...)>;
                                  preconditions: (...args: [args: ...]) => Promise<(...)>;
                              };
                              move_volume: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              mtunnel: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ socket: ...; ticket: ...; upid: ... }>;
                              mtunnelwebsocket: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ port?: ...; socket?: ... }>;
                              pending: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              remote_migrate: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<string>;
                              resize: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              rrd: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ filename: ... }>;
                              rrddata: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                              snapshot: {
                                  create: (...args: [args: ...]) => Promise<(...)>;
                                  list: (...args: [args?: ...]) => Promise<(...)>;
                                  name: (
                                      snapname: string,
                                  ) => { config: ...; delete: ...; get: ...; rollback: ... };
                              };
                              spiceproxy: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      host: ...;
                                      password: ...;
                                      proxy: ...;
                                      "tls-port": ...;
                                      type: ...;
                                  },
                              >;
                              status: {
                                  current: (...args: [args?: ...]) => Promise<(...)>;
                                  get: (...args: [args?: ...]) => Promise<(...)>;
                                  reboot: (...args: [args: ...]) => Promise<(...)>;
                                  resume: (...args: [args?: ...]) => Promise<(...)>;
                                  shutdown: (...args: [args: ...]) => Promise<(...)>;
                                  start: (...args: [args: ...]) => Promise<(...)>;
                                  stop: (...args: [args: ...]) => Promise<(...)>;
                                  suspend: (...args: [args?: ...]) => Promise<(...)>;
                              };
                              template: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                              termproxy: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<{ port: ...; ticket: ...; upid: ...; user: ... }>;
                              vncproxy: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<
                                  { cert: ...; port: ...; ticket: ...; upid: ...; user: ... },
                              >;
                              vncwebsocket: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ port: ... }>;
                          };
                          list: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  cpu?: (...)
                                  | (...);
                                  cpus?: (...) | (...);
                                  disk?: (...) | (...);
                                  diskread?: (...) | (...);
                                  diskwrite?: (...) | (...);
                                  lock?: (...) | (...);
                                  maxdisk?: (...) | (...);
                                  maxmem?: (...) | (...);
                                  maxswap?: (...) | (...);
                                  mem?: (...) | (...);
                                  name?: (...) | (...);
                                  netin?: (...) | (...);
                                  netout?: (...) | (...);
                                  pressurecpusome?: (...) | (...);
                                  pressureiofull?: (...) | (...);
                                  pressureiosome?: (...) | (...);
                                  pressurememoryfull?: (...) | (...);
                                  pressurememorysome?: (...) | (...);
                                  status: (...) | (...);
                                  tags?: (...) | (...);
                                  template?: (...) | (...) | (...);
                                  uptime?: (...) | (...);
                                  vmid: number;
                              }[],
                          >;
                      };
                      migrate_all: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          maxworkers?: (...)
                                          | (...);
                                          target: string;
                                          vms?: (...) | (...);
                                          "with-local-disks"?: (...) | (...) | (...);
                                      };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<string>;
                      netstat: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<Record<string, unknown>[]>;
                      network: {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              address?: ...;
                                              address6?: ...;
                                              autostart?: ...;
                                              bond_mode?: ...;
                                              bond_xmit_hash_policy?: ...;
                                              "bond-primary"?: ...;
                                              bridge_ports?: ...;
                                              bridge_vids?: ...;
                                              bridge_vlan_aware?: ...;
                                              cidr?: ...;
                                              cidr6?: ...;
                                              comments?: ...;
                                              comments6?: ...;
                                              gateway?: ...;
                                              gateway6?: ...;
                                              iface: ...;
                                              mtu?: ...;
                                              netmask?: ...;
                                              netmask6?: ...;
                                              ovs_bonds?: ...;
                                              ovs_bridge?: ...;
                                              ovs_options?: ...;
                                              ovs_ports?: ...;
                                              ovs_tag?: ...;
                                              slaves?: ...;
                                              type: ...;
                                              "vlan-id"?: ...;
                                              "vlan-raw-device"?: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<unknown>;
                          iface: (
                              iface: string,
                          ) => {
                              delete: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                              network_config: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<{ method: ...; type: ... }>;
                              update: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                          };
                          index: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  active?: (...)
                                  | (...)
                                  | (...);
                                  address?: (...) | (...);
                                  address6?: (...) | (...);
                                  autostart?: (...) | (...) | (...);
                                  bond_mode?:
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...);
                                  bond_xmit_hash_policy?: (...) | (...) | (...) | (...);
                                  "bond-primary"?: (...) | (...);
                                  bridge_ports?: (...) | (...);
                                  bridge_vids?: (...) | (...);
                                  bridge_vlan_aware?: (...) | (...) | (...);
                                  "bridge-access"?: (...) | (...);
                                  "bridge-arp-nd-suppress"?: (...) | (...) | (...);
                                  "bridge-learning"?: (...) | (...) | (...);
                                  "bridge-multicast-flood"?: (...) | (...) | (...);
                                  "bridge-unicast-flood"?: (...) | (...) | (...);
                                  cidr?: (...) | (...);
                                  cidr6?: (...) | (...);
                                  comments?: (...) | (...);
                                  comments6?: (...) | (...);
                                  exists?: (...) | (...) | (...);
                                  families?: (...) | (...) | (...);
                                  gateway?: (...) | (...);
                                  gateway6?: (...) | (...);
                                  iface: string;
                                  "link-type"?: (...) | (...);
                                  method?: (...) | (...) | (...) | (...) | (...) | (...);
                                  method6?: (...) | (...) | (...) | (...) | (...) | (...);
                                  mtu?: (...) | (...);
                                  netmask?: (...) | (...);
                                  netmask6?: (...) | (...);
                                  options?: (...) | (...);
                                  options6?: (...) | (...);
                                  ovs_bonds?: (...) | (...);
                                  ovs_bridge?: (...) | (...);
                                  ovs_options?: (...) | (...);
                                  ovs_ports?: (...) | (...);
                                  ovs_tag?: (...) | (...);
                                  priority?: (...) | (...);
                                  slaves?: (...) | (...);
                                  type:
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...);
                                  "uplink-id"?: (...) | (...);
                                  "vlan-id"?: (...) | (...);
                                  "vlan-protocol"?: (...) | (...) | (...);
                                  "vlan-raw-device"?: (...) | (...);
                                  "vxlan-id"?: (...) | (...);
                                  "vxlan-local-tunnelip"?: (...) | (...);
                                  "vxlan-physdev"?: (...) | (...);
                                  "vxlan-svcnodeip"?: (...) | (...);
                              }[],
                          >;
                          reload_config: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { "regenerate-frr"?: ... }; $path: { node: ... } },
                                  >,
                              ],
                          ) => Promise<string>;
                          revert_changes: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                      };
                      qemu: {
                          create_vm: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              acpi?: ...;
                                              affinity?: ...;
                                              agent?: ...;
                                              "allow-ksm"?: ...;
                                              "amd-sev"?: ...;
                                              arch?: ...;
                                              archive?: ...;
                                              args?: ...;
                                              audio0?: ...;
                                              autostart?: ...;
                                              balloon?: ...;
                                              bios?: ...;
                                              boot?: ...;
                                              bootdisk?: ...;
                                              bwlimit?: ...;
                                              cdrom?: ...;
                                              cicustom?: ...;
                                              cipassword?: ...;
                                              citype?: ...;
                                              ciupgrade?: ...;
                                              ciuser?: ...;
                                              cores?: ...;
                                              cpu?: ...;
                                              cpulimit?: ...;
                                              cpuunits?: ...;
                                              description?: ...;
                                              efidisk0?: ...;
                                              force?: ...;
                                              freeze?: ...;
                                              "ha-managed"?: ...;
                                              hookscript?: ...;
                                              "hostpci[n]"?: ...;
                                              hotplug?: ...;
                                              hugepages?: ...;
                                              "ide[n]"?: ...;
                                              "import-working-storage"?: ...;
                                              "intel-tdx"?: ...;
                                              "ipconfig[n]"?: ...;
                                              ivshmem?: ...;
                                              keephugepages?: ...;
                                              keyboard?: ...;
                                              kvm?: ...;
                                              "live-restore"?: ...;
                                              localtime?: ...;
                                              lock?: ...;
                                              machine?: ...;
                                              memory?: ...;
                                              migrate_downtime?: ...;
                                              migrate_speed?: ...;
                                              name?: ...;
                                              nameserver?: ...;
                                              "net[n]"?: ...;
                                              numa?: ...;
                                              "numa[n]"?: ...;
                                              onboot?: ...;
                                              ostype?: ...;
                                              "parallel[n]"?: ...;
                                              pool?: ...;
                                              protection?: ...;
                                              reboot?: ...;
                                              rng0?: ...;
                                              "sata[n]"?: ...;
                                              "scsi[n]"?: ...;
                                              scsihw?: ...;
                                              searchdomain?: ...;
                                              "serial[n]"?: ...;
                                              shares?: ...;
                                              smbios1?: ...;
                                              smp?: ...;
                                              sockets?: ...;
                                              spice_enhancements?: ...;
                                              sshkeys?: ...;
                                              start?: ...;
                                              startdate?: ...;
                                              startup?: ...;
                                              storage?: ...;
                                              tablet?: ...;
                                              tags?: ...;
                                              tdf?: ...;
                                              template?: ...;
                                              tpmstate0?: ...;
                                              unique?: ...;
                                              "unused[n]"?: ...;
                                              "usb[n]"?: ...;
                                              vcpus?: ...;
                                              vga?: ...;
                                              "virtio[n]"?: ...;
                                              "virtiofs[n]"?: ...;
                                              vmgenid?: ...;
                                              vmid: ...;
                                              vmstatestorage?: ...;
                                              watchdog?: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<string>;
                          list: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  cpu?: (...)
                                  | (...);
                                  cpus?: (...) | (...);
                                  diskread?: (...) | (...);
                                  diskwrite?: (...) | (...);
                                  lock?: (...) | (...);
                                  maxdisk?: (...) | (...);
                                  maxmem?: (...) | (...);
                                  mem?: (...) | (...);
                                  memhost?: (...) | (...);
                                  name?: (...) | (...);
                                  netin?: (...) | (...);
                                  netout?: (...) | (...);
                                  pid?: (...) | (...);
                                  pressurecpufull?: (...) | (...);
                                  pressurecpusome?: (...) | (...);
                                  pressureiofull?: (...) | (...);
                                  pressureiosome?: (...) | (...);
                                  pressurememoryfull?: (...) | (...);
                                  pressurememorysome?: (...) | (...);
                                  qmpstatus?: (...) | (...);
                                  "running-machine"?: (...) | (...);
                                  "running-qemu"?: (...) | (...);
                                  serial?: (...) | (...) | (...);
                                  status: (...) | (...);
                                  tags?: (...) | (...);
                                  template?: (...) | (...) | (...);
                                  uptime?: (...) | (...);
                                  vmid: number;
                              }[],
                          >;
                          vmid: (
                              vmid: string | number,
                          ) => {
                              agent: {
                                  agent: (...args: [args: ...]) => Promise<(...)>;
                                  exec: { exec: (...args: ...) => ... };
                                  exec_status: (...args: [args: ...]) => Promise<(...)>;
                                  file_read: (...args: [args: ...]) => Promise<(...)>;
                                  file_write: (...args: [args: ...]) => Promise<(...)>;
                                  fsfreeze_freeze: (...args: [args?: ...]) => Promise<(...)>;
                                  fsfreeze_status: (...args: [args?: ...]) => Promise<(...)>;
                                  fsfreeze_thaw: (...args: [args?: ...]) => Promise<(...)>;
                                  fstrim: (...args: [args?: ...]) => Promise<(...)>;
                                  get_fsinfo: (...args: [args?: ...]) => Promise<(...)>;
                                  get_host_name: (...args: [args?: ...]) => Promise<(...)>;
                                  get_memory_block_info: (...args: [args?: ...]) => Promise<(...)>;
                                  get_memory_blocks: (...args: [args?: ...]) => Promise<(...)>;
                                  get_osinfo: (...args: [args?: ...]) => Promise<(...)>;
                                  get_time: (...args: [args?: ...]) => Promise<(...)>;
                                  get_timezone: (...args: [args?: ...]) => Promise<(...)>;
                                  get_users: (...args: [args?: ...]) => Promise<(...)>;
                                  get_vcpus: (...args: [args?: ...]) => Promise<(...)>;
                                  index: (...args: [args?: ...]) => Promise<(...)>;
                                  info: (...args: [args?: ...]) => Promise<(...)>;
                                  network_get_interfaces: (...args: [args?: ...]) => Promise<(...)>;
                                  ping: (...args: [args?: ...]) => Promise<(...)>;
                                  set_user_password: (...args: [args: ...]) => Promise<(...)>;
                                  shutdown: (...args: [args?: ...]) => Promise<(...)>;
                                  suspend_disk: (...args: [args?: ...]) => Promise<(...)>;
                                  suspend_hybrid: (...args: [args?: ...]) => Promise<(...)>;
                                  suspend_ram: (...args: [args?: ...]) => Promise<(...)>;
                              };
                              clone: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              cloudinit: {
                                  dump: (...args: [args: ...]) => Promise<(...)>;
                                  pending: (...args: [args?: ...]) => Promise<(...)>;
                                  update: (...args: [args?: ...]) => Promise<(...)>;
                              };
                              config: {
                                  get: (...args: [args: ...]) => Promise<(...)>;
                                  update_async: (...args: [args: ...]) => Promise<(...)>;
                                  update_sync: (...args: [args: ...]) => Promise<(...)>;
                              };
                              dbus_vmstate: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<unknown>;
                              destroy: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              diridx: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              feature: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ hasFeature: ...; nodes: ... }>;
                              firewall: {
                                  aliases: {
                                      alias: (name: ...) => ...;
                                      create: (...args: ...) => ...;
                                      list: (...args: ...) => ...;
                                  };
                                  index: (...args: [args?: ...]) => Promise<(...)>;
                                  ipset: {
                                      create: (...args: ...) => ...;
                                      list: (...args: ...) => ...;
                                      name: (name: ...) => ...;
                                  };
                                  log: (...args: [args: ...]) => Promise<(...)>;
                                  options: { get: (...args: ...) => ...; set: (...args: ...) => ... };
                                  refs: (...args: [args: ...]) => Promise<(...)>;
                                  rules: {
                                      create_rule: (...args: ...) => ...;
                                      list: (...args: ...) => ...;
                                      rule: (pos: ...) => ...;
                                  };
                              };
                              migrate: {
                                  migrate_vm: (...args: [args: ...]) => Promise<(...)>;
                                  migrate_vm_precondition: (...args: [args: ...]) => Promise<(...)>;
                              };
                              monitor: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              move_disk: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              mtunnel: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ socket: ...; ticket: ...; upid: ... }>;
                              mtunnelwebsocket: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ port?: ...; socket?: ... }>;
                              pending: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              remote_migrate: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<string>;
                              resize: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              rrd: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ filename: ... }>;
                              rrddata: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                              sendkey: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                              snapshot: {
                                  create: (...args: [args: ...]) => Promise<(...)>;
                                  list: (...args: [args?: ...]) => Promise<(...)>;
                                  snapname: (
                                      snapname: string,
                                  ) => { config: ...; delete: ...; get: ...; rollback: ... };
                              };
                              spiceproxy: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      host: ...;
                                      password: ...;
                                      proxy: ...;
                                      "tls-port": ...;
                                      type: ...;
                                  },
                              >;
                              status: {
                                  current: (...args: [args?: ...]) => Promise<(...)>;
                                  get: (...args: [args?: ...]) => Promise<(...)>;
                                  reboot: (...args: [args: ...]) => Promise<(...)>;
                                  reset: (...args: [args: ...]) => Promise<(...)>;
                                  resume: (...args: [args: ...]) => Promise<(...)>;
                                  shutdown: (...args: [args: ...]) => Promise<(...)>;
                                  start: (...args: [args: ...]) => Promise<(...)>;
                                  stop: (...args: [args: ...]) => Promise<(...)>;
                                  suspend: (...args: [args: ...]) => Promise<(...)>;
                              };
                              template: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              termproxy: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ port: ...; ticket: ...; upid: ...; user: ... }>;
                              unlink: (...args: [args: PathContext<(...)>]) => Promise<unknown>;
                              vncproxy: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      cert: ...;
                                      password?: ...;
                                      port: ...;
                                      ticket: ...;
                                      upid: ...;
                                      user: ...;
                                  },
                              >;
                              vncwebsocket: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ port: ... }>;
                          };
                      };
                      query_oci_repo_tags: (
                          ...args: [
                              args: PathContext<
                                  { $path: { node: string }; $query?: { reference: ... } },
                              >,
                          ],
                      ) => Promise<string[]>;
                      query_url_metadata: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $path: { node: string };
                                      $query?: { url: ...; "verify-certificates"?: ... };
                                  },
                              >,
                          ],
                      ) => Promise<{ filename?: string; mimetype?: string; size?: number }>;
                      replication: {
                          id: (
                              id: string,
                          ) => {
                              get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              log: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                              schedule_now: (...args: [args?: (...) | (...)]) => Promise<string>;
                              status: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<Record<(...), (...)>>;
                          };
                          status: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<{ id: string }[]>;
                      };
                      report: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<string>;
                      rrd: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $path: { node: string };
                                      $query?: { cf?: ...; ds: ...; timeframe: ... };
                                  },
                              >,
                          ],
                      ) => Promise<{ filename: string }>;
                      rrddata: (
                          ...args: [
                              args: PathContext<
                                  { $path: { node: string }; $query?: { cf?: ...; timeframe: ... } },
                              >,
                          ],
                      ) => Promise<Record<string, unknown>[]>;
                      scan: {
                          cifs: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<{ description: string; share: string }[]>;
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ method: string }[]>;
                          iscsi: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<{ portal: string; target: string }[]>;
                          lvm: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ vg: string }[]>;
                          lvmthin: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<{ lv: string }[]>;
                          nfs: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<{ options: string; path: string }[]>;
                          pbs: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<{ comment?: (...) | (...); store: string }[]>;
                          zfs: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ pool: string }[]>;
                      };
                      sdn: {
                          fabrics: {
                              fabric: (
                                  fabric: string,
                              ) => {
                                  index: (...args: [args?: ...]) => Promise<(...)>;
                                  interfaces: (...args: [args?: ...]) => Promise<(...)>;
                                  neighbors: (...args: [args?: ...]) => Promise<(...)>;
                                  routes: (...args: [args?: ...]) => Promise<(...)>;
                              };
                          };
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<Record<string, unknown>[]>;
                          vnets: {
                              vnet: (
                                  vnet: string,
                              ) => {
                                  get: (...args: [args?: ...]) => Promise<(...)>;
                                  mac_vrf: (...args: [args?: ...]) => Promise<(...)>;
                              };
                          };
                          zones: {
                              index: (
                                  ...args: [args?: PathContext<(...)>],
                              ) => Promise<{ status: ...; zone: ... }[]>;
                              zone: (
                                  zone: string,
                              ) => {
                                  bridges: (...args: [args?: ...]) => Promise<(...)>;
                                  content: (...args: [args?: ...]) => Promise<(...)>;
                                  index: (...args: [args?: ...]) => Promise<(...)>;
                                  ip_vrf: (...args: [args?: ...]) => Promise<(...)>;
                              };
                          };
                      };
                      services: {
                          index: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  "active-state": | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  desc: string;
                                  name: string;
                                  service: string;
                                  state:
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...);
                                  "unit-state":
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...);
                              }[],
                          >;
                          service: (
                              service: Service,
                          ) => {
                              index: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              reload: (...args: [args?: (...) | (...)]) => Promise<string>;
                              restart: (...args: [args?: (...) | (...)]) => Promise<string>;
                              start: (...args: [args?: (...) | (...)]) => Promise<string>;
                              state: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<
                                  {
                                      "active-state": ...;
                                      desc: ...;
                                      name: ...;
                                      service: ...;
                                      state: ...;
                                      "unit-state": ...;
                                  },
                              >;
                              stop: (...args: [args?: (...) | (...)]) => Promise<string>;
                          };
                      };
                      spiceshell: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          cmd?: (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                          "cmd-opts"?: (...) | (...);
                                          proxy?: (...) | (...);
                                      };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<
                          {
                              host: string;
                              password: string;
                              proxy: string;
                              "tls-port": number;
                              type: string;
                          },
                      >;
                      startall: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: { force?: (...)
                                      | (...)
                                      | (...); vms?: (...) | (...) };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<string>;
                      status: {
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  "boot-info": {
                                      mode: (...)
                                      | (...);
                                      secureboot?: (...) | (...) | (...);
                                  };
                                  cpu: number;
                                  cpuinfo: {
                                      cores: number;
                                      cpus: number;
                                      model: string;
                                      sockets: number;
                                  };
                                  "current-kernel": {
                                      machine: string;
                                      release: string;
                                      sysname: string;
                                      version: string;
                                  };
                                  loadavg: string[];
                                  memory: {
                                      available: number;
                                      free: number;
                                      total: number;
                                      used: number;
                                  };
                                  pveversion: string;
                                  rootfs: { avail: number; free: number; total: number; used: number };
                              },
                          >;
                          node_cmd: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { command: ... }; $path: { node: ... } },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      stop_all: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          "force-stop"?: (...)
                                          | (...)
                                          | (...);
                                          timeout?: (...) | (...);
                                          vms?: (...) | (...);
                                      };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<string>;
                      storage: {
                          index: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  active?: (...)
                                  | (...)
                                  | (...);
                                  avail?: (...) | (...);
                                  content: string;
                                  enabled?: (...) | (...) | (...);
                                  formats?: (...) | (...);
                                  select_existing?: (...) | (...) | (...);
                                  shared?: (...) | (...) | (...);
                                  storage: string;
                                  total?: (...) | (...);
                                  type: string;
                                  used?: (...) | (...);
                                  used_fraction?: (...) | (...);
                              }[],
                          >;
                          storage: (
                              storage: string,
                          ) => {
                              content: {
                                  create: (...args: [args: ...]) => Promise<(...)>;
                                  list: (...args: [args: ...]) => Promise<(...)>;
                                  volume: (
                                      volume: string,
                                  ) => { copy: ...; delete: ...; info: ...; update: ... };
                              };
                              download_url: (...args: [args: PathContext<(...)>]) => Promise<string>;
                              file_restore: {
                                  download: (...args: [args: ...]) => Promise<(...)>;
                                  list: (...args: [args: ...]) => Promise<(...)>;
                              };
                              import_metadata: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<
                                  {
                                      "create-args": ...;
                                      disks?: ...;
                                      net?: ...;
                                      source: ...;
                                      type: ...;
                                      warnings?: ...;
                                  },
                              >;
                              index: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              oci_registry_pull: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<string>;
                              prunebackups: {
                                  delete: (...args: [args: ...]) => Promise<(...)>;
                                  dryrun: (...args: [args: ...]) => Promise<(...)>;
                              };
                              rrd: (
                                  ...args: [args: PathContext<(...)>],
                              ) => Promise<{ filename: ... }>;
                              rrddata: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                              status: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<
                                  {
                                      active?: ...;
                                      avail?: ...;
                                      content: ...;
                                      enabled?: ...;
                                      shared?: ...;
                                      total?: ...;
                                      type: ...;
                                      used?: ...;
                                  },
                              >;
                              upload: (...args: [args: PathContext<(...)>]) => Promise<string>;
                          };
                      };
                      subscription: {
                          delete: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<unknown>;
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<
                              {
                                  checktime?: number;
                                  key?: string;
                                  level?: string;
                                  message?: string;
                                  nextduedate?: string;
                                  productname?: string;
                                  regdate?: string;
                                  serverid?: string;
                                  signature?: string;
                                  sockets?: number;
                                  status: | "new"
                                  | "suspended"
                                  | "active"
                                  | "notfound"
                                  | "invalid"
                                  | "expired";
                                  url?: string;
                              },
                          >;
                          set: (
                              ...args: [
                                  args: PathContext<{ $body: { key: ... }; $path: { node: ... } }>,
                              ],
                          ) => Promise<unknown>;
                          update: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { force?: ... }; $path: { node: ... } },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      suspend_all: (
                          ...args: [
                              args: PathContext<
                                  { $body: { vms?: (...)
                                  | (...) }; $path: { node: string } },
                              >,
                          ],
                      ) => Promise<string>;
                      syslog: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $path: { node: string };
                                      $query?: {
                                          limit?: ...;
                                          service?: ...;
                                          since?: ...;
                                          start?: ...;
                                          until?: ...;
                                      };
                                  },
                              >,
                          ],
                      ) => Promise<{ n: number; t: string }[]>;
                      tasks: {
                          list: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  endtime?: (...)
                                  | (...);
                                  id: string;
                                  node: string;
                                  pid: number;
                                  pstart: number;
                                  starttime: number;
                                  status?: (...) | (...);
                                  type: string;
                                  upid: string;
                                  user: string;
                              }[],
                          >;
                          task: (
                              upid: string,
                          ) => {
                              get: (...args: [args?: (...) | (...)]) => Promise<(...)[]>;
                              log: (...args: [args: PathContext<(...)>]) => Promise<(...)[]>;
                              status: (
                                  ...args: [args?: (...) | (...)],
                              ) => Promise<
                                  {
                                      exitstatus?: ...;
                                      id: ...;
                                      node: ...;
                                      pid: ...;
                                      pstart: ...;
                                      starttime: ...;
                                      status: ...;
                                      type: ...;
                                      upid: ...;
                                      user: ...;
                                  },
                              >;
                              stop: (...args: [args?: (...) | (...)]) => Promise<unknown>;
                          };
                      };
                      termproxy: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          cmd?: (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                          "cmd-opts"?: (...) | (...);
                                      };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<
                          { port: number; ticket: string; upid: string; user: string },
                      >;
                      time: {
                          get: (
                              ...args: [args?: PathContext<{ $path: ... }>],
                          ) => Promise<{ localtime: number; time: number; timezone: string }>;
                          set_timezone: (
                              ...args: [
                                  args: PathContext<
                                      { $body: { timezone: ... }; $path: { node: ... } },
                                  >,
                              ],
                          ) => Promise<unknown>;
                      };
                      version: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<{ release: string; repoid: string; version: string }>;
                      vncshell: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $body: {
                                          cmd?: (...)
                                          | (...)
                                          | (...)
                                          | (...);
                                          "cmd-opts"?: (...) | (...);
                                          height?: (...) | (...);
                                          websocket?: (...) | (...) | (...);
                                          width?: (...) | (...);
                                      };
                                      $path: { node: string };
                                  },
                              >,
                          ],
                      ) => Promise<
                          {
                              cert: string;
                              port: number;
                              ticket: string;
                              upid: string;
                              user: string;
                          },
                      >;
                      vncwebsocket: (
                          ...args: [
                              args: PathContext<
                                  {
                                      $path: { node: string };
                                      $query?: { port: ...; vncticket: ... };
                                  },
                              >,
                          ],
                      ) => Promise<{ port: string }>;
                      vzdump: {
                          create: (
                              ...args: [
                                  args: PathContext<
                                      {
                                          $body: {
                                              all?: ...;
                                              bwlimit?: ...;
                                              compress?: ...;
                                              dumpdir?: ...;
                                              exclude?: ...;
                                              "exclude-path"?: ...;
                                              fleecing?: ...;
                                              ionice?: ...;
                                              "job-id"?: ...;
                                              lockwait?: ...;
                                              mailnotification?: ...;
                                              mailto?: ...;
                                              maxfiles?: ...;
                                              mode?: ...;
                                              "notes-template"?: ...;
                                              "notification-mode"?: ...;
                                              "pbs-change-detection-mode"?: ...;
                                              performance?: ...;
                                              pigz?: ...;
                                              pool?: ...;
                                              protected?: ...;
                                              "prune-backups"?: ...;
                                              quiet?: ...;
                                              remove?: ...;
                                              script?: ...;
                                              stdexcludes?: ...;
                                              stdout?: ...;
                                              stop?: ...;
                                              stopwait?: ...;
                                              storage?: ...;
                                              tmpdir?: ...;
                                              vmid?: ...;
                                              zstd?: ...;
                                          };
                                          $path: { node: ... };
                                      },
                                  >,
                              ],
                          ) => Promise<string>;
                          defaults: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<
                              {
                                  all?: boolean;
                                  bwlimit?: number;
                                  compress?: "0"
                                  | "1"
                                  | "gzip"
                                  | "lzo"
                                  | "zstd";
                                  dumpdir?: string;
                                  exclude?: string;
                                  "exclude-path"?: (...)[];
                                  fleecing?: string;
                                  ionice?: number;
                                  lockwait?: number;
                                  mailnotification?: "always" | "failure";
                                  mailto?: string;
                                  maxfiles?: number;
                                  mode?: "snapshot" | "suspend" | "stop";
                                  node?: string;
                                  "notes-template"?: string;
                                  "notification-mode"?:
                                      | "auto"
                                      | "legacy-sendmail"
                                      | "notification-system";
                                  "pbs-change-detection-mode"?: "legacy"
                                  | "data"
                                  | "metadata";
                                  performance?: string;
                                  pigz?: number;
                                  pool?: string;
                                  protected?: boolean;
                                  "prune-backups"?: string;
                                  quiet?: boolean;
                                  remove?: boolean;
                                  script?: string;
                                  stdexcludes?: boolean;
                                  stop?: boolean;
                                  stopwait?: number;
                                  storage?: string;
                                  tmpdir?: string;
                                  vmid?: string;
                                  zstd?: number;
                              },
                          >;
                          extract_config: (
                              ...args: [
                                  args: PathContext<
                                      { $path: { node: ... }; $query?: (...) | (...) },
                                  >,
                              ],
                          ) => Promise<string>;
                      };
                      wakeonlan: (
                          ...args: [args?: PathContext<{ $path: { node: ... } }>],
                      ) => Promise<string>;
                  };
                  index: (
                      ...args: [args?: PathContext<{ $path: { node: string } }>],
                  ) => Promise<Record<string, unknown>[]>;
              };
              list: (
                  ...args: [args?: {}],
              ) => Promise<
                  {
                      cpu?: number;
                      level?: string;
                      maxcpu?: number;
                      maxmem?: number;
                      mem?: number;
                      node: string;
                      ssl_fingerprint?: string;
                      status: "online"
                      | "unknown"
                      | "offline";
                      uptime?: number;
                  }[],
              >;
          };
          pools: {
              create: (
                  ...args: [args: { $body: { comment?: string; poolid: string } }],
              ) => Promise<unknown>;
              delete: (
                  ...args: [args: { $query?: { poolid: string } }],
              ) => Promise<unknown>;
              id: (
                  poolid: string,
              ) => {
                  delete_deprecated: (
                      ...args: [args?: PathContext<{ $path: { poolid: string } }>],
                  ) => Promise<unknown>;
                  read: (
                      ...args: [
                          args: PathContext<
                              {
                                  $path: { poolid: string };
                                  $query?: { type?: (...) | (...) | (...) | (...) };
                              },
                          >,
                      ],
                  ) => Promise<
                      {
                          comment?: string;
                          members: {
                              id: string;
                              node: string;
                              storage?: string;
                              type: "qemu"
                              | "lxc"
                              | "storage"
                              | "openvz";
                              vmid?: number;
                          }[];
                      },
                  >;
                  update_deprecated: (
                      ...args: [
                          args: PathContext<
                              {
                                  $body: {
                                      "allow-move"?: boolean;
                                      comment?: string;
                                      delete?: boolean;
                                      storage?: string;
                                      vms?: string;
                                  };
                                  $path: { poolid: string };
                              },
                          >,
                      ],
                  ) => Promise<unknown>;
              };
              index: (
                  ...args: [
                      args: {
                          $query?: { poolid?: string; type?: "qemu"
                          | "lxc"
                          | "storage" };
                      },
                  ],
              ) => Promise<
                  {
                      comment?: string;
                      members?: {
                          id: string;
                          node: string;
                          storage?: string;
                          type: "qemu"
                          | "lxc"
                          | "storage"
                          | "openvz";
                          vmid?: number;
                      }[];
                      poolid: string;
                  }[],
              >;
              update: (
                  ...args: [
                      args: {
                          $body: {
                              "allow-move"?: boolean;
                              comment?: string;
                              delete?: boolean;
                              poolid: string;
                              storage?: string;
                              vms?: string;
                          };
                      },
                  ],
              ) => Promise<unknown>;
          };
          storage: {
              create: (
                  ...args: [
                      args: {
                          $body: {
                              authsupported?: string;
                              base?: string;
                              blocksize?: string;
                              bwlimit?: string;
                              comstar_hg?: string;
                              comstar_tg?: string;
                              content?: string;
                              "content-dirs"?: string;
                              "create-base-path"?: boolean;
                              "create-subdirs"?: boolean;
                              "data-pool"?: string;
                              datastore?: string;
                              disable?: boolean;
                              domain?: string;
                              "encryption-key"?: string;
                              export?: string;
                              fingerprint?: string;
                              format?: "raw"
                              | "qcow2"
                              | "vmdk"
                              | "subvol";
                              "fs-name"?: string;
                              fuse?: boolean;
                              is_mountpoint?: string;
                              iscsiprovider?: string;
                              keyring?: string;
                              krbd?: boolean;
                              lio_tpg?: string;
                              "master-pubkey"?: string;
                              "max-protected-backups"?: number;
                              mkdir?: boolean;
                              monhost?: string;
                              mountpoint?: string;
                              namespace?: string;
                              nocow?: boolean;
                              nodes?: string;
                              nowritecache?: boolean;
                              options?: string;
                              password?: string;
                              path?: string;
                              pool?: string;
                              port?: number;
                              portal?: string;
                              preallocation?: "metadata" | "full" | "off" | "falloc";
                              "prune-backups"?: string;
                              saferemove?: boolean;
                              saferemove_throughput?: string;
                              "saferemove-stepsize"?: "1" | "2" | "4" | "8" | "16" | "32";
                              server?: string;
                              share?: string;
                              shared?: boolean;
                              "skip-cert-verification"?: boolean;
                              smbversion?: "default" | "2.0" | "2.1" | "3" | "3.0" | "3.11";
                              "snapshot-as-volume-chain"?: boolean;
                              sparse?: boolean;
                              storage: string;
                              subdir?: string;
                              tagged_only?: boolean;
                              target?: string;
                              thinpool?: string;
                              type:
                                  | "rbd"
                                  | "cephfs"
                                  | "esxi"
                                  | "btrfs"
                                  | "cifs"
                                  | "dir"
                                  | "iscsi"
                                  | "iscsidirect"
                                  | "lvm"
                                  | "lvmthin"
                                  | "nfs"
                                  | "pbs"
                                  | "zfs"
                                  | "zfspool";
                              username?: string;
                              vgname?: string;
                              "zfs-base-path"?: string;
                          };
                      },
                  ],
              ) => Promise<
                  {
                      config?: { "encryption-key"?: string };
                      storage: string;
                      type:
                          | "rbd"
                          | "cephfs"
                          | "esxi"
                          | "btrfs"
                          | "cifs"
                          | "dir"
                          | "iscsi"
                          | "iscsidirect"
                          | "lvm"
                          | "lvmthin"
                          | "nfs"
                          | "pbs"
                          | "zfs"
                          | "zfspool";
                  },
              >;
              index: (
                  ...args: [
                      args: {
                          $query?: {
                              type?: | "rbd"
                              | "cephfs"
                              | "esxi"
                              | "btrfs"
                              | "cifs"
                              | "dir"
                              | "iscsi"
                              | "iscsidirect"
                              | "lvm"
                              | "lvmthin"
                              | "nfs"
                              | "pbs"
                              | "zfs"
                              | "zfspool";
                          };
                      },
                  ],
              ) => Promise<{ storage: string }[]>;
              storage: (
                  value: string | number,
              ) => {
                  delete_: (
                      ...args: [args?: PathContext<{ $path: { storage: string } }>],
                  ) => Promise<unknown>;
                  read: (
                      ...args: [args?: PathContext<{ $path: { storage: string } }>],
                  ) => Promise<Record<string, unknown>>;
                  update: (
                      ...args: [
                          args: PathContext<
                              {
                                  $body: {
                                      blocksize?: string;
                                      bwlimit?: string;
                                      comstar_hg?: string;
                                      comstar_tg?: string;
                                      content?: string;
                                      "content-dirs"?: string;
                                      "create-base-path"?: boolean;
                                      "create-subdirs"?: boolean;
                                      "data-pool"?: string;
                                      delete?: string;
                                      digest?: string;
                                      disable?: boolean;
                                      domain?: string;
                                      "encryption-key"?: string;
                                      fingerprint?: string;
                                      format?: "raw"
                                      | "qcow2"
                                      | "vmdk"
                                      | "subvol";
                                      "fs-name"?: string;
                                      fuse?: boolean;
                                      is_mountpoint?: string;
                                      keyring?: string;
                                      krbd?: boolean;
                                      lio_tpg?: string;
                                      "master-pubkey"?: string;
                                      "max-protected-backups"?: number;
                                      mkdir?: boolean;
                                      monhost?: string;
                                      mountpoint?: string;
                                      namespace?: string;
                                      nocow?: boolean;
                                      nodes?: string;
                                      nowritecache?: boolean;
                                      options?: string;
                                      password?: string;
                                      pool?: string;
                                      port?: number;
                                      preallocation?: "metadata" | "full" | "off" | "falloc";
                                      "prune-backups"?: string;
                                      saferemove?: boolean;
                                      saferemove_throughput?: string;
                                      "saferemove-stepsize"?: "1" | "2" | "4" | "8" | "16" | "32";
                                      server?: string;
                                      shared?: boolean;
                                      "skip-cert-verification"?: boolean;
                                      smbversion?: "default" | "2.0" | "2.1" | "3" | "3.0" | "3.11";
                                      "snapshot-as-volume-chain"?: boolean;
                                      sparse?: boolean;
                                      subdir?: string;
                                      tagged_only?: boolean;
                                      username?: string;
                                      "zfs-base-path"?: string;
                                  };
                                  $path: { storage: string };
                              },
                          >,
                      ],
                  ) => Promise<
                      {
                          config?: { "encryption-key"?: string };
                          storage: string;
                          type:
                              | "rbd"
                              | "cephfs"
                              | "esxi"
                              | "btrfs"
                              | "cifs"
                              | "dir"
                              | "iscsi"
                              | "iscsidirect"
                              | "lvm"
                              | "lvmthin"
                              | "nfs"
                              | "pbs"
                              | "zfs"
                              | "zfspool";
                      },
                  >;
              };
          };
          version: {
              version: (
                  ...args: [args?: {}],
              ) => Promise<
                  {
                      console?: "applet"
                      | "vv"
                      | "html5"
                      | "xtermjs";
                      release: string;
                      repoid: string;
                      version: string;
                  },
              >;
          };
      }