import { Codec, GetType } from 'purify-ts'; import { HttpClient, RequestMeta } from '../http'; export interface ESDimensions { Length: number; Width: number; Height: number; Unit: string; Name?: string; [key: string]: string | number | undefined; } export interface ESWeight { Value: number; Unit: string; [key: string]: string | number; } export interface ListPickupSlotsParameters { MarketplaceId: string; AmazonOrderId: string; PackageDimensions: ESDimensions; PackageWeight: ESWeight; } export declare const ListPickupSlots: Codec<{ AmazonOrderId: string; PickupSlotList: { SlotId: string; PickupTimeStart: Date; PickupTimeEnd: Date; }[]; }>; export declare type ListPickupSlots = GetType; export interface ESItem { OrderItemId: string; OrderItemSerialNumberList: string[]; } export interface PickupSlot { SlotId: string; PickupTimeStart: Date; PickupTimeEnd: Date; } export interface PackageRequestDetails { PackageDimensions?: ESDimensions; PackageWeight?: ESWeight; PackageItemList?: ESItem[]; PackagePickupSlot: PickupSlot; PackageIdentifier?: string; } export interface CreateScheduledPackageParameters { AmazonOrderId: string; MarketplaceId: string; PackageRequestDetails: PackageRequestDetails; } export declare const CreateScheduledPackage: Codec<{ ScheduledPackage: { ScheduledPackageId: { AmazonOrderId: string; PackageId: string | undefined; }; PackageDimensions: { Length: number; Width: number; Height: number; Unit: string; Name: string | undefined; }; PackageWeight: { Value: number; Unit: string; }; PackageItemsList: { OrderItemId: string; OrderItemSerialNumberList: string[]; }[] | undefined; PackagePickupSlot: { SlotId: string; PickupTimeStart: Date; PickupTimeEnd: Date; }; PackageIdentifier: string | undefined; Invoice: { InvoiceNumber: string; InvoiceDate: Date | undefined; } | undefined; PackageStatus: string | undefined; }; }>; export declare type CreateScheduledPackage = GetType; export interface ScheduledPackageId { AmazonOrderId: string; PackageId?: string; } export interface ScheduledPackageUpdateDetails { ScheduledPackageId: ScheduledPackageId; PackagePickupSlot: PickupSlot; } export interface UpdateScheduledPackagesParameters { MarketplaceId: string; ScheduledPackageUpdateDetailsList: ScheduledPackageUpdateDetails[]; } export declare const UpdateScheduledPackages: Codec<{ ScheduledPackageList: { ScheduledPackageId: { AmazonOrderId: string; PackageId: string | undefined; }; PackageDimensions: { Length: number; Width: number; Height: number; Unit: string; Name: string | undefined; }; PackageWeight: { Value: number; Unit: string; }; PackageItemsList: { OrderItemId: string; OrderItemSerialNumberList: string[]; }[] | undefined; PackagePickupSlot: { SlotId: string; PickupTimeStart: Date; PickupTimeEnd: Date; }; PackageIdentifier: string | undefined; Invoice: { InvoiceNumber: string; InvoiceDate: Date | undefined; } | undefined; PackageStatus: string | undefined; }[]; }>; export declare type UpdateScheduledPackages = GetType; export interface GetScheduledPackageParameters { ScheduledPackageId: ScheduledPackageId; MarketplaceId: string; } export declare const GetScheduledPackage: Codec<{ ScheduledPackage: { ScheduledPackageId: { AmazonOrderId: string; PackageId: string | undefined; }; PackageDimensions: { Length: number; Width: number; Height: number; Unit: string; Name: string | undefined; }; PackageWeight: { Value: number; Unit: string; }; PackageItemsList: { OrderItemId: string; OrderItemSerialNumberList: string[]; }[] | undefined; PackagePickupSlot: { SlotId: string; PickupTimeStart: Date; PickupTimeEnd: Date; }; PackageIdentifier: string | undefined; Invoice: { InvoiceNumber: string; InvoiceDate: Date | undefined; } | undefined; PackageStatus: string | undefined; }; }>; export declare type GetScheduledPackage = GetType; export declare class EasyShip { private httpClient; constructor(httpClient: HttpClient); getScheduledPackage(parameters: GetScheduledPackageParameters): Promise<[GetScheduledPackage, RequestMeta]>; updateScheduledPackages(parameters: UpdateScheduledPackagesParameters): Promise<[UpdateScheduledPackages, RequestMeta]>; createScheduledPackage(parameters: CreateScheduledPackageParameters): Promise<[CreateScheduledPackage, RequestMeta]>; listPickupSlots(parameters: ListPickupSlotsParameters): Promise<[ListPickupSlots, RequestMeta]>; getServiceStatus(): Promise<[{ Status: import("../parsing").ServiceStatus; Timestamp: string; }, RequestMeta]>; }