import IProduct from '../../Interfaces/Product'; export declare enum EbayConditionEnum { NEW = "NEW", NEW_OTHER = "NEW_OTHER", NEW_WITH_DEFECT = "NEW_WITH_DEFECT", CERTIFIED_REFURBISHED = "CERTIFIED_REFURBISHED", SELLER_REFURBISHED = "SELLER_REFURBISHED", LIKE_NEW = "LIKE_NEW", USED_EXCELLENT = "USED_EXCELLENT", USED_VERY_GOOD = "USED_VERY_GOOD", USED_GOOD = "USED_GOOD", USED_ACCEPTABLE = "USED_ACCEPTABLE", FOR_PARTS_OR_NOT_WORKING = "FOR_PARTS_OR_NOT_WORKING" } export declare enum EbayFormatEnum { AUCTION = "AUCTION", FIXED_PRICE = "FIXED_PRICE" } export interface IEbayInitInfos { } export interface ICheckAvailabilityResponse { readonly ready: boolean; readonly msg?: string; readonly ids?: { readonly epid: string; readonly asin: string; readonly id: string; readonly upc: string; }; } export interface IEbayPricingSummary { readonly auctionReservePrice: number; readonly auctionStartPrice: number; readonly price: number; } export interface IEbayProduct { readonly aspects?: { readonly name: string; readonly values: string[]; }; readonly brand?: string; readonly description?: string; readonly epid?: string; readonly imageUrls?: string[]; readonly title: string; } export interface IEbayListingPayload { readonly condition: EbayConditionEnum; readonly format: EbayFormatEnum; readonly pricingSummary?: IEbayPricingSummary; readonly product: IEbayProduct; } declare class Ebay { constructor(_initInfos: IEbayInitInfos); /** * Fetch un produit selon un identifiant unique. * * https://developer.ebay.com/Devzone/finding/CallRef/findItemsByProduct.html [GET] - OLD XML * @param sku Identifiant unique du produit (ReferenceID, ISBN, UPC ou EAN) */ searchItemWithSku: (_sku: string) => Promise; /** * * * https://developer.ebay.com/api-docs/sell/inventory/resources/inventory_item/methods/getInventoryItems [GET] * @param sku Identifiant unique de l'item à trouver dans l'inventaire */ fetchInventory: (_sku?: string) => Promise; addListing: (sku: string, product: IProduct, listingName: string, brand: string, lang?: string, _isAuction?: boolean, _draft?: boolean, alert?: Function) => Promise; removeListing: (_sku: string, _sold: boolean) => Promise; itemHasBeenSoldOnline: (_sku: string) => Promise; isProductReadyForEbay: (product: IProduct) => ICheckAvailabilityResponse; } export default Ebay;