/**
 * 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 { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID } from '../models';
import { SupermodelIoLogisticsExpressUploadInvoiceDataResponse } from '../models';
/**
 * InvoiceApi - axios parameter creator
 * @export
 */
export declare const InvoiceApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * ## Upload invoice data The upload invoice data service can be used to upload Commerical Invoice data without Shipment Identification Number for your DHL Express shipment. Customer can provide Commercial Invoice data before Shipment Data via Create Shipment flow or vice versa.  Important Note: UploadInvoiceData service is not enabled by default and must be requested per customer.Use of this service is only enabled on exceptional basis and DHL Express recommends to submit shipment requests together with a commercial invoice data. To enable use of UploadInvoiceData service, please contact your DHL Express IT representative. To use UploadInvoiceData service, it is required that \"PM\" service code is provided in MyDHL API Create Shipment request. \"PM\" service code is not enabled by default for the customers, and needs to be enabled upon request.  When Shipment is created via MyDHL API Create Shipment service before uploading the Commercial Invoice (CIN) data,it is mandatory to provide the Shipment Identification Number as received in MyDHL API Create Shipment service Response. When Commercial Invoice (CIN) data is uploaded prior to creating a shipment via MyDHL API Create Shipment service, it is  mandatory to provide Invoice Reference Number with Invoice Reference Type value \"CU\" and Shipper Account Number.  These elements are mandatory to facilitate an effective data merge of the Commercial Invoice (CIN) data with Shipment Data. As an output customer will receive Notification element value '0' on successful upload of Commercial Invoice (CIN) data. DHL backend application performs the subsequent data merging process of the Shipment Data and Commercial Invoice data.
     * @summary Upload Commercial invoice data
     * @param {SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID} body Details about the Commercial Invoice data to be uploaded
     * @param {string} [messageReference] Please provide message reference
     * @param {string} [messageReferenceDate] Optional reference date in the  HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2
     * @param {string} [pluginName] Please provide name of the plugin (applicable to 3PV only)
     * @param {string} [pluginVersion] Please provide version of the plugin (applicable to 3PV only)
     * @param {string} [shippingSystemPlatformName] Please provide name of the shipping platform(applicable to 3PV only)
     * @param {string} [shippingSystemPlatformVersion] Please provide version of the shipping platform (applicable to 3PV only)
     * @param {string} [webstorePlatformName] Please provide name of the webstore platform (applicable to 3PV only)
     * @param {string} [webstorePlatformVersion] Please provide version of the webstore platform (applicable to 3PV only)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    expApiShipmentsInvoiceData: (body: SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID, messageReference?: string, messageReferenceDate?: string, pluginName?: string, pluginVersion?: string, shippingSystemPlatformName?: string, shippingSystemPlatformVersion?: string, webstorePlatformName?: string, webstorePlatformVersion?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * InvoiceApi - functional programming interface
 * @export
 */
export declare const InvoiceApiFp: (configuration?: Configuration) => {
    /**
     * ## Upload invoice data The upload invoice data service can be used to upload Commerical Invoice data without Shipment Identification Number for your DHL Express shipment. Customer can provide Commercial Invoice data before Shipment Data via Create Shipment flow or vice versa.  Important Note: UploadInvoiceData service is not enabled by default and must be requested per customer.Use of this service is only enabled on exceptional basis and DHL Express recommends to submit shipment requests together with a commercial invoice data. To enable use of UploadInvoiceData service, please contact your DHL Express IT representative. To use UploadInvoiceData service, it is required that \"PM\" service code is provided in MyDHL API Create Shipment request. \"PM\" service code is not enabled by default for the customers, and needs to be enabled upon request.  When Shipment is created via MyDHL API Create Shipment service before uploading the Commercial Invoice (CIN) data,it is mandatory to provide the Shipment Identification Number as received in MyDHL API Create Shipment service Response. When Commercial Invoice (CIN) data is uploaded prior to creating a shipment via MyDHL API Create Shipment service, it is  mandatory to provide Invoice Reference Number with Invoice Reference Type value \"CU\" and Shipper Account Number.  These elements are mandatory to facilitate an effective data merge of the Commercial Invoice (CIN) data with Shipment Data. As an output customer will receive Notification element value '0' on successful upload of Commercial Invoice (CIN) data. DHL backend application performs the subsequent data merging process of the Shipment Data and Commercial Invoice data.
     * @summary Upload Commercial invoice data
     * @param {SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID} body Details about the Commercial Invoice data to be uploaded
     * @param {string} [messageReference] Please provide message reference
     * @param {string} [messageReferenceDate] Optional reference date in the  HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2
     * @param {string} [pluginName] Please provide name of the plugin (applicable to 3PV only)
     * @param {string} [pluginVersion] Please provide version of the plugin (applicable to 3PV only)
     * @param {string} [shippingSystemPlatformName] Please provide name of the shipping platform(applicable to 3PV only)
     * @param {string} [shippingSystemPlatformVersion] Please provide version of the shipping platform (applicable to 3PV only)
     * @param {string} [webstorePlatformName] Please provide name of the webstore platform (applicable to 3PV only)
     * @param {string} [webstorePlatformVersion] Please provide version of the webstore platform (applicable to 3PV only)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    expApiShipmentsInvoiceData(body: SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID, messageReference?: string, messageReferenceDate?: string, pluginName?: string, pluginVersion?: string, shippingSystemPlatformName?: string, shippingSystemPlatformVersion?: string, webstorePlatformName?: string, webstorePlatformVersion?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<SupermodelIoLogisticsExpressUploadInvoiceDataResponse>>>;
};
/**
 * InvoiceApi - factory interface
 * @export
 */
export declare const InvoiceApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * ## Upload invoice data The upload invoice data service can be used to upload Commerical Invoice data without Shipment Identification Number for your DHL Express shipment. Customer can provide Commercial Invoice data before Shipment Data via Create Shipment flow or vice versa.  Important Note: UploadInvoiceData service is not enabled by default and must be requested per customer.Use of this service is only enabled on exceptional basis and DHL Express recommends to submit shipment requests together with a commercial invoice data. To enable use of UploadInvoiceData service, please contact your DHL Express IT representative. To use UploadInvoiceData service, it is required that \"PM\" service code is provided in MyDHL API Create Shipment request. \"PM\" service code is not enabled by default for the customers, and needs to be enabled upon request.  When Shipment is created via MyDHL API Create Shipment service before uploading the Commercial Invoice (CIN) data,it is mandatory to provide the Shipment Identification Number as received in MyDHL API Create Shipment service Response. When Commercial Invoice (CIN) data is uploaded prior to creating a shipment via MyDHL API Create Shipment service, it is  mandatory to provide Invoice Reference Number with Invoice Reference Type value \"CU\" and Shipper Account Number.  These elements are mandatory to facilitate an effective data merge of the Commercial Invoice (CIN) data with Shipment Data. As an output customer will receive Notification element value '0' on successful upload of Commercial Invoice (CIN) data. DHL backend application performs the subsequent data merging process of the Shipment Data and Commercial Invoice data.
     * @summary Upload Commercial invoice data
     * @param {SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID} body Details about the Commercial Invoice data to be uploaded
     * @param {string} [messageReference] Please provide message reference
     * @param {string} [messageReferenceDate] Optional reference date in the  HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2
     * @param {string} [pluginName] Please provide name of the plugin (applicable to 3PV only)
     * @param {string} [pluginVersion] Please provide version of the plugin (applicable to 3PV only)
     * @param {string} [shippingSystemPlatformName] Please provide name of the shipping platform(applicable to 3PV only)
     * @param {string} [shippingSystemPlatformVersion] Please provide version of the shipping platform (applicable to 3PV only)
     * @param {string} [webstorePlatformName] Please provide name of the webstore platform (applicable to 3PV only)
     * @param {string} [webstorePlatformVersion] Please provide version of the webstore platform (applicable to 3PV only)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    expApiShipmentsInvoiceData(body: SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID, messageReference?: string, messageReferenceDate?: string, pluginName?: string, pluginVersion?: string, shippingSystemPlatformName?: string, shippingSystemPlatformVersion?: string, webstorePlatformName?: string, webstorePlatformVersion?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<SupermodelIoLogisticsExpressUploadInvoiceDataResponse>>;
};
/**
 * InvoiceApi - object-oriented interface
 * @export
 * @class InvoiceApi
 * @extends {BaseAPI}
 */
export declare class InvoiceApi extends BaseAPI {
    /**
     * ## Upload invoice data The upload invoice data service can be used to upload Commerical Invoice data without Shipment Identification Number for your DHL Express shipment. Customer can provide Commercial Invoice data before Shipment Data via Create Shipment flow or vice versa.  Important Note: UploadInvoiceData service is not enabled by default and must be requested per customer.Use of this service is only enabled on exceptional basis and DHL Express recommends to submit shipment requests together with a commercial invoice data. To enable use of UploadInvoiceData service, please contact your DHL Express IT representative. To use UploadInvoiceData service, it is required that \"PM\" service code is provided in MyDHL API Create Shipment request. \"PM\" service code is not enabled by default for the customers, and needs to be enabled upon request.  When Shipment is created via MyDHL API Create Shipment service before uploading the Commercial Invoice (CIN) data,it is mandatory to provide the Shipment Identification Number as received in MyDHL API Create Shipment service Response. When Commercial Invoice (CIN) data is uploaded prior to creating a shipment via MyDHL API Create Shipment service, it is  mandatory to provide Invoice Reference Number with Invoice Reference Type value \"CU\" and Shipper Account Number.  These elements are mandatory to facilitate an effective data merge of the Commercial Invoice (CIN) data with Shipment Data. As an output customer will receive Notification element value '0' on successful upload of Commercial Invoice (CIN) data. DHL backend application performs the subsequent data merging process of the Shipment Data and Commercial Invoice data.
     * @summary Upload Commercial invoice data
     * @param {SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID} body Details about the Commercial Invoice data to be uploaded
     * @param {string} [messageReference] Please provide message reference
     * @param {string} [messageReferenceDate] Optional reference date in the  HTTP-date format https://tools.ietf.org/html/rfc7231#section-7.1.1.2
     * @param {string} [pluginName] Please provide name of the plugin (applicable to 3PV only)
     * @param {string} [pluginVersion] Please provide version of the plugin (applicable to 3PV only)
     * @param {string} [shippingSystemPlatformName] Please provide name of the shipping platform(applicable to 3PV only)
     * @param {string} [shippingSystemPlatformVersion] Please provide version of the shipping platform (applicable to 3PV only)
     * @param {string} [webstorePlatformName] Please provide name of the webstore platform (applicable to 3PV only)
     * @param {string} [webstorePlatformVersion] Please provide version of the webstore platform (applicable to 3PV only)
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof InvoiceApi
     */
    expApiShipmentsInvoiceData(body: SupermodelIoLogisticsExpressUploadInvoiceDataRequestSID, messageReference?: string, messageReferenceDate?: string, pluginName?: string, pluginVersion?: string, shippingSystemPlatformName?: string, shippingSystemPlatformVersion?: string, webstorePlatformName?: string, webstorePlatformVersion?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<SupermodelIoLogisticsExpressUploadInvoiceDataResponse>>;
}
