/**
 *
 * @typedef {import('webext-bridge/background')} BridgeApi
 */

/**
 *
 * @typedef {import('webext-bridge').BridgeMessage} BridgeParamBridgeMessage
 * @typedef {import('webext-bridge').InternalMessage} BridgeParamInternalMessage
 */

/**
 *
 * @typedef {("popup"|"options"|"content-script"|"background")} BridgeContextType
 */

/**
 *
 * @typedef {object} BridgeSentPayload
 * @property {string} _id
 * @property {boolean} isReturned
 * @property {string} event
 * @property {object} data
 */

/**
 *
 * @typedef {("product"|"search")} BridgeShopeeGetHeader
 */

/**
 *
 * @typedef {object} BridgeShopeeAffiliateChatMesage
 * @property {string} id
 * @property {string} name
 */

/**
 *
 * @typedef {object} BridgeOpenPopup
 * @property {string} path
 * @property {object} qs
 */

/**
 *
 * @typedef {object} BridgeShopeeGetProduct
 * @property {string} productId
 * @property {string} shopId
 */

/**
 *
 * @typedef {object} BridgeShopeeListenerFetch
 * @property {string} url
 * @property {object} json
 */

/**
 *
 * @typedef {object} BridgeFetchApiPayload
 * @property {string} url
 * @property {RequestMethod} method
 * @property {object} body
 * @property {object} header
 */

/**
 * @typedef {object} BridgeListenerRequestPayload
 * @property {Array<{name: string, value: string}>} requestHeaders
 * @property {string} url
 * @property {string} method
 * @property {string} [requestBody]
 */

/**
 * @typedef {object} BridgeListenerParsedRequest
 * @property {string} url
 * @property {object} headers
 * @property {string} method
 * @property {boolean} isIgnore
 */
