/**
 * 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 { AirTravelRequest } from '../models';
import type { CarRentalRequest } from '../models';
import type { FormulaCalculationResponse } from '../models';
import type { HotelStayRequest } from '../models';
import type { RailTravelRequest } from '../models';
import type { RoadTravelRequest } from '../models';
/**
 * CalculationServiceTravelApi - axios parameter creator
 */
export declare const CalculationServiceTravelApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Calculate passenger air travel emissions
     * @param {AirTravelRequest} airTravelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    airTravel: (airTravelRequest: AirTravelRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate emissions with car rental
     * @param {CarRentalRequest} carRentalRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    carRentalTravel: (carRentalRequest: CarRentalRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate hotel stay emissions
     * @param {HotelStayRequest} hotelStayRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    hotelStayTravel: (hotelStayRequest: HotelStayRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate passenger rail travel emissions
     * @param {RailTravelRequest} railTravelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    railTravel: (railTravelRequest: RailTravelRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate road travel emissions
     * @param {RoadTravelRequest} roadTravelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    roadTravel: (roadTravelRequest: RoadTravelRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * CalculationServiceTravelApi - functional programming interface
 */
export declare const CalculationServiceTravelApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Calculate passenger air travel emissions
     * @param {AirTravelRequest} airTravelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    airTravel(airTravelRequest: AirTravelRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FormulaCalculationResponse>>;
    /**
     *
     * @summary Calculate emissions with car rental
     * @param {CarRentalRequest} carRentalRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    carRentalTravel(carRentalRequest: CarRentalRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FormulaCalculationResponse>>;
    /**
     *
     * @summary Calculate hotel stay emissions
     * @param {HotelStayRequest} hotelStayRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    hotelStayTravel(hotelStayRequest: HotelStayRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FormulaCalculationResponse>>;
    /**
     *
     * @summary Calculate passenger rail travel emissions
     * @param {RailTravelRequest} railTravelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    railTravel(railTravelRequest: RailTravelRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FormulaCalculationResponse>>;
    /**
     *
     * @summary Calculate road travel emissions
     * @param {RoadTravelRequest} roadTravelRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    roadTravel(roadTravelRequest: RoadTravelRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FormulaCalculationResponse>>;
};
/**
 * CalculationServiceTravelApi - factory interface
 */
export declare const CalculationServiceTravelApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Calculate passenger air travel emissions
     * @param {CalculationServiceTravelApiAirTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    airTravel(requestParameters: CalculationServiceTravelApiAirTravelRequest, options?: RawAxiosRequestConfig): AxiosPromise<FormulaCalculationResponse>;
    /**
     *
     * @summary Calculate emissions with car rental
     * @param {CalculationServiceTravelApiCarRentalTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    carRentalTravel(requestParameters: CalculationServiceTravelApiCarRentalTravelRequest, options?: RawAxiosRequestConfig): AxiosPromise<FormulaCalculationResponse>;
    /**
     *
     * @summary Calculate hotel stay emissions
     * @param {CalculationServiceTravelApiHotelStayTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    hotelStayTravel(requestParameters: CalculationServiceTravelApiHotelStayTravelRequest, options?: RawAxiosRequestConfig): AxiosPromise<FormulaCalculationResponse>;
    /**
     *
     * @summary Calculate passenger rail travel emissions
     * @param {CalculationServiceTravelApiRailTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    railTravel(requestParameters: CalculationServiceTravelApiRailTravelRequest, options?: RawAxiosRequestConfig): AxiosPromise<FormulaCalculationResponse>;
    /**
     *
     * @summary Calculate road travel emissions
     * @param {CalculationServiceTravelApiRoadTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    roadTravel(requestParameters: CalculationServiceTravelApiRoadTravelRequest, options?: RawAxiosRequestConfig): AxiosPromise<FormulaCalculationResponse>;
};
/**
 * Request parameters for airTravel operation in CalculationServiceTravelApi.
 */
export interface CalculationServiceTravelApiAirTravelRequest {
    readonly airTravelRequest: AirTravelRequest;
}
/**
 * Request parameters for carRentalTravel operation in CalculationServiceTravelApi.
 */
export interface CalculationServiceTravelApiCarRentalTravelRequest {
    readonly carRentalRequest: CarRentalRequest;
}
/**
 * Request parameters for hotelStayTravel operation in CalculationServiceTravelApi.
 */
export interface CalculationServiceTravelApiHotelStayTravelRequest {
    readonly hotelStayRequest: HotelStayRequest;
}
/**
 * Request parameters for railTravel operation in CalculationServiceTravelApi.
 */
export interface CalculationServiceTravelApiRailTravelRequest {
    readonly railTravelRequest: RailTravelRequest;
}
/**
 * Request parameters for roadTravel operation in CalculationServiceTravelApi.
 */
export interface CalculationServiceTravelApiRoadTravelRequest {
    readonly roadTravelRequest: RoadTravelRequest;
}
/**
 * CalculationServiceTravelApi - object-oriented interface
 */
export declare class CalculationServiceTravelApi extends BaseAPI {
    /**
     *
     * @summary Calculate passenger air travel emissions
     * @param {CalculationServiceTravelApiAirTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    airTravel(requestParameters: CalculationServiceTravelApiAirTravelRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FormulaCalculationResponse, any, {}>>;
    /**
     *
     * @summary Calculate emissions with car rental
     * @param {CalculationServiceTravelApiCarRentalTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    carRentalTravel(requestParameters: CalculationServiceTravelApiCarRentalTravelRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FormulaCalculationResponse, any, {}>>;
    /**
     *
     * @summary Calculate hotel stay emissions
     * @param {CalculationServiceTravelApiHotelStayTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    hotelStayTravel(requestParameters: CalculationServiceTravelApiHotelStayTravelRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FormulaCalculationResponse, any, {}>>;
    /**
     *
     * @summary Calculate passenger rail travel emissions
     * @param {CalculationServiceTravelApiRailTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    railTravel(requestParameters: CalculationServiceTravelApiRailTravelRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FormulaCalculationResponse, any, {}>>;
    /**
     *
     * @summary Calculate road travel emissions
     * @param {CalculationServiceTravelApiRoadTravelRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    roadTravel(requestParameters: CalculationServiceTravelApiRoadTravelRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FormulaCalculationResponse, any, {}>>;
}
