/**
* @typedef {object} ProductList
* @property {number} shop_id - Shopify Store ID
* @property {number[]} products - list of provisioned product ids
* @property {number[]} deletedProducts - ids of products that have been setup but later deleted from Shopify
* @property {object[]} files
* @property {BucketStorageStats} stats
*/
/**
* ### Get list of products for the filestore
* @method module:cpb-api/product.list
* @param {?number} [id] - shopify product id
* @param {number[]} ids - shopify product ids to retrieve
* @param {?number} [shopID] - shopify shop id
* @param {?string} [shopName] - shopify shop name
* @param {string} [bucket='custom-product-builder'] - gce storage bucket
* @param {?*} [files] - include storage files, deleted files, and file stats
* @param {?*} [versions] - include file versions
* @return {ProductList}
*/
export default async function list(
{ id, ids = [id], shopID, shopName, bucket = process.env.BUCKET || 'custom-product-builder', files, versions } = {},
{ fetch } = {},
) {}