import { Codec, GetType } from 'purify-ts/Codec'; import { HttpClient, RequestMeta } from '../http'; import { NextToken } from '../parsing'; import { FulfillmentChannelEnum, RequireOnlyOne } from './types'; export declare enum OrderStatusEnum { PendingAvailability = "PendingAvailability", Pending = "Pending", Unshipped = "Unshipped", PartiallyShipped = "PartiallyShipped", Shipped = "Shipped", Canceled = "Canceled", Unfulfillable = "Unfulfillable" } export declare enum PaymentMethodEnum { COD = "COD", CVS = "CVS", Other = "Other" } export declare enum AddressType { Commercial = "Commercial", Residential = "Residential" } export declare enum EasyShipShipmentStatusEnum { PendingPickUp = "PendingPickUp", LabelCanceled = "LabelCanceled", PickedUp = "PickedUp", OutForDelivery = "OutForDelivery", Damaged = "Damaged", Delivered = "Delivered", RejectedByBuyer = "RejectedByBuyer", Undeliverable = "Undeliverable", ReturnedToSeller = "ReturnedToSeller", ReturningToSller = "ReturningToSller", Lost = "Lost" } export declare enum Condition { New = "New", Used = "Used", Collectible = "Collectible", Refurbished = "Refurbished", Preorder = "Preorder", Club = "Club" } export declare enum ConditionSubtype { New = "New", Mint = "Mint", VeryGood = "Very Good", Good = "Good", Acceptable = "Acceptable", Poor = "Poor", Club = "Club", OEM = "OEM", Warranty = "Warranty", RefurbishedWarranty = "Refurbished Warranty", Refurbished = "Refurbished", OpenBox = "Open Box", Any = "Any", Other = "Other" } export declare const Order: Codec<{ AmazonOrderId: string; SellerOrderId: string | undefined; PurchaseDate: Date; LastUpdateDate: Date; OrderStatus: OrderStatusEnum; FulfillmentChannel: FulfillmentChannelEnum | undefined; SalesChannel: string | undefined; ShipServiceLevel: string | undefined; ShippingAddress: { Name: string | undefined; AddressLine1: string | undefined; AddressLine2: string | undefined; AddressLine3: string | undefined; City: string | undefined; Municipality: string | undefined; Country: string | undefined; District: string | undefined; StateOrRegion: string | undefined; PostalCode: string | undefined; CountryCode: string | undefined; Phone: string | undefined; AddressType: AddressType | undefined; } | undefined; OrderTotal: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; NumberOfItemsShipped: number | undefined; NumberOfItemsUnshipped: number | undefined; PaymentExecutionDetail: { Payment: { CurrencyCode: string | undefined; Amount: number | undefined; }; PaymentMethod: string; }[] | undefined; PaymentMethod: string | undefined; PaymentMethodDetails: string[] | undefined; IsReplacementOrder: boolean | undefined; ReplacedOrderId: string | undefined; MarketplaceId: string | undefined; BuyerEmail: string | undefined; BuyerName: string | undefined; BuyerCounty: string | undefined; BuyerTaxInfo: { CompanyLegalName: string | undefined; TaxingRegion: string | undefined; TaxClassifications: { TaxClassification: { Name: string; Value: string; }; } | undefined; } | undefined; ShipmentServiceLevelCategory: string | undefined; EasyShipShipmentStatus: string | undefined; OrderType: string | undefined; EarliestShipDate: Date | undefined; LatestShipDate: Date | undefined; EarliestDeliveryDate: Date | undefined; LatestDeliveryDate: Date | undefined; IsBusinessOrder: boolean | undefined; IsSoldByAB: boolean | undefined; PurchaseOrderNumber: string | undefined; IsPrime: boolean | undefined; IsPremiumOrder: boolean | undefined; IsGlobalExpressEnabled: boolean | undefined; PromiseResponseDueDate: Date | undefined; IsEstimatedShipDateSet: boolean | undefined; }>; export declare const ListOrders: Codec<{ NextToken: NextToken<"ListOrders"> | undefined; LastUpdatedBefore: Date | undefined; CreatedBefore: Date | undefined; Orders: { AmazonOrderId: string; SellerOrderId: string | undefined; PurchaseDate: Date; LastUpdateDate: Date; OrderStatus: OrderStatusEnum; FulfillmentChannel: FulfillmentChannelEnum | undefined; SalesChannel: string | undefined; ShipServiceLevel: string | undefined; ShippingAddress: { Name: string | undefined; AddressLine1: string | undefined; AddressLine2: string | undefined; AddressLine3: string | undefined; City: string | undefined; Municipality: string | undefined; Country: string | undefined; District: string | undefined; StateOrRegion: string | undefined; PostalCode: string | undefined; CountryCode: string | undefined; Phone: string | undefined; AddressType: AddressType | undefined; } | undefined; OrderTotal: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; NumberOfItemsShipped: number | undefined; NumberOfItemsUnshipped: number | undefined; PaymentExecutionDetail: { Payment: { CurrencyCode: string | undefined; Amount: number | undefined; }; PaymentMethod: string; }[] | undefined; PaymentMethod: string | undefined; PaymentMethodDetails: string[] | undefined; IsReplacementOrder: boolean | undefined; ReplacedOrderId: string | undefined; MarketplaceId: string | undefined; BuyerEmail: string | undefined; BuyerName: string | undefined; BuyerCounty: string | undefined; BuyerTaxInfo: { CompanyLegalName: string | undefined; TaxingRegion: string | undefined; TaxClassifications: { TaxClassification: { Name: string; Value: string; }; } | undefined; } | undefined; ShipmentServiceLevelCategory: string | undefined; EasyShipShipmentStatus: string | undefined; OrderType: string | undefined; EarliestShipDate: Date | undefined; LatestShipDate: Date | undefined; EarliestDeliveryDate: Date | undefined; LatestDeliveryDate: Date | undefined; IsBusinessOrder: boolean | undefined; IsSoldByAB: boolean | undefined; PurchaseOrderNumber: string | undefined; IsPrime: boolean | undefined; IsPremiumOrder: boolean | undefined; IsGlobalExpressEnabled: boolean | undefined; PromiseResponseDueDate: Date | undefined; IsEstimatedShipDateSet: boolean | undefined; }[]; }>; export declare const ListOrderItems: Codec<{ NextToken: string | undefined; AmazonOrderId: string; OrderItems: { ASIN: string; OrderItemId: string; SellerSKU: string | undefined; BuyerCustomizedInfo: { CustomizedURL: string; } | undefined; Title: string | undefined; QuantityOrdered: number; QuantityShipped: number | undefined; PointsGranted: { PointsNumber: number | undefined; PointsMonetaryValue: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; } | undefined; ProductInfo: { NumberOfItems: number | undefined; } | undefined; ItemPrice: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; ShippingPrice: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; GiftWrapPrice: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; TaxCollection: { Model: string; ResponsibleParty: string; } | undefined; ItemTax: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; ShippingTax: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; GiftWrapTax: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; ShippingDiscount: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; ShippingDiscountTax: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; PromotionDiscount: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; PromotionDiscountTax: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; PromotionIds: string[] | undefined; CODFee: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; CODFeeDiscount: { CurrencyCode: string | undefined; Amount: number | undefined; } | undefined; IsGift: boolean | undefined; GiftMessageText: string | undefined; GiftWrapLevel: string | undefined; ConditionNote: string | undefined; ConditionId: Condition | undefined; ConditionSubtypeId: ConditionSubtype | undefined; ScheduledDeliveryStartDate: Date | undefined; ScheduledDeliveryEndDate: Date | undefined; PriceDesignation: string | undefined; IsTransparency: boolean | undefined; SerialNumberRequired: boolean | undefined; }[]; }>; export declare type Order = GetType; export declare type ListOrders = GetType; export declare type ListOrderItems = GetType; export interface GetOrderParameters { AmazonOrderId: string[]; } export declare type FulfillmentChannel = (keyof typeof FulfillmentChannelEnum)[]; export declare type PaymentMethod = (keyof typeof PaymentMethodEnum)[]; export declare type OrderStatus = (keyof typeof OrderStatusEnum)[]; export declare type EasyShipShipmentStatus = (keyof typeof EasyShipShipmentStatusEnum)[]; export declare type ListOrderParameters = RequireOnlyOne<{ CreatedAfter?: Date; CreatedBefore?: Date; LastUpdatedAfter?: Date; LastUpdatedBefore?: Date; OrderStatus?: OrderStatus; MarketplaceId: string[]; FulfillmentChannel?: FulfillmentChannel; PaymentMethod?: PaymentMethod; BuyerEmail?: string; SellerOrderId?: string; MaxResultsPerPage?: number; EasyShipShipmentStatus?: EasyShipShipmentStatus; }, 'CreatedAfter' | 'LastUpdatedAfter'>; export interface ListOrderItemsParameters { AmazonOrderId: string; } export declare class Orders { private httpClient; constructor(httpClient: HttpClient); listOrders(parameters: ListOrderParameters): Promise<[ListOrders, RequestMeta]>; listOrdersByNextToken(nextToken: NextToken<'ListOrders'>): Promise<[ListOrders, RequestMeta]>; getOrder(parameters: GetOrderParameters): Promise<[Order[], RequestMeta]>; listOrderItems(parameters: ListOrderItemsParameters): Promise<[ListOrderItems, RequestMeta]>; listOrderItemsByNextToken(nextToken: NextToken<'ListOrderItems'>): Promise<[ListOrderItems, RequestMeta]>; getServiceStatus(): Promise<[{ Status: import("../parsing").ServiceStatus; Timestamp: string; }, RequestMeta]>; }