docs: def list_available(*names, **kwargs):
      '''
      Return a list of available versions of the specified package.
  
      Args:
          names (str): One or more package names
  
      Kwargs:
  
          saltenv (str): The salt environment to use. Default ``base``.
  
          refresh (bool): Refresh package metadata. Default ``False``.
  
          return_dict_always (bool):
              Default ``False`` dict when a single package name is queried.
  
      Returns:
          dict: The package name with its available versions
  
      .. code-block:: cfg
  
          {'<package name>': ['<version>', '<version>', ]}
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' pkg.list_available <package name> return_dict_always=True
          salt '*' pkg.list_available <package name01> <package name02>
      '''
      if not names:
          return ''
  
      saltenv = kwargs.get('saltenv', 'base')
      refresh = salt.utils.data.is_true(kwargs.get('refresh', False))
      _refresh_db_conditional(saltenv, force=refresh)
      return_dict_always = \
          salt.utils.data.is_true(kwargs.get('return_dict_always', False))
      if len(names) == 1 and not return_dict_always:
          pkginfo = _get_package_info(names[0], saltenv=saltenv)
          if not pkginfo:
              return ''
          versions = sorted(
              list(pkginfo.keys()),
              key=cmp_to_key(_reverse_cmp_pkg_versions)
          )
      else:
          versions = {}
          for name in names:
              pkginfo = _get_package_info(name, saltenv=saltenv)
              if not pkginfo:
                  continue
              verlist = sorted(
                  list(pkginfo.keys()) if pkginfo else [],
                  key=cmp_to_key(_reverse_cmp_pkg_versions)
              )
              versions[name] = verlist
      return versions