/**
 * Cardano Wallet Backend API
 * <p align=\"right\"><img style=\"position: relative; top: -10em; margin-bottom: -12em;\" width=\"20%\" src=\"https://cardanodocs.com/img/cardano.png\"></img></p>
 *
 * OpenAPI spec version: 2021.3.4
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { AxiosPromise, AxiosInstance } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { ApiMaintenanceActionPostData } from '../models';
import { ApiWalletPassphrase } from '../models';
import { ApiStakePool } from '../models';
import { ApiMaintenanceAction } from '../models';
import { ApiFee } from '../models';
import { ApiTransaction } from '../models';
/**
 * StakePoolsApi - axios parameter creator
 * @export
 */
export declare const StakePoolsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Estimate fee for joining or leaving a stake pool. Note that it is an estimation because a delegation induces a transaction for which coins have to be selected randomly within the wallet. Because of this randomness, fees can only be estimated.
     * @summary Estimate Fee
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getDelegationFee: (walletId: string, options?: any) => Promise<RequestArgs>;
    /**
     * Returns the current status of the stake pools maintenance actions.
     * @summary View maintenance actions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getMaintenanceActions: (options?: any) => Promise<RequestArgs>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Delegate all (current and future) addresses from the given wallet to the given stake pool.  <strong>Note:</strong> Bech32-encoded stake pool identifiers can vary in length.
     * @summary Join
     * @param {ApiWalletPassphrase} body
     * @param {string} stakePoolId
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    joinStakePool: (body: ApiWalletPassphrase, stakePoolId: string, walletId: string, options?: any) => Promise<RequestArgs>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  List all known stake pools ordered by descending `non_myopic_member_rewards`. The `non_myopic_member_rewards` — and thus the ordering — depends on the `?stake` query parameter.  Some pools _may_ also have metadata attached to them.
     * @summary List
     * @param {number} stake The stake the user intends to delegate in Lovelace. Required.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listStakePools: (stake: number, options?: any) => Promise<RequestArgs>;
    /**
     * Performs maintenance actions on stake pools, such as triggering metadata garbage collection.  Actions may not be instantaneous.
     * @summary Trigger Maintenance actions
     * @param {ApiMaintenanceActionPostData} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postMaintenanceAction: (body: ApiMaintenanceActionPostData, options?: any) => Promise<RequestArgs>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Stop delegating completely. The wallet's stake will become inactive.  > ⚠️  Disclaimer ⚠️ > > This endpoint historically use to take a stake pool id as a path parameter. > However, retiring from delegation is ubiquitous and not tight to a particular > stake pool. For backward-compatibility reasons, sending stake pool ids as path > parameter will still be accepted by the server but new integrations are > encouraged to provide a placeholder asterisk `*` instead.
     * @summary Quit
     * @param {ApiWalletPassphrase} body
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    quitStakePool: (body: ApiWalletPassphrase, walletId: string, options?: any) => Promise<RequestArgs>;
};
/**
 * StakePoolsApi - functional programming interface
 * @export
 */
