code: public function listFolders($root = 0, $depth = 0, $includeProperties = true, $includeObjectCounts = false, CachePolicy $cachePolicy = null)
      {
          $parameters = [
              'query' => ['root' => $root, 'depth' => $depth, 'includeProperties' => $includeProperties, 'includeObjectCounts' => $includeObjectCounts],
              'body' => json_encode([], JSON_UNESCAPED_UNICODE),
              'headers' => [],
          ];
  
          $result = $this->get('v1/folders', $parameters, $cachePolicy);
          foreach ($result as &$entry) {
              $entry = new FolderResponse($entry);
          }
          unset($entry);
          reset($result);
  
          return $result;
      }
docs: Lists all Folders.
  
  Lists all the Folders that the current user has access to.
  
  @param int         $root                The identifier of a Folder to be treated as the root. Use zero for the absolute root. The root will not be included in the result..
  @param int         $depth               The depth for which to include existing subfolders. Use zero to exclude them all together..
  @param bool        $includeProperties   Whether to return the properties for each folder..
  @param bool        $includeObjectCounts Whether to return the number of objects each folder contains..
  @param CachePolicy $cachePolicy         a custom cache policy used for this request only
  
  @return FolderResponse[]