/**
 * 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 { OrderCheckOrderRequest } from '../models';
import type { OrderCheckOrderResponse } from '../models';
import type { OrderGetAllInfoResponse } from '../models';
/**
 * OrderServiceApi - axios parameter creator
 */
export declare const OrderServiceApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Returns  price and availability of an order for a given amount and project
     * @param {OrderCheckOrderRequest} orderCheckOrderRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkOrder: (orderCheckOrderRequest: OrderCheckOrderRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Returns all existing orders that belong to an organisation
     * @param {string} [cursor] Marks the last item return in the previous page. Use this to walk through paginated orders
     * @param {string} [limit] Determines number of orders to return per page
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllOrders: (cursor?: string, limit?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * OrderServiceApi - functional programming interface
 */
export declare const OrderServiceApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Returns  price and availability of an order for a given amount and project
     * @param {OrderCheckOrderRequest} orderCheckOrderRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkOrder(orderCheckOrderRequest: OrderCheckOrderRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderCheckOrderResponse>>;
    /**
     *
     * @summary Returns all existing orders that belong to an organisation
     * @param {string} [cursor] Marks the last item return in the previous page. Use this to walk through paginated orders
     * @param {string} [limit] Determines number of orders to return per page
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllOrders(cursor?: string, limit?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrderGetAllInfoResponse>>;
};
/**
 * OrderServiceApi - factory interface
 */
export declare const OrderServiceApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Returns  price and availability of an order for a given amount and project
     * @param {OrderServiceApiCheckOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkOrder(requestParameters: OrderServiceApiCheckOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrderCheckOrderResponse>;
    /**
     *
     * @summary Returns all existing orders that belong to an organisation
     * @param {OrderServiceApiGetAllOrdersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllOrders(requestParameters?: OrderServiceApiGetAllOrdersRequest, options?: RawAxiosRequestConfig): AxiosPromise<OrderGetAllInfoResponse>;
};
/**
 * Request parameters for checkOrder operation in OrderServiceApi.
 */
export interface OrderServiceApiCheckOrderRequest {
    readonly orderCheckOrderRequest: OrderCheckOrderRequest;
}
/**
 * Request parameters for getAllOrders operation in OrderServiceApi.
 */
export interface OrderServiceApiGetAllOrdersRequest {
    /**
     * Marks the last item return in the previous page. Use this to walk through paginated orders
     */
    readonly cursor?: string;
    /**
     * Determines number of orders to return per page
     */
    readonly limit?: string;
}
/**
 * OrderServiceApi - object-oriented interface
 */
export declare class OrderServiceApi extends BaseAPI {
    /**
     *
     * @summary Returns  price and availability of an order for a given amount and project
     * @param {OrderServiceApiCheckOrderRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    checkOrder(requestParameters: OrderServiceApiCheckOrderRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderCheckOrderResponse, any, {}>>;
    /**
     *
     * @summary Returns all existing orders that belong to an organisation
     * @param {OrderServiceApiGetAllOrdersRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getAllOrders(requestParameters?: OrderServiceApiGetAllOrdersRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<OrderGetAllInfoResponse, any, {}>>;
}
