/**
 * DHL Express APIs (MyDHL API)
 * Welcome to the official DHL Express APIs (MyDHL API) below are the published API Documentation to fulfill your shipping needs with DHL Express.       Please follow the process described [here](https://developer.dhl.com/api-reference/dhl-express-mydhl-api#get-started-section/user-guide--get-access) to request access to the DHL Express - MyDHL API services    In case you already have DHL Express - MyDHL API Service credentials please ensure to use the endpoints/environments listed  [here](https://developer.dhl.com/api-reference/dhl-express-mydhl-api#get-started-section/user-guide--environments)
 *
 * OpenAPI spec version: 2.4.0
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { SupermodelIoLogisticsExpressAccount } from './supermodel-io-logistics-express-account';
import { SupermodelIoLogisticsExpressLandedCostRequestCharges } from './supermodel-io-logistics-express-landed-cost-request-charges';
import { SupermodelIoLogisticsExpressLandedCostRequestCustomerDetails } from './supermodel-io-logistics-express-landed-cost-request-customer-details';
import { SupermodelIoLogisticsExpressLandedCostRequestItems } from './supermodel-io-logistics-express-landed-cost-request-items';
import { SupermodelIoLogisticsExpressPackageRR } from './supermodel-io-logistics-express-package-rr';
/**
 * Landed cost request model description
 * @export
 * @interface SupermodelIoLogisticsExpressLandedCostRequest
 */
export interface SupermodelIoLogisticsExpressLandedCostRequest {
    /**
     *
     * @type {SupermodelIoLogisticsExpressLandedCostRequestCustomerDetails}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    customerDetails: SupermodelIoLogisticsExpressLandedCostRequestCustomerDetails;
    /**
     * Please enter all the DHL Express accounts and types to be used for this shipment
     * @type {Array<SupermodelIoLogisticsExpressAccount>}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    accounts: Array<SupermodelIoLogisticsExpressAccount>;
    /**
     * Please enter DHL Express Global Product code
     * @type {string}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    productCode?: string;
    /**
     * Please enter DHL Express Local Product code
     * @type {string}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    localProductCode?: string;
    /**
     * Please enter Unit of measurement - metric,imperial
     * @type {string}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    unitOfMeasurement: SupermodelIoLogisticsExpressLandedCostRequestUnitOfMeasurementEnum;
    /**
     * Currency code for the item price (the product being sold) and freight charge. The Landed Cost calculation result will be returned in this defined currency
     * @type {string}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    currencyCode: string;
    /**
     * Set this to true is shipment contains declarable content
     * @type {boolean}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    isCustomsDeclarable: boolean;
    /**
     * Set this to true if you want DHL EXpress product Duties and Taxes Paid outside shipment destination
     * @type {boolean}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    isDTPRequested?: boolean;
    /**
     * Set this true if you ask for DHL Express insurance service
     * @type {boolean}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    isInsuranceRequested?: boolean;
    /**
     * Allowed values 'true' - item cost breakdown will be returned, 'false' - item cost breakdown will not be returned
     * @type {boolean}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    getCostBreakdown: boolean;
    /**
     * Please provide any additional charges you would like to include in total cost calculation
     * @type {Array<SupermodelIoLogisticsExpressLandedCostRequestCharges>}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    charges?: Array<SupermodelIoLogisticsExpressLandedCostRequestCharges>;
    /**
     * Possible values:<br>      commercial: B2B<br>      personal: B2C<br>      commercia': B2B<br>      personal: B2C
     * @type {string}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    shipmentPurpose?: SupermodelIoLogisticsExpressLandedCostRequestShipmentPurposeEnum;
    /**
     *
     * @type {string}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    transportationMode?: SupermodelIoLogisticsExpressLandedCostRequestTransportationModeEnum;
    /**
     * Carrier being used to ship with. Allowed values are:<br>      'DHL','UPS','FEDEX','TNT','POST',<br>      'OTHERS'
     * @type {string}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    merchantSelectedCarrierName?: SupermodelIoLogisticsExpressLandedCostRequestMerchantSelectedCarrierNameEnum;
    /**
     * Here you can define properties per package
     * @type {Array<SupermodelIoLogisticsExpressPackageRR>}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    packages: Array<SupermodelIoLogisticsExpressPackageRR>;
    /**
     *
     * @type {Array<SupermodelIoLogisticsExpressLandedCostRequestItems>}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    items: Array<SupermodelIoLogisticsExpressLandedCostRequestItems>;
    /**
     * Allowed values 'true' - tariff formula on item and shipment level will be returned, 'false' - tariff formula on item and shipment level will not be returned
     * @type {boolean}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    getTariffFormula?: boolean;
    /**
     * Allowed values 'true' - quotation ID on shipment level will be returned, 'false' - quotation ID on shipment level will not be returned
     * @type {boolean}
     * @memberof SupermodelIoLogisticsExpressLandedCostRequest
     */
    getQuotationID?: boolean;
}
/**
    * @export
    * @enum {string}
    */
export declare enum SupermodelIoLogisticsExpressLandedCostRequestUnitOfMeasurementEnum {
    Metric = "metric",
    Imperial = "imperial"
}
/**
    * @export
    * @enum {string}
    */
export declare enum SupermodelIoLogisticsExpressLandedCostRequestShipmentPurposeEnum {
    Commercial = "commercial",
    Personal = "personal"
}
/**
    * @export
    * @enum {string}
    */
export declare enum SupermodelIoLogisticsExpressLandedCostRequestTransportationModeEnum {
    Air = "air",
    Ocean = "ocean",
    Ground = "ground"
}
/**
    * @export
    * @enum {string}
    */
export declare enum SupermodelIoLogisticsExpressLandedCostRequestMerchantSelectedCarrierNameEnum {
    DHL = "DHL",
    UPS = "UPS",
    FEDEX = "FEDEX",
    TNT = "TNT",
    POST = "POST",
    OTHERS = "OTHERS"
}
