/**
 * 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 { FormulaCalculationResponse } from '../models';
import type { PPPMaterialWeightBatchRequest } from '../models';
import type { PPPMaterialWeightBatchResponse } from '../models';
import type { PPPMaterialWeightRequest } from '../models';
import type { PPPPaperDimensionRequest } from '../models';
/**
 * CalculationServicePrintPaperPackagingPublishingApi - axios parameter creator
 */
export declare const CalculationServicePrintPaperPackagingPublishingApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product
     * @param {PPPMaterialWeightRequest} pPPMaterialWeightRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeight: (pPPMaterialWeightRequest: PPPMaterialWeightRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product in a batch
     * @param {PPPMaterialWeightBatchRequest} pPPMaterialWeightBatchRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeightBatch: (pPPMaterialWeightBatchRequest: PPPMaterialWeightBatchRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Calculate paper emissions by dimensions of the product
     * @param {PPPPaperDimensionRequest} pPPPaperDimensionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppPaperDimension: (pPPPaperDimensionRequest: PPPPaperDimensionRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * CalculationServicePrintPaperPackagingPublishingApi - functional programming interface
 */
export declare const CalculationServicePrintPaperPackagingPublishingApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product
     * @param {PPPMaterialWeightRequest} pPPMaterialWeightRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeight(pPPMaterialWeightRequest: PPPMaterialWeightRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FormulaCalculationResponse>>;
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product in a batch
     * @param {PPPMaterialWeightBatchRequest} pPPMaterialWeightBatchRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeightBatch(pPPMaterialWeightBatchRequest: PPPMaterialWeightBatchRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PPPMaterialWeightBatchResponse>>;
    /**
     *
     * @summary Calculate paper emissions by dimensions of the product
     * @param {PPPPaperDimensionRequest} pPPPaperDimensionRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppPaperDimension(pPPPaperDimensionRequest: PPPPaperDimensionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FormulaCalculationResponse>>;
};
/**
 * CalculationServicePrintPaperPackagingPublishingApi - factory interface
 */
export declare const CalculationServicePrintPaperPackagingPublishingApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product
     * @param {CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeight(requestParameters: CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightRequest, options?: RawAxiosRequestConfig): AxiosPromise<FormulaCalculationResponse>;
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product in a batch
     * @param {CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightBatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeightBatch(requestParameters: CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightBatchRequest, options?: RawAxiosRequestConfig): AxiosPromise<PPPMaterialWeightBatchResponse>;
    /**
     *
     * @summary Calculate paper emissions by dimensions of the product
     * @param {CalculationServicePrintPaperPackagingPublishingApiPppPaperDimensionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppPaperDimension(requestParameters: CalculationServicePrintPaperPackagingPublishingApiPppPaperDimensionRequest, options?: RawAxiosRequestConfig): AxiosPromise<FormulaCalculationResponse>;
};
/**
 * Request parameters for pppMaterialWeight operation in CalculationServicePrintPaperPackagingPublishingApi.
 */
export interface CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightRequest {
    readonly pPPMaterialWeightRequest: PPPMaterialWeightRequest;
}
/**
 * Request parameters for pppMaterialWeightBatch operation in CalculationServicePrintPaperPackagingPublishingApi.
 */
export interface CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightBatchRequest {
    readonly pPPMaterialWeightBatchRequest: PPPMaterialWeightBatchRequest;
}
/**
 * Request parameters for pppPaperDimension operation in CalculationServicePrintPaperPackagingPublishingApi.
 */
export interface CalculationServicePrintPaperPackagingPublishingApiPppPaperDimensionRequest {
    readonly pPPPaperDimensionRequest: PPPPaperDimensionRequest;
}
/**
 * CalculationServicePrintPaperPackagingPublishingApi - object-oriented interface
 */
export declare class CalculationServicePrintPaperPackagingPublishingApi extends BaseAPI {
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product
     * @param {CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeight(requestParameters: CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FormulaCalculationResponse, any, {}>>;
    /**
     *
     * @summary Calculate print, paper, packaging & publishing emissions by weight of the product in a batch
     * @param {CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightBatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppMaterialWeightBatch(requestParameters: CalculationServicePrintPaperPackagingPublishingApiPppMaterialWeightBatchRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PPPMaterialWeightBatchResponse, any, {}>>;
    /**
     *
     * @summary Calculate paper emissions by dimensions of the product
     * @param {CalculationServicePrintPaperPackagingPublishingApiPppPaperDimensionRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    pppPaperDimension(requestParameters: CalculationServicePrintPaperPackagingPublishingApiPppPaperDimensionRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<FormulaCalculationResponse, any, {}>>;
}
