/**
 * @typedef {object} ShopeeVideoProductPick
 * @property {string} itemId
 * @property {string} name
 * @property {string} cover
 * @property {{ minPrice: number, maxPrice: number, stock: number, status: number }} snapshot
 */

/**
 * @typedef {object} ShopeeVideoCampaign
 * @property {string} _id
 * @property {string} name
 * @property {string} shopId
 * @property {string} shopName
 * @property {string} captionTemplate
 * @property {string} status
 * @property {number} totalItems
 * @property {number} successCount
 * @property {string} createdAt
 */

/**
 * @typedef {object} ShopeeVideoLibrary
 * @property {string} _id
 * @property {string} collectionId
 * @property {string} name
 * @property {string} origin
 * @property {string} status
 * @property {string} r2Key
 * @property {string} url
 * @property {string} mime
 * @property {string} thumbnail
 * @property {number} size
 * @property {number} duration
 * @property {number} width
 * @property {number} height
 * @property {string} createdAt
 */

/**
 * @typedef {object} ShopeeVideoCollection
 * @property {string} _id
 * @property {string} parentId
 * @property {number} depth
 * @property {string} name
 * @property {number} count
 * @property {string} createdAt
 */

/**
 * @typedef {object} ShopeeVideoLibraryPresign
 * @property {string} uploadUrl
 * @property {string} r2Key
 * @property {string} publicUrl
 */

/**
 * @typedef {object} ShopeeVideoLibraryCommitInput
 * @property {string} r2Key
 * @property {string} [name]
 * @property {number} [size]
 * @property {number} [duration]
 * @property {number} [width]
 * @property {number} [height]
 * @property {string} [mime]
 * @property {string} [thumbnail]
 * @property {string} [collectionId]
 */

/**
 * @typedef {object} ShopeeVideoCampaignItem
 * @property {string} _id
 * @property {string} campaignId
 * @property {ShopeeVideoProductPick[]} products
 * @property {'tiktok'|'shopee'|'product'} source
 * @property {string} sourceUrl
 * @property {string} caption
 * @property {string} status
 * @property {string} mmsVid
 * @property {string} videoId
 * @property {number} duration
 * @property {string} errorMsg
 * @property {string} postedAt
 * @property {string} createdAt
 */

export {};