export declare const StakePoolsApiFp: (configuration?: Configuration) => {
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Estimate fee for joining or leaving a stake pool. Note that it is an estimation because a delegation induces a transaction for which coins have to be selected randomly within the wallet. Because of this randomness, fees can only be estimated.
     * @summary Estimate Fee
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getDelegationFee(walletId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiFee>>;
    /**
     * Returns the current status of the stake pools maintenance actions.
     * @summary View maintenance actions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getMaintenanceActions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiMaintenanceAction>>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Delegate all (current and future) addresses from the given wallet to the given stake pool.  <strong>Note:</strong> Bech32-encoded stake pool identifiers can vary in length.
     * @summary Join
     * @param {ApiWalletPassphrase} body
     * @param {string} stakePoolId
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    joinStakePool(body: ApiWalletPassphrase, stakePoolId: string, walletId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiTransaction>>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  List all known stake pools ordered by descending `non_myopic_member_rewards`. The `non_myopic_member_rewards` — and thus the ordering — depends on the `?stake` query parameter.  Some pools _may_ also have metadata attached to them.
     * @summary List
     * @param {number} stake The stake the user intends to delegate in Lovelace. Required.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listStakePools(stake: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ApiStakePool>>>;
    /**
     * Performs maintenance actions on stake pools, such as triggering metadata garbage collection.  Actions may not be instantaneous.
     * @summary Trigger Maintenance actions
     * @param {ApiMaintenanceActionPostData} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postMaintenanceAction(body: ApiMaintenanceActionPostData, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Stop delegating completely. The wallet's stake will become inactive.  > ⚠️  Disclaimer ⚠️ > > This endpoint historically use to take a stake pool id as a path parameter. > However, retiring from delegation is ubiquitous and not tight to a particular > stake pool. For backward-compatibility reasons, sending stake pool ids as path > parameter will still be accepted by the server but new integrations are > encouraged to provide a placeholder asterisk `*` instead.
     * @summary Quit
     * @param {ApiWalletPassphrase} body
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    quitStakePool(body: ApiWalletPassphrase, walletId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiTransaction>>;
};
/**
 * StakePoolsApi - factory interface
 * @export
 */
export declare const StakePoolsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Estimate fee for joining or leaving a stake pool. Note that it is an estimation because a delegation induces a transaction for which coins have to be selected randomly within the wallet. Because of this randomness, fees can only be estimated.
     * @summary Estimate Fee
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getDelegationFee(walletId: string, options?: any): AxiosPromise<ApiFee>;
    /**
     * Returns the current status of the stake pools maintenance actions.
     * @summary View maintenance actions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getMaintenanceActions(options?: any): AxiosPromise<ApiMaintenanceAction>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Delegate all (current and future) addresses from the given wallet to the given stake pool.  <strong>Note:</strong> Bech32-encoded stake pool identifiers can vary in length.
     * @summary Join
     * @param {ApiWalletPassphrase} body
     * @param {string} stakePoolId
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    joinStakePool(body: ApiWalletPassphrase, stakePoolId: string, walletId: string, options?: any): AxiosPromise<ApiTransaction>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  List all known stake pools ordered by descending `non_myopic_member_rewards`. The `non_myopic_member_rewards` — and thus the ordering — depends on the `?stake` query parameter.  Some pools _may_ also have metadata attached to them.
     * @summary List
     * @param {number} stake The stake the user intends to delegate in Lovelace. Required.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    listStakePools(stake: number, options?: any): AxiosPromise<Array<ApiStakePool>>;
    /**
     * Performs maintenance actions on stake pools, such as triggering metadata garbage collection.  Actions may not be instantaneous.
     * @summary Trigger Maintenance actions
     * @param {ApiMaintenanceActionPostData} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    postMaintenanceAction(body: ApiMaintenanceActionPostData, options?: any): AxiosPromise<void>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Stop delegating completely. The wallet's stake will become inactive.  > ⚠️  Disclaimer ⚠️ > > This endpoint historically use to take a stake pool id as a path parameter. > However, retiring from delegation is ubiquitous and not tight to a particular > stake pool. For backward-compatibility reasons, sending stake pool ids as path > parameter will still be accepted by the server but new integrations are > encouraged to provide a placeholder asterisk `*` instead.
     * @summary Quit
     * @param {ApiWalletPassphrase} body
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    quitStakePool(body: ApiWalletPassphrase, walletId: string, options?: any): AxiosPromise<ApiTransaction>;
};
/**
 * StakePoolsApi - object-oriented interface
 * @export
 * @class StakePoolsApi
 * @extends {BaseAPI}
 */
export declare class StakePoolsApi extends BaseAPI {
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Estimate fee for joining or leaving a stake pool. Note that it is an estimation because a delegation induces a transaction for which coins have to be selected randomly within the wallet. Because of this randomness, fees can only be estimated.
     * @summary Estimate Fee
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StakePoolsApi
     */
    getDelegationFee(walletId: string, options?: any): Promise<import("axios").AxiosResponse<ApiFee>>;
    /**
     * Returns the current status of the stake pools maintenance actions.
     * @summary View maintenance actions
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StakePoolsApi
     */
    getMaintenanceActions(options?: any): Promise<import("axios").AxiosResponse<ApiMaintenanceAction>>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Delegate all (current and future) addresses from the given wallet to the given stake pool.  <strong>Note:</strong> Bech32-encoded stake pool identifiers can vary in length.
     * @summary Join
     * @param {ApiWalletPassphrase} body
     * @param {string} stakePoolId
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StakePoolsApi
     */
    joinStakePool(body: ApiWalletPassphrase, stakePoolId: string, walletId: string, options?: any): Promise<import("axios").AxiosResponse<ApiTransaction>>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  List all known stake pools ordered by descending `non_myopic_member_rewards`. The `non_myopic_member_rewards` — and thus the ordering — depends on the `?stake` query parameter.  Some pools _may_ also have metadata attached to them.
     * @summary List
     * @param {number} stake The stake the user intends to delegate in Lovelace. Required.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StakePoolsApi
     */
    listStakePools(stake: number, options?: any): Promise<import("axios").AxiosResponse<ApiStakePool[]>>;
    /**
     * Performs maintenance actions on stake pools, such as triggering metadata garbage collection.  Actions may not be instantaneous.
     * @summary Trigger Maintenance actions
     * @param {ApiMaintenanceActionPostData} body
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StakePoolsApi
     */
    postMaintenanceAction(body: ApiMaintenanceActionPostData, options?: any): Promise<import("axios").AxiosResponse<void>>;
    /**
     * <p align=\"right\">status: <strong>stable</strong></p>  Stop delegating completely. The wallet's stake will become inactive.  > ⚠️  Disclaimer ⚠️ > > This endpoint historically use to take a stake pool id as a path parameter. > However, retiring from delegation is ubiquitous and not tight to a particular > stake pool. For backward-compatibility reasons, sending stake pool ids as path > parameter will still be accepted by the server but new integrations are > encouraged to provide a placeholder asterisk `*` instead.
     * @summary Quit
     * @param {ApiWalletPassphrase} body
     * @param {string} walletId
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof StakePoolsApi
     */
    quitStakePool(body: ApiWalletPassphrase, walletId: string, options?: any): Promise<import("axios").AxiosResponse<ApiTransaction>>;
}
