/**
 * ClimatePartner API Order Service
 * A Unified API for all ClimatePartner products
 *
 * The version of the OpenAPI document: 1.3.0
 *
 *
 * 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 { OrderDeleteInfoResponse } from '../models';
import type { OrderGetInfoResponse } from '../models';
import type { OrderIndividualBatchRequest } from '../models';
import type { OrderIndividualBatchResponse } from '../models';
import type { OrderRequest } from '../models';
import type { OrderResponse } from '../models';
import type { OrderUpdateIndividualOrderRequest } from '../models';
/**
 * OrderServiceIndividualOrdersApi - axios parameter creator
 */
export declare const OrderServiceIndividualOrdersApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Create several orders for scheduled processing
     * @param {OrderIndividualBatchRequest} orderIndividualBatchRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createBatchIndividualOrder: (orderIndividualBatchRequest: OrderIndividualBatchRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Creates a order for scheduled processing
     * @param {OrderRequest} orderRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createIndividualOrder: (orderRequest: OrderRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Deletes an existing order by {orderId}
     * @param {string} orderId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteIndividualOrder: (orderId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Returns the existing order {orderId}
     * @param {string} orderId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getIndividualOrder: (orderId: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Updates an existing order by {orderId}
     * @param {string} orderId
     * @param {OrderUpdateIndividualOrderRequest} orderUpdateIndividualOrderRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateIndividualOrder: (orderId: string, orderUpdateIndividualOrderRequest: OrderUpdateIndividualOrderRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * OrderServiceIndividualOrdersApi - functional programming interface
 */
export declare const OrderServiceIndividualOrdersApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Create several orders for scheduled processing
     * @param {OrderIndividualBatchRequest} orderIndividualBatchRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createBatchIndividualOrder(orderIndividualBatchRequest: OrderIndividualBatchRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderIndividualBatchResponse>>;
    /**
     *
     * @summary Creates a order for scheduled processing
     * @param {OrderRequest} orderRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createIndividualOrder(orderRequest: OrderRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderResponse>>;
    /**
     *
     * @summary Deletes an existing order by {orderId}
     * @param {string} orderId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteIndividualOrder(orderId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderDeleteInfoResponse>>;
    /**
     *
     * @summary Returns the existing order {orderId}
     * @param {string} orderId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getIndividualOrder(orderId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderGetInfoResponse>>;
    /**
     *
     * @summary Updates an existing order by {orderId}
     * @param {string} orderId
     * @param {OrderUpdateIndividualOrderRequest} orderUpdateIndividualOrderRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateIndividualOrder(orderId: string, orderUpdateIndividualOrderRequest: OrderUpdateIndividualOrderRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderResponse>>;
};
/**
 * OrderServiceIndividualOrdersApi - factory interface
 */
export declare const OrderServiceIndividualOrdersApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Create several orders for scheduled processing
     * @param {OrderServiceIndividualOrdersApiCreateBatchIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createBatchIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiCreateBatchIndividualOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrderIndividualBatchResponse>;
    /**
     *
     * @summary Creates a order for scheduled processing
     * @param {OrderServiceIndividualOrdersApiCreateIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiCreateIndividualOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrderResponse>;
    /**
     *
     * @summary Deletes an existing order by {orderId}
     * @param {OrderServiceIndividualOrdersApiDeleteIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiDeleteIndividualOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrderDeleteInfoResponse>;
    /**
     *
     * @summary Returns the existing order {orderId}
     * @param {OrderServiceIndividualOrdersApiGetIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiGetIndividualOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrderGetInfoResponse>;
    /**
     *
     * @summary Updates an existing order by {orderId}
     * @param {OrderServiceIndividualOrdersApiUpdateIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiUpdateIndividualOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrderResponse>;
};
/**
 * Request parameters for createBatchIndividualOrder operation in OrderServiceIndividualOrdersApi.
 */
export interface OrderServiceIndividualOrdersApiCreateBatchIndividualOrderRequest {
    readonly orderIndividualBatchRequest: OrderIndividualBatchRequest;
}
/**
 * Request parameters for createIndividualOrder operation in OrderServiceIndividualOrdersApi.
 */
export interface OrderServiceIndividualOrdersApiCreateIndividualOrderRequest {
    readonly orderRequest: OrderRequest;
}
/**
 * Request parameters for deleteIndividualOrder operation in OrderServiceIndividualOrdersApi.
 */
export interface OrderServiceIndividualOrdersApiDeleteIndividualOrderRequest {
    readonly orderId: string;
}
/**
 * Request parameters for getIndividualOrder operation in OrderServiceIndividualOrdersApi.
 */
export interface OrderServiceIndividualOrdersApiGetIndividualOrderRequest {
    readonly orderId: string;
}
/**
 * Request parameters for updateIndividualOrder operation in OrderServiceIndividualOrdersApi.
 */
export interface OrderServiceIndividualOrdersApiUpdateIndividualOrderRequest {
    readonly orderId: string;
    readonly orderUpdateIndividualOrderRequest: OrderUpdateIndividualOrderRequest;
}
/**
 * OrderServiceIndividualOrdersApi - object-oriented interface
 */
export declare class OrderServiceIndividualOrdersApi extends BaseAPI {
    /**
     *
     * @summary Create several orders for scheduled processing
     * @param {OrderServiceIndividualOrdersApiCreateBatchIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createBatchIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiCreateBatchIndividualOrderRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderIndividualBatchResponse, any, {}>>;
    /**
     *
     * @summary Creates a order for scheduled processing
     * @param {OrderServiceIndividualOrdersApiCreateIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiCreateIndividualOrderRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderResponse, any, {}>>;
    /**
     *
     * @summary Deletes an existing order by {orderId}
     * @param {OrderServiceIndividualOrdersApiDeleteIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiDeleteIndividualOrderRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderDeleteInfoResponse, any, {}>>;
    /**
     *
     * @summary Returns the existing order {orderId}
     * @param {OrderServiceIndividualOrdersApiGetIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiGetIndividualOrderRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderGetInfoResponse, any, {}>>;
    /**
     *
     * @summary Updates an existing order by {orderId}
     * @param {OrderServiceIndividualOrdersApiUpdateIndividualOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateIndividualOrder(requestParameters: OrderServiceIndividualOrdersApiUpdateIndividualOrderRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderResponse, any, {}>>;
}
