/**
 * ClimatePartner API Calculation Service
 * A Unified API for all ClimatePartner products
 *
 * The version of the OpenAPI document: 1.6.4
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { CalculationRequest } from '../models';
import type { CalculationResponse } from '../models';
import type { EcotransitBatchPostResponse } from '../models';
import type { EcotransitBatchRequest } from '../models';
import type { EcotransitBatchStatusResponse } from '../models';
import type { EcotransitCalculationRequest } from '../models';
import type { EcotransitCalculationResponse } from '../models';
/**
 * CalculationServiceLogisticsApi - axios parameter creator
 */
export declare const CalculationServiceLogisticsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {EcotransitBatchRequest} ecotransitBatchRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchCalculation: (ecotransitBatchRequest: EcotransitBatchRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get batch calculation status
     * @param {string} batchId Batch ID
     * @param {string} [cursor] Marks the last item returned on the previous page
     * @param {string} [limit] Determines number of items to return per page
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchStatus: (batchId: string, cursor?: string, limit?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate CO2 emissions for logistics using EcoTransIT
     * @param {EcotransitCalculationRequest} ecotransitCalculationRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitCalculation: (ecotransitCalculationRequest: EcotransitCalculationRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {CalculationRequest} calculationRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    transportTotalEmissions: (calculationRequest: CalculationRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * CalculationServiceLogisticsApi - functional programming interface
 */
export declare const CalculationServiceLogisticsApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {EcotransitBatchRequest} ecotransitBatchRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchCalculation(ecotransitBatchRequest: EcotransitBatchRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EcotransitBatchPostResponse>>;
    /**
     *
     * @summary Get batch calculation status
     * @param {string} batchId Batch ID
     * @param {string} [cursor] Marks the last item returned on the previous page
     * @param {string} [limit] Determines number of items to return per page
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchStatus(batchId: string, cursor?: string, limit?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EcotransitBatchStatusResponse>>;
    /**
     *
     * @summary Calculate CO2 emissions for logistics using EcoTransIT
     * @param {EcotransitCalculationRequest} ecotransitCalculationRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitCalculation(ecotransitCalculationRequest: EcotransitCalculationRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<EcotransitCalculationResponse>>;
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {CalculationRequest} calculationRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    transportTotalEmissions(calculationRequest: CalculationRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CalculationResponse>>;
};
/**
 * CalculationServiceLogisticsApi - factory interface
 */
export declare const CalculationServiceLogisticsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {CalculationServiceLogisticsApiEcotransitBatchCalculationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchCalculation(requestParameters: CalculationServiceLogisticsApiEcotransitBatchCalculationRequest, options?: RawAxiosRequestConfig): AxiosPromise<EcotransitBatchPostResponse>;
    /**
     *
     * @summary Get batch calculation status
     * @param {CalculationServiceLogisticsApiEcotransitBatchStatusRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchStatus(requestParameters: CalculationServiceLogisticsApiEcotransitBatchStatusRequest, options?: RawAxiosRequestConfig): AxiosPromise<EcotransitBatchStatusResponse>;
    /**
     *
     * @summary Calculate CO2 emissions for logistics using EcoTransIT
     * @param {CalculationServiceLogisticsApiEcotransitCalculationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitCalculation(requestParameters: CalculationServiceLogisticsApiEcotransitCalculationRequest, options?: RawAxiosRequestConfig): AxiosPromise<EcotransitCalculationResponse>;
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {CalculationServiceLogisticsApiTransportTotalEmissionsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    transportTotalEmissions(requestParameters: CalculationServiceLogisticsApiTransportTotalEmissionsRequest, options?: RawAxiosRequestConfig): AxiosPromise<CalculationResponse>;
};
/**
 * Request parameters for ecotransitBatchCalculation operation in CalculationServiceLogisticsApi.
 */
export interface CalculationServiceLogisticsApiEcotransitBatchCalculationRequest {
    readonly ecotransitBatchRequest: EcotransitBatchRequest;
}
/**
 * Request parameters for ecotransitBatchStatus operation in CalculationServiceLogisticsApi.
 */
export interface CalculationServiceLogisticsApiEcotransitBatchStatusRequest {
    /**
     * Batch ID
     */
    readonly batchId: string;
    /**
     * Marks the last item returned on the previous page
     */
    readonly cursor?: string;
    /**
     * Determines number of items to return per page
     */
    readonly limit?: string;
}
/**
 * Request parameters for ecotransitCalculation operation in CalculationServiceLogisticsApi.
 */
export interface CalculationServiceLogisticsApiEcotransitCalculationRequest {
    readonly ecotransitCalculationRequest: EcotransitCalculationRequest;
}
/**
 * Request parameters for transportTotalEmissions operation in CalculationServiceLogisticsApi.
 */
export interface CalculationServiceLogisticsApiTransportTotalEmissionsRequest {
    readonly calculationRequest: CalculationRequest;
}
/**
 * CalculationServiceLogisticsApi - object-oriented interface
 */
export declare class CalculationServiceLogisticsApi extends BaseAPI {
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {CalculationServiceLogisticsApiEcotransitBatchCalculationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchCalculation(requestParameters: CalculationServiceLogisticsApiEcotransitBatchCalculationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EcotransitBatchPostResponse, any, {}>>;
    /**
     *
     * @summary Get batch calculation status
     * @param {CalculationServiceLogisticsApiEcotransitBatchStatusRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitBatchStatus(requestParameters: CalculationServiceLogisticsApiEcotransitBatchStatusRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EcotransitBatchStatusResponse, any, {}>>;
    /**
     *
     * @summary Calculate CO2 emissions for logistics using EcoTransIT
     * @param {CalculationServiceLogisticsApiEcotransitCalculationRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    ecotransitCalculation(requestParameters: CalculationServiceLogisticsApiEcotransitCalculationRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<EcotransitCalculationResponse, any, {}>>;
    /**
     *
     * @summary Calculate CO2 emissions for transport
     * @param {CalculationServiceLogisticsApiTransportTotalEmissionsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    transportTotalEmissions(requestParameters: CalculationServiceLogisticsApiTransportTotalEmissionsRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CalculationResponse, any, {}>>;
}
