import { Configuration } from '../configuration';
import { SupermodelIoLogisticsExpressAddressValidateResponse } from '../models/SupermodelIoLogisticsExpressAddressValidateResponse';
import { SupermodelIoLogisticsExpressCreateShipmentRequest } from '../models/SupermodelIoLogisticsExpressCreateShipmentRequest';
import { SupermodelIoLogisticsExpressCreateShipmentResponse } from '../models/SupermodelIoLogisticsExpressCreateShipmentResponse';
import { SupermodelIoLogisticsExpressDocumentImageResponse } from '../models/SupermodelIoLogisticsExpressDocumentImageResponse';
import { SupermodelIoLogisticsExpressEPODResponse } from '../models/SupermodelIoLogisticsExpressEPODResponse';
import { SupermodelIoLogisticsExpressIdentifierResponse } from '../models/SupermodelIoLogisticsExpressIdentifierResponse';
import { SupermodelIoLogisticsExpressImageUploadRequest } from '../models/SupermodelIoLogisticsExpressImageUploadRequest';
import { SupermodelIoLogisticsExpressLandedCostRequest } from '../models/SupermodelIoLogisticsExpressLandedCostRequest';
import { SupermodelIoLogisticsExpressPickupRequest } from '../models/SupermodelIoLogisticsExpressPickupRequest';
import { SupermodelIoLogisticsExpressPickupResponse } from '../models/SupermodelIoLogisticsExpressPickupResponse';
import { SupermodelIoLogisticsExpressProducts } from '../models/SupermodelIoLogisticsExpressProducts';
import { SupermodelIoLogisticsExpressRateRequest } from '../models/SupermodelIoLogisticsExpressRateRequest';
import { SupermodelIoLogisticsExpressRates } from '../models/SupermodelIoLogisticsExpressRates';
import { SupermodelIoLogisticsExpressTrackingResponse } from '../models/SupermodelIoLogisticsExpressTrackingResponse';
import { SupermodelIoLogisticsExpressUpdatePickupRequest } from '../models/SupermodelIoLogisticsExpressUpdatePickupRequest';
import { SupermodelIoLogisticsExpressUpdatePickupResponse } from '../models/SupermodelIoLogisticsExpressUpdatePickupResponse';
import { SupermodelIoLogisticsExpressUploadInvoiceDataRequest } from '../models/SupermodelIoLogisticsExpressUploadInvoiceDataRequest';
import { SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID } from '../models/SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID';
import { SupermodelIoLogisticsExpressUploadInvoiceDataResponse } from '../models/SupermodelIoLogisticsExpressUploadInvoiceDataResponse';
import { AddressApiRequestFactory, AddressApiResponseProcessor } from "../apis/AddressApi";
export interface AddressApiExpApiAddressValidateRequest {
    type: 'pickup' | 'delivery';
    countryCode: string;
    postalCode?: string;
    cityName?: string;
    strictValidation?: boolean;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectAddressApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: AddressApiRequestFactory, responseProcessor?: AddressApiResponseProcessor);
    expApiAddressValidate(param: AddressApiExpApiAddressValidateRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressAddressValidateResponse>;
}
import { IdentifierApiRequestFactory, IdentifierApiResponseProcessor } from "../apis/IdentifierApi";
export interface IdentifierApiExpApiIdentifiersRequest {
    accountNumber: string;
    type: 'SID' | 'PID' | 'ASID3' | 'ASID6' | 'ASID12' | 'ASID24' | 'HUID';
    size: string;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectIdentifierApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: IdentifierApiRequestFactory, responseProcessor?: IdentifierApiResponseProcessor);
    expApiIdentifiers(param: IdentifierApiExpApiIdentifiersRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressIdentifierResponse>;
}
import { InvoiceApiRequestFactory, InvoiceApiResponseProcessor } from "../apis/InvoiceApi";
export interface InvoiceApiExpApiShipmentsInvoiceDataRequest {
    supermodelIoLogisticsExpressUploadInvoiceDataRequestSID: SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectInvoiceApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: InvoiceApiRequestFactory, responseProcessor?: InvoiceApiResponseProcessor);
    expApiShipmentsInvoiceData(param: InvoiceApiExpApiShipmentsInvoiceDataRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressUploadInvoiceDataResponse>;
}
import { PickupApiRequestFactory, PickupApiResponseProcessor } from "../apis/PickupApi";
export interface PickupApiExpApiPickupsRequest {
    supermodelIoLogisticsExpressPickupRequest: SupermodelIoLogisticsExpressPickupRequest;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface PickupApiExpApiPickupsCancelRequest {
    dispatchConfirmationNumber: string;
    requestorName: string;
    reason: string;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface PickupApiExpApiPickupsUpdateRequest {
    dispatchConfirmationNumber: string;
    supermodelIoLogisticsExpressUpdatePickupRequest: SupermodelIoLogisticsExpressUpdatePickupRequest;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectPickupApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: PickupApiRequestFactory, responseProcessor?: PickupApiResponseProcessor);
    expApiPickups(param: PickupApiExpApiPickupsRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressPickupResponse>;
    expApiPickupsCancel(param: PickupApiExpApiPickupsCancelRequest, options?: Configuration): Promise<void>;
    expApiPickupsUpdate(param: PickupApiExpApiPickupsUpdateRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressUpdatePickupResponse>;
}
import { ProductApiRequestFactory, ProductApiResponseProcessor } from "../apis/ProductApi";
export interface ProductApiExpApiProductsRequest {
    accountNumber: string;
    originCountryCode: string;
    originCityName: string;
    destinationCountryCode: string;
    destinationCityName: string;
    weight: number;
    length: number;
    width: number;
    height: number;
    plannedShippingDate: string;
    isCustomsDeclarable: boolean;
    unitOfMeasurement: 'metric' | 'imperial';
    originPostalCode?: string;
    destinationPostalCode?: string;
    nextBusinessDay?: boolean;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectProductApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: ProductApiRequestFactory, responseProcessor?: ProductApiResponseProcessor);
    expApiProducts(param: ProductApiExpApiProductsRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressProducts>;
}
import { RatingApiRequestFactory, RatingApiResponseProcessor } from "../apis/RatingApi";
export interface RatingApiExpApiLandedCostRequest {
    supermodelIoLogisticsExpressLandedCostRequest: SupermodelIoLogisticsExpressLandedCostRequest;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface RatingApiExpApiRatesRequest {
    accountNumber: string;
    originCountryCode: string;
    originCityName: string;
    destinationCountryCode: string;
    destinationCityName: string;
    weight: number;
    length: number;
    width: number;
    height: number;
    plannedShippingDate: string;
    isCustomsDeclarable: boolean;
    unitOfMeasurement: 'metric' | 'imperial';
    originPostalCode?: string;
    destinationPostalCode?: string;
    nextBusinessDay?: boolean;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface RatingApiExpApiRatesManyRequest {
    supermodelIoLogisticsExpressRateRequest: SupermodelIoLogisticsExpressRateRequest;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectRatingApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: RatingApiRequestFactory, responseProcessor?: RatingApiResponseProcessor);
    expApiLandedCost(param: RatingApiExpApiLandedCostRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressRates>;
    expApiRates(param: RatingApiExpApiRatesRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressRates>;
    expApiRatesMany(param: RatingApiExpApiRatesManyRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressRates>;
}
import { ShipmentApiRequestFactory, ShipmentApiResponseProcessor } from "../apis/ShipmentApi";
export interface ShipmentApiExpApiShipmentsRequest {
    supermodelIoLogisticsExpressCreateShipmentRequest: SupermodelIoLogisticsExpressCreateShipmentRequest;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface ShipmentApiExpApiShipmentsDocumentimageRequest {
    shipmentTrackingNumber: string;
    shipperAccountNumber: string;
    typeCode: 'waybill' | 'commercial-invoice' | 'customs-entry';
    pickupYearAndMonth: string;
    encodingFormat?: 'pdf' | 'tiff';
    allInOnePDF?: boolean;
    compressedPackage?: boolean;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface ShipmentApiExpApiShipmentsEpodRequest {
    shipmentTrackingNumber: string;
    shipperAccountNumber?: string;
    content?: 'epod-detail' | 'epod-summary' | 'epod-detail-esig' | 'epod-summary-esig' | 'epod-table';
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface ShipmentApiExpApiShipmentsImgUploadRequest {
    shipmentTrackingNumber: string;
    supermodelIoLogisticsExpressImageUploadRequest: SupermodelIoLogisticsExpressImageUploadRequest;
}
export interface ShipmentApiExpApiShipmentsInvoiceDataAwbRequest {
    shipmentTrackingNumber: string;
    supermodelIoLogisticsExpressUploadInvoiceDataRequest: SupermodelIoLogisticsExpressUploadInvoiceDataRequest;
    messageReference?: string;
    messageReferenceDate?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectShipmentApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: ShipmentApiRequestFactory, responseProcessor?: ShipmentApiResponseProcessor);
    expApiShipments(param: ShipmentApiExpApiShipmentsRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressCreateShipmentResponse>;
    expApiShipmentsDocumentimage(param: ShipmentApiExpApiShipmentsDocumentimageRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressDocumentImageResponse>;
    expApiShipmentsEpod(param: ShipmentApiExpApiShipmentsEpodRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressEPODResponse>;
    expApiShipmentsImgUpload(param: ShipmentApiExpApiShipmentsImgUploadRequest, options?: Configuration): Promise<void>;
    expApiShipmentsInvoiceDataAwb(param: ShipmentApiExpApiShipmentsInvoiceDataAwbRequest, options?: Configuration): Promise<void>;
}
import { TrackingApiRequestFactory, TrackingApiResponseProcessor } from "../apis/TrackingApi";
export interface TrackingApiExpApiShipmentsTrackingRequest {
    shipmentTrackingNumber: string;
    trackingView?: 'all-checkpoints' | 'last-checkpoint' | 'shipment-details-only' | 'advance-shipment' | 'bbx-children';
    levelOfDetail?: 'shipment' | 'piece' | 'all';
    messageReference?: string;
    messageReferenceDate?: string;
    acceptLanguage?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export interface TrackingApiExpApiShipmentsTrackingMultiRequest {
    shipmentTrackingNumber?: Array<string>;
    pieceTrackingNumber?: Array<string>;
    shipmentReference?: string;
    shipmentReferenceType?: string;
    shipperAccountNumber?: string;
    dateRangeFrom?: string;
    dateRangeTo?: string;
    trackingView?: 'all-checkpoints' | 'last-checkpoint' | 'shipment-details-only' | 'advance-shipment' | 'bbx-children';
    levelOfDetail?: 'shipment' | 'piece' | 'all';
    messageReference?: string;
    messageReferenceDate?: string;
    acceptLanguage?: string;
    pluginName?: string;
    pluginVersion?: string;
    shippingSystemPlatformName?: string;
    shippingSystemPlatformVersion?: string;
    webstorePlatformName?: string;
    webstorePlatformVersion?: string;
}
export declare class ObjectTrackingApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: TrackingApiRequestFactory, responseProcessor?: TrackingApiResponseProcessor);
    expApiShipmentsTracking(param: TrackingApiExpApiShipmentsTrackingRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressTrackingResponse>;
    expApiShipmentsTrackingMulti(param?: TrackingApiExpApiShipmentsTrackingMultiRequest, options?: Configuration): Promise<SupermodelIoLogisticsExpressTrackingResponse>;
}
