import { RequireOnlyOne } from '../types'; export interface FOSAddress { Name: string; Line1: string; Line2?: string; Line3?: string; DistrictOrCounty?: string; City?: string; StateOrProvinceCode: string; CountryCode: string; PostalCode?: string; PhoneNumber?: string; [key: string]: string | undefined; } export interface GetFulfillmentPreviewItem { SellerSKU: string; SellerFulfillmentOrderItemId: string; Quantity: number; } export declare enum ShippingSpeedCategoryEnum { 'Standard' = 0, 'Expedited' = 1, 'Priority' = 2, 'ScheduledDelivery' = 3 } export declare type ShippingSpeedCategory = keyof typeof ShippingSpeedCategoryEnum; export interface GetFulfillmentPreviewParameters { MarketplaceId?: string; Address: FOSAddress; Items: GetFulfillmentPreviewItem[]; ShippingSpeedCategories?: ShippingSpeedCategory[]; IncludeCODFulfillmentPreview?: boolean; IncludeDeliveryWindows?: boolean; } export declare const canonicalizeGetFulfillmentPreviewParameters: (parameters: GetFulfillmentPreviewParameters) => { MarketplaceId: string | undefined; Address: FOSAddress; 'Items.member': GetFulfillmentPreviewItem[]; 'ShippingSpeedCategories.member': ("Standard" | "Expedited" | "Priority" | "ScheduledDelivery")[] | undefined; IncludeCODFulfillmentPreview: boolean | undefined; IncludeDeliveryWindows: boolean | undefined; }; export declare enum FISWeightUnitEnum { 'kilograms' = 0, 'pounds' = 1 } export declare enum FISFeeTypesEnum { 'FBAPerUnitFulfillmentFee' = 0, 'FBAPerOrderFulfillmentFee' = 1, 'FBATransportationFee' = 2, 'FBAFulfillmentCODFee' = 3 } export declare enum FulfillmentActionEnum { 'Ship' = 0, 'Hold' = 1 } export declare type FulfillmentAction = keyof typeof FulfillmentActionEnum; export declare enum FulfillmentPolicyEnum { 'FillOrKill' = 0, 'FillAll' = 1, 'FillAllAvailable' = 2 } export declare type FulfillmentPolicy = keyof typeof FulfillmentPolicyEnum; export interface FISCurrency { CurrencyCode: string; Value: string; [key: string]: string; } export interface CreateFulfillmentOrderItem { SellerSKU: string; SellerFulfillmentOrderItemId: string; Quantity: number; GiftMessage?: string; DisplayableComment?: string; FulfillmentNetworkSKU?: string; PerUnitDeclaredValue?: FISCurrency; PerUnitPrice?: FISCurrency; PerUnitTax?: FISCurrency; } export interface CODSettings { IsCODRequired?: boolean; CODCharge?: FISCurrency; CODChargeTax?: FISCurrency; ShippingCharge?: FISCurrency; ShippingChargeTax?: FISCurrency; [key: string]: boolean | undefined | FISCurrency; } export interface DeliveryWindow { StartDateTime: Date; EndDateTime: Date; } export interface CreateFulfillmentOrderParameters { MarketplaceId?: string; SellerFulfillmentOrderId: string; FulfillmentAction?: FulfillmentAction; DisplayableOrderId: string; DisplayableOrderDateTime: Date; DisplayableOrderComment: string; ShippingSpeedCategory: ShippingSpeedCategory; DestinationAddress: FOSAddress; FulfillmentPolicy?: FulfillmentPolicy; NotificationEmailList?: string[]; CODSettings?: CODSettings; Items: CreateFulfillmentOrderItem[]; DeliveryWindow?: DeliveryWindow; } export declare const canonicalizeCreateFulfillmentOrderParameters: (parameters: CreateFulfillmentOrderParameters) => { MarketplaceId: string | undefined; SellerFulfillmentOrderId: string; FulfillmentAction: "Ship" | "Hold" | undefined; DisplayableOrderId: string; DisplayableOrderDateTime: string; DisplayableOrderComment: string; ShippingSpeedCategory: "Standard" | "Expedited" | "Priority" | "ScheduledDelivery"; DestinationAddress: FOSAddress; FulfillmentPolicy: "FillOrKill" | "FillAll" | "FillAllAvailable" | undefined; 'NotificationEmailList.member': string[] | undefined; CODSettings: CODSettings | undefined; 'Items.member': CreateFulfillmentOrderItem[]; DeliveryWindow: { StartDateTime: string; EndDateTime: string; } | undefined; }; export interface UpdateFulfillmentOrderItem { SellerFulfillmentOrderItemId: string; Quantity: number; GiftMessage?: string; DisplayableComment?: string; PerUnitDeclaredValue?: FISCurrency; PerUnitPrice?: FISCurrency; PerUnitTax?: FISCurrency; } export interface UpdateFulfillmentOrderParameters { MarketplaceId?: string; SellerFulfillmentOrderId: string; FulfillmentAction?: FulfillmentAction; DisplayableOrderId?: string; DisplayableOrderDateTime?: Date; DisplayableOrderComment?: string; ShippingSpeedCategory?: ShippingSpeedCategory; DestinationAddress?: FOSAddress; FulfillmentPolicy?: FulfillmentPolicy; NotificationEmailList?: string[]; Items?: UpdateFulfillmentOrderItem[]; } export declare const canonicalizeUpdateFulfillmentOrderParameters: (parameters: UpdateFulfillmentOrderParameters) => { MarketplaceId: string | undefined; SellerFulfillmentOrderId: string; FulfillmentAction: "Ship" | "Hold" | undefined; DisplayableOrderId: string | undefined; DisplayableOrderDateTime: string | undefined; DisplayableOrderComment: string | undefined; ShippingSpeedCategory: "Standard" | "Expedited" | "Priority" | "ScheduledDelivery" | undefined; DestinationAddress: FOSAddress | undefined; FulfillmentPolicy: "FillOrKill" | "FillAll" | "FillAllAvailable" | undefined; 'NotificationEmailList.member': string[] | undefined; 'Items.member': UpdateFulfillmentOrderItem[] | undefined; }; export interface ListAllFulfillmentOrdersParameters { QueryStartDateTime?: Date; } export interface GetFulfillmentOrderParameters { SellerFulfillmentOrderId: string; } export interface GetPackageTrackingDetailsParameters { PackageNumber: number; } export interface CancelFulfillmentOrderParameters { SellerFulfillmentOrderId: string; } export declare type ListReturnReasonCodesParameters = RequireOnlyOne<{ MarketplaceId?: string; SellerFulfillmentOrderId?: string; SellerSKU: string; Language?: string; }, 'MarketplaceId' | 'SellerFulfillmentOrderId'>; export interface CreateReturnItem { SellerReturnItemId: string; SellerFulfillmentOrderItemId: string; AmazonShipmentId: string; ReturnReasonCode: string; ReturnComment?: string; } export interface CreateFulfillmentReturnParameters { SellerFulfillmentOrderId: string; Items: CreateReturnItem[]; }