/**
 * Hyperledger Cactus API
 * Interact with a Cactus deployment through HTTP.
 *
 * The version of the OpenAPI document: 2.0.0-rc.1
 *
 *
 * 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, AxiosRequestConfig } from 'axios';
import type { RequestArgs } from './base';
import { BaseAPI } from './base';
/**
 *
 * @export
 * @interface HealthCheckResponse
 */
export interface HealthCheckResponse {
    /**
     *
     * @type {boolean}
     * @memberof HealthCheckResponse
     */
    'success'?: boolean;
    /**
     *
     * @type {string}
     * @memberof HealthCheckResponse
     */
    'createdAt': string;
    /**
     *
     * @type {MemoryUsage}
     * @memberof HealthCheckResponse
     */
    'memoryUsage': MemoryUsage;
}
/**
 *
 * @export
 * @interface MemoryUsage
 */
export interface MemoryUsage {
    /**
     *
     * @type {number}
     * @memberof MemoryUsage
     */
    'rss'?: number;
    /**
     *
     * @type {number}
     * @memberof MemoryUsage
     */
    'heapTotal'?: number;
    /**
     *
     * @type {number}
     * @memberof MemoryUsage
     */
    'heapUsed'?: number;
    /**
     *
     * @type {number}
     * @memberof MemoryUsage
     */
    'external'?: number;
    /**
     *
     * @type {number}
     * @memberof MemoryUsage
     */
    'arrayBuffers'?: number;
}
/**
 *
 * @export
 * @enum {string}
 */
export declare const WatchHealthcheckV1: {
    readonly Subscribe: "org.hyperledger.cactus.api.async.besu.WatchHealthcheckV1.Subscribe";
    readonly Next: "org.hyperledger.cactus.api.async.besu.WatchHealthcheckV1.Next";
    readonly Unsubscribe: "org.hyperledger.cactus.api.async.besu.WatchHealthcheckV1.Unsubscribe";
    readonly Error: "org.hyperledger.cactus.api.async.besu.WatchHealthcheckV1.Error";
    readonly Complete: "org.hyperledger.cactus.api.async.besu.WatchHealthcheckV1.Complete";
};
export type WatchHealthcheckV1 = typeof WatchHealthcheckV1[keyof typeof WatchHealthcheckV1];
/**
 * DefaultApi - axios parameter creator
 * @export
 */
export declare const DefaultApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Returns the current timestamp of the API server as proof of health/liveness
     * @summary Can be used to verify liveness of an API server instance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getHealthCheckV1: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     * Returns the openapi.json document of specific plugin.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOpenApiSpecV1: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary Get the Prometheus Metrics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPrometheusMetricsV1: (options?: AxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * DefaultApi - functional programming interface
 * @export
 */
export declare const DefaultApiFp: (configuration?: Configuration) => {
    /**
     * Returns the current timestamp of the API server as proof of health/liveness
     * @summary Can be used to verify liveness of an API server instance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getHealthCheckV1(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<HealthCheckResponse>>;
    /**
     * Returns the openapi.json document of specific plugin.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOpenApiSpecV1(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
    /**
     *
     * @summary Get the Prometheus Metrics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPrometheusMetricsV1(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>>;
};
/**
 * DefaultApi - factory interface
 * @export
 */
export declare const DefaultApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Returns the current timestamp of the API server as proof of health/liveness
     * @summary Can be used to verify liveness of an API server instance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getHealthCheckV1(options?: any): AxiosPromise<HealthCheckResponse>;
    /**
     * Returns the openapi.json document of specific plugin.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOpenApiSpecV1(options?: any): AxiosPromise<string>;
    /**
     *
     * @summary Get the Prometheus Metrics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getPrometheusMetricsV1(options?: any): AxiosPromise<string>;
};
/**
 * DefaultApi - object-oriented interface
 * @export
 * @class DefaultApi
 * @extends {BaseAPI}
 */
export declare class DefaultApi extends BaseAPI {
    /**
     * Returns the current timestamp of the API server as proof of health/liveness
     * @summary Can be used to verify liveness of an API server instance
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    getHealthCheckV1(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<HealthCheckResponse, any>>;
    /**
     * Returns the openapi.json document of specific plugin.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    getOpenApiSpecV1(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
    /**
     *
     * @summary Get the Prometheus Metrics
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    getPrometheusMetricsV1(options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<string, any>>;
}
