import { RestApiResponse, ConfigurationRestAPI } from '@binance/common';
export { BadRequestError, ConnectorClientError, ForbiddenError, NetworkError, NotFoundError, RateLimitBanError, RequiredError, STAKING_REST_API_PROD_URL, STAKING_REST_API_TESTNET_URL, ServerError, TooManyRequestsError, UnauthorizedError } from '@binance/common';

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface BadRequest
 */
interface BadRequest {
    /**
     *
     * @type {number}
     * @memberof BadRequest
     */
    code: number;
    /**
     *
     * @type {string}
     * @memberof BadRequest
     */
    message: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface ClaimBoostRewardsResponse
 */
interface ClaimBoostRewardsResponse {
    /**
     *
     * @type {boolean}
     * @memberof ClaimBoostRewardsResponse
     */
    success?: boolean;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface EthStakingAccountResponseHoldings
 */
interface EthStakingAccountResponseHoldings {
    /**
     *
     * @type {string}
     * @memberof EthStakingAccountResponseHoldings
     */
    wbethAmount?: string;
    /**
     *
     * @type {string}
     * @memberof EthStakingAccountResponseHoldings
     */
    bethAmount?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface EthStakingAccountResponseProfit
 */
interface EthStakingAccountResponseProfit {
    /**
     *
     * @type {string}
     * @memberof EthStakingAccountResponseProfit
     */
    amountFromWBETH?: string;
    /**
     *
     * @type {string}
     * @memberof EthStakingAccountResponseProfit
     */
    amountFromBETH?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface EthStakingAccountResponse
 */
interface EthStakingAccountResponse {
    /**
     *
     * @type {string}
     * @memberof EthStakingAccountResponse
     */
    holdingInETH?: string;
    /**
     *
     * @type {EthStakingAccountResponseHoldings}
     * @memberof EthStakingAccountResponse
     */
    holdings?: EthStakingAccountResponseHoldings;
    /**
     *
     * @type {string}
     * @memberof EthStakingAccountResponse
     */
    thirtyDaysProfitInETH?: string;
    /**
     *
     * @type {EthStakingAccountResponseProfit}
     * @memberof EthStakingAccountResponse
     */
    profit?: EthStakingAccountResponseProfit;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner
 */
interface GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner {
    /**
     *
     * @type {string}
     * @memberof GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner
     */
    boostAPR?: string;
    /**
     *
     * @type {string}
     * @memberof GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner
     */
    rewardsAsset?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetBnsolRateHistoryResponseRowsInner
 */
interface GetBnsolRateHistoryResponseRowsInner {
    /**
     *
     * @type {string}
     * @memberof GetBnsolRateHistoryResponseRowsInner
     */
    annualPercentageRate?: string;
    /**
     *
     * @type {string}
     * @memberof GetBnsolRateHistoryResponseRowsInner
     */
    exchangeRate?: string;
    /**
     *
     * @type {Array<GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner>}
     * @memberof GetBnsolRateHistoryResponseRowsInner
     */
    boostRewards?: Array<GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner>;
    /**
     *
     * @type {number}
     * @memberof GetBnsolRateHistoryResponseRowsInner
     */
    time?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetBnsolRateHistoryResponse
 */
interface GetBnsolRateHistoryResponse {
    /**
     *
     * @type {Array<GetBnsolRateHistoryResponseRowsInner>}
     * @memberof GetBnsolRateHistoryResponse
     */
    rows?: Array<GetBnsolRateHistoryResponseRowsInner>;
    /**
     *
     * @type {string}
     * @memberof GetBnsolRateHistoryResponse
     */
    total?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetBnsolRewardsHistoryResponseRowsInner
 */
interface GetBnsolRewardsHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetBnsolRewardsHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof GetBnsolRewardsHistoryResponseRowsInner
     */
    amountInSOL?: string;
    /**
     *
     * @type {string}
     * @memberof GetBnsolRewardsHistoryResponseRowsInner
     */
    holding?: string;
    /**
     *
     * @type {string}
     * @memberof GetBnsolRewardsHistoryResponseRowsInner
     */
    holdingInSOL?: string;
    /**
     *
     * @type {string}
     * @memberof GetBnsolRewardsHistoryResponseRowsInner
     */
    annualPercentageRate?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetBnsolRewardsHistoryResponse
 */
interface GetBnsolRewardsHistoryResponse {
    /**
     *
     * @type {string}
     * @memberof GetBnsolRewardsHistoryResponse
     */
    estRewardsInSOL?: string;
    /**
     *
     * @type {Array<GetBnsolRewardsHistoryResponseRowsInner>}
     * @memberof GetBnsolRewardsHistoryResponse
     */
    rows?: Array<GetBnsolRewardsHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetBnsolRewardsHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetBoostRewardsHistoryResponseRowsInner
 */
interface GetBoostRewardsHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetBoostRewardsHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof GetBoostRewardsHistoryResponseRowsInner
     */
    token?: string;
    /**
     *
     * @type {string}
     * @memberof GetBoostRewardsHistoryResponseRowsInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof GetBoostRewardsHistoryResponseRowsInner
     */
    bnsolHolding?: string;
    /**
     *
     * @type {string}
     * @memberof GetBoostRewardsHistoryResponseRowsInner
     */
    status?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetBoostRewardsHistoryResponse
 */
interface GetBoostRewardsHistoryResponse {
    /**
     *
     * @type {Array<GetBoostRewardsHistoryResponseRowsInner>}
     * @memberof GetBoostRewardsHistoryResponse
     */
    rows?: Array<GetBoostRewardsHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetBoostRewardsHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetCurrentEthStakingQuotaResponse
 */
interface GetCurrentEthStakingQuotaResponse {
    /**
     *
     * @type {string}
     * @memberof GetCurrentEthStakingQuotaResponse
     */
    leftStakingPersonalQuota?: string;
    /**
     *
     * @type {string}
     * @memberof GetCurrentEthStakingQuotaResponse
     */
    leftRedemptionPersonalQuota?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetEthRedemptionHistoryResponseRowsInner
 */
interface GetEthRedemptionHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {number}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    arrivalTime?: number;
    /**
     *
     * @type {string}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    asset?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    distributeAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    distributeAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    conversionRatio?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthRedemptionHistoryResponseRowsInner
     */
    status?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetEthRedemptionHistoryResponse
 */
interface GetEthRedemptionHistoryResponse {
    /**
     *
     * @type {Array<GetEthRedemptionHistoryResponseRowsInner>}
     * @memberof GetEthRedemptionHistoryResponse
     */
    rows?: Array<GetEthRedemptionHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetEthRedemptionHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetEthStakingHistoryResponseRowsInner
 */
interface GetEthStakingHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetEthStakingHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof GetEthStakingHistoryResponseRowsInner
     */
    asset?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthStakingHistoryResponseRowsInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthStakingHistoryResponseRowsInner
     */
    distributeAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthStakingHistoryResponseRowsInner
     */
    distributeAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthStakingHistoryResponseRowsInner
     */
    conversionRatio?: string;
    /**
     *
     * @type {string}
     * @memberof GetEthStakingHistoryResponseRowsInner
     */
    status?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetEthStakingHistoryResponse
 */
interface GetEthStakingHistoryResponse {
    /**
     *
     * @type {Array<GetEthStakingHistoryResponseRowsInner>}
     * @memberof GetEthStakingHistoryResponse
     */
    rows?: Array<GetEthStakingHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetEthStakingHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetSolRedemptionHistoryResponseRowsInner
 */
interface GetSolRedemptionHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {number}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    arrivalTime?: number;
    /**
     *
     * @type {string}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    asset?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    distributeAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    distributeAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    exchangeRate?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolRedemptionHistoryResponseRowsInner
     */
    status?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetSolRedemptionHistoryResponse
 */
interface GetSolRedemptionHistoryResponse {
    /**
     *
     * @type {Array<GetSolRedemptionHistoryResponseRowsInner>}
     * @memberof GetSolRedemptionHistoryResponse
     */
    rows?: Array<GetSolRedemptionHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetSolRedemptionHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetSolStakingHistoryResponseRowsInner
 */
interface GetSolStakingHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetSolStakingHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingHistoryResponseRowsInner
     */
    asset?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingHistoryResponseRowsInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingHistoryResponseRowsInner
     */
    distributeAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingHistoryResponseRowsInner
     */
    distributeAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingHistoryResponseRowsInner
     */
    exchangeRate?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingHistoryResponseRowsInner
     */
    status?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetSolStakingHistoryResponse
 */
interface GetSolStakingHistoryResponse {
    /**
     *
     * @type {Array<GetSolStakingHistoryResponseRowsInner>}
     * @memberof GetSolStakingHistoryResponse
     */
    rows?: Array<GetSolStakingHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetSolStakingHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetSolStakingQuotaDetailsResponse
 */
interface GetSolStakingQuotaDetailsResponse {
    /**
     *
     * @type {string}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    leftStakingPersonalQuota?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    leftRedemptionPersonalQuota?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    minStakeAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    minRedeemAmount?: string;
    /**
     *
     * @type {number}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    redeemPeriod?: number;
    /**
     *
     * @type {boolean}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    stakeable?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    redeemable?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    soldOut?: boolean;
    /**
     *
     * @type {string}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    commissionFee?: string;
    /**
     *
     * @type {number}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    nextEpochTime?: number;
    /**
     *
     * @type {boolean}
     * @memberof GetSolStakingQuotaDetailsResponse
     */
    calculating?: boolean;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetUnclaimedRewardsResponseInner
 */
interface GetUnclaimedRewardsResponseInner {
    /**
     *
     * @type {string}
     * @memberof GetUnclaimedRewardsResponseInner
     */
    amount?: string;
    /**
     *
     * @type {string}
     * @memberof GetUnclaimedRewardsResponseInner
     */
    rewardsAsset?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetUnclaimedRewardsResponse
 */
interface GetUnclaimedRewardsResponse extends Array<GetUnclaimedRewardsResponseInner> {
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetWbethRateHistoryResponseRowsInner
 */
interface GetWbethRateHistoryResponseRowsInner {
    /**
     *
     * @type {string}
     * @memberof GetWbethRateHistoryResponseRowsInner
     */
    annualPercentageRate?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethRateHistoryResponseRowsInner
     */
    exchangeRate?: string;
    /**
     *
     * @type {number}
     * @memberof GetWbethRateHistoryResponseRowsInner
     */
    time?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetWbethRateHistoryResponse
 */
interface GetWbethRateHistoryResponse {
    /**
     *
     * @type {Array<GetWbethRateHistoryResponseRowsInner>}
     * @memberof GetWbethRateHistoryResponse
     */
    rows?: Array<GetWbethRateHistoryResponseRowsInner>;
    /**
     *
     * @type {string}
     * @memberof GetWbethRateHistoryResponse
     */
    total?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetWbethRewardsHistoryResponseRowsInner
 */
interface GetWbethRewardsHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetWbethRewardsHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof GetWbethRewardsHistoryResponseRowsInner
     */
    amountInETH?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethRewardsHistoryResponseRowsInner
     */
    holding?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethRewardsHistoryResponseRowsInner
     */
    holdingInETH?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethRewardsHistoryResponseRowsInner
     */
    annualPercentageRate?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetWbethRewardsHistoryResponse
 */
interface GetWbethRewardsHistoryResponse {
    /**
     *
     * @type {string}
     * @memberof GetWbethRewardsHistoryResponse
     */
    estRewardsInETH?: string;
    /**
     *
     * @type {Array<GetWbethRewardsHistoryResponseRowsInner>}
     * @memberof GetWbethRewardsHistoryResponse
     */
    rows?: Array<GetWbethRewardsHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetWbethRewardsHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetWbethUnwrapHistoryResponseRowsInner
 */
interface GetWbethUnwrapHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetWbethUnwrapHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof GetWbethUnwrapHistoryResponseRowsInner
     */
    fromAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethUnwrapHistoryResponseRowsInner
     */
    fromAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethUnwrapHistoryResponseRowsInner
     */
    toAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethUnwrapHistoryResponseRowsInner
     */
    toAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethUnwrapHistoryResponseRowsInner
     */
    exchangeRate?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethUnwrapHistoryResponseRowsInner
     */
    status?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetWbethUnwrapHistoryResponse
 */
interface GetWbethUnwrapHistoryResponse {
    /**
     *
     * @type {Array<GetWbethUnwrapHistoryResponseRowsInner>}
     * @memberof GetWbethUnwrapHistoryResponse
     */
    rows?: Array<GetWbethUnwrapHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetWbethUnwrapHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface GetWbethWrapHistoryResponseRowsInner
 */
interface GetWbethWrapHistoryResponseRowsInner {
    /**
     *
     * @type {number}
     * @memberof GetWbethWrapHistoryResponseRowsInner
     */
    time?: number;
    /**
     *
     * @type {string}
     * @memberof GetWbethWrapHistoryResponseRowsInner
     */
    fromAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethWrapHistoryResponseRowsInner
     */
    fromAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethWrapHistoryResponseRowsInner
     */
    toAsset?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethWrapHistoryResponseRowsInner
     */
    toAmount?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethWrapHistoryResponseRowsInner
     */
    exchangeRate?: string;
    /**
     *
     * @type {string}
     * @memberof GetWbethWrapHistoryResponseRowsInner
     */
    status?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 *
 * @export
 * @interface GetWbethWrapHistoryResponse
 */
interface GetWbethWrapHistoryResponse {
    /**
     *
     * @type {Array<GetWbethWrapHistoryResponseRowsInner>}
     * @memberof GetWbethWrapHistoryResponse
     */
    rows?: Array<GetWbethWrapHistoryResponseRowsInner>;
    /**
     *
     * @type {number}
     * @memberof GetWbethWrapHistoryResponse
     */
    total?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface RedeemEthResponse
 */
interface RedeemEthResponse {
    /**
     *
     * @type {boolean}
     * @memberof RedeemEthResponse
     */
    success?: boolean;
    /**
     *
     * @type {string}
     * @memberof RedeemEthResponse
     */
    ethAmount?: string;
    /**
     *
     * @type {string}
     * @memberof RedeemEthResponse
     */
    conversionRatio?: string;
    /**
     *
     * @type {number}
     * @memberof RedeemEthResponse
     */
    arrivalTime?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface RedeemSolResponse
 */
interface RedeemSolResponse {
    /**
     *
     * @type {boolean}
     * @memberof RedeemSolResponse
     */
    success?: boolean;
    /**
     *
     * @type {string}
     * @memberof RedeemSolResponse
     */
    solAmount?: string;
    /**
     *
     * @type {string}
     * @memberof RedeemSolResponse
     */
    exchangeRate?: string;
    /**
     *
     * @type {number}
     * @memberof RedeemSolResponse
     */
    arrivalTime?: number;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SolStakingAccountResponse
 */
interface SolStakingAccountResponse {
    /**
     *
     * @type {string}
     * @memberof SolStakingAccountResponse
     */
    bnsolAmount?: string;
    /**
     *
     * @type {string}
     * @memberof SolStakingAccountResponse
     */
    holdingInSOL?: string;
    /**
     *
     * @type {string}
     * @memberof SolStakingAccountResponse
     */
    thirtyDaysProfitInSOL?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SubscribeEthStakingResponse
 */
interface SubscribeEthStakingResponse {
    /**
     *
     * @type {boolean}
     * @memberof SubscribeEthStakingResponse
     */
    success?: boolean;
    /**
     *
     * @type {string}
     * @memberof SubscribeEthStakingResponse
     */
    wbethAmount?: string;
    /**
     *
     * @type {string}
     * @memberof SubscribeEthStakingResponse
     */
    conversionRatio?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface SubscribeSolStakingResponse
 */
interface SubscribeSolStakingResponse {
    /**
     *
     * @type {boolean}
     * @memberof SubscribeSolStakingResponse
     */
    success?: boolean;
    /**
     *
     * @type {string}
     * @memberof SubscribeSolStakingResponse
     */
    bnsolAmount?: string;
    /**
     *
     * @type {string}
     * @memberof SubscribeSolStakingResponse
     */
    exchangeRate?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 *
 * @export
 * @interface WrapBethResponse
 */
interface WrapBethResponse {
    /**
     *
     * @type {boolean}
     * @memberof WrapBethResponse
     */
    success?: boolean;
    /**
     *
     * @type {string}
     * @memberof WrapBethResponse
     */
    wbethAmount?: string;
    /**
     *
     * @type {string}
     * @memberof WrapBethResponse
     */
    exchangeRate?: string;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * EthStakingApi - interface
 * @interface EthStakingApi
 */
interface EthStakingApiInterface {
    /**
     * ETH Staking account
     *
     * Weight: 150
     *
     * @summary ETH Staking account(USER_DATA)
     * @param {EthStakingAccountRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    ethStakingAccount(requestParameters?: EthStakingAccountRequest): Promise<RestApiResponse<EthStakingAccountResponse>>;
    /**
     * Get current ETH staking quota
     *
     * Weight: 150
     *
     * @summary Get current ETH staking quota(USER_DATA)
     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    getCurrentEthStakingQuota(requestParameters?: GetCurrentEthStakingQuotaRequest): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>;
    /**
     * Get ETH redemption history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get ETH redemption history(USER_DATA)
     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    getEthRedemptionHistory(requestParameters?: GetEthRedemptionHistoryRequest): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>;
    /**
     * Get ETH staking history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get ETH staking history(USER_DATA)
     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    getEthStakingHistory(requestParameters?: GetEthStakingHistoryRequest): Promise<RestApiResponse<GetEthStakingHistoryResponse>>;
    /**
     * Get WBETH Rate History
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH Rate History(USER_DATA)
     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    getWbethRateHistory(requestParameters?: GetWbethRateHistoryRequest): Promise<RestApiResponse<GetWbethRateHistoryResponse>>;
    /**
     * Get WBETH rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH rewards history(USER_DATA)
     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    getWbethRewardsHistory(requestParameters?: GetWbethRewardsHistoryRequest): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>;
    /**
     * Get WBETH unwrap history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH unwrap history(USER_DATA)
     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    getWbethUnwrapHistory(requestParameters?: GetWbethUnwrapHistoryRequest): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>;
    /**
     * Get WBETH wrap history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH wrap history(USER_DATA)
     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    getWbethWrapHistory(requestParameters?: GetWbethWrapHistoryRequest): Promise<RestApiResponse<GetWbethWrapHistoryResponse>>;
    /**
     * Redeem WBETH or BETH and get ETH
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Redeem ETH(TRADE)
     * @param {RedeemEthRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    redeemEth(requestParameters: RedeemEthRequest): Promise<RestApiResponse<RedeemEthResponse>>;
    /**
     * Subscribe ETH Staking
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Subscribe ETH Staking(TRADE)
     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    subscribeEthStaking(requestParameters: SubscribeEthStakingRequest): Promise<RestApiResponse<SubscribeEthStakingResponse>>;
    /**
     * Wrap BETH
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Wrap BETH(TRADE)
     * @param {WrapBethRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApiInterface
     */
    wrapBeth(requestParameters: WrapBethRequest): Promise<RestApiResponse<WrapBethResponse>>;
}
/**
 * Request parameters for ethStakingAccount operation in EthStakingApi.
 * @interface EthStakingAccountRequest
 */
interface EthStakingAccountRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiEthStakingAccount
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getCurrentEthStakingQuota operation in EthStakingApi.
 * @interface GetCurrentEthStakingQuotaRequest
 */
interface GetCurrentEthStakingQuotaRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetCurrentEthStakingQuota
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getEthRedemptionHistory operation in EthStakingApi.
 * @interface GetEthRedemptionHistoryRequest
 */
interface GetEthRedemptionHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetEthRedemptionHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetEthRedemptionHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof EthStakingApiGetEthRedemptionHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof EthStakingApiGetEthRedemptionHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetEthRedemptionHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getEthStakingHistory operation in EthStakingApi.
 * @interface GetEthStakingHistoryRequest
 */
interface GetEthStakingHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetEthStakingHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetEthStakingHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof EthStakingApiGetEthStakingHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof EthStakingApiGetEthStakingHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetEthStakingHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getWbethRateHistory operation in EthStakingApi.
 * @interface GetWbethRateHistoryRequest
 */
interface GetWbethRateHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethRateHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethRateHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof EthStakingApiGetWbethRateHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof EthStakingApiGetWbethRateHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethRateHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getWbethRewardsHistory operation in EthStakingApi.
 * @interface GetWbethRewardsHistoryRequest
 */
interface GetWbethRewardsHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethRewardsHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethRewardsHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof EthStakingApiGetWbethRewardsHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof EthStakingApiGetWbethRewardsHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethRewardsHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getWbethUnwrapHistory operation in EthStakingApi.
 * @interface GetWbethUnwrapHistoryRequest
 */
interface GetWbethUnwrapHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethUnwrapHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethUnwrapHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof EthStakingApiGetWbethUnwrapHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof EthStakingApiGetWbethUnwrapHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethUnwrapHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getWbethWrapHistory operation in EthStakingApi.
 * @interface GetWbethWrapHistoryRequest
 */
interface GetWbethWrapHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethWrapHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethWrapHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof EthStakingApiGetWbethWrapHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof EthStakingApiGetWbethWrapHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiGetWbethWrapHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for redeemEth operation in EthStakingApi.
 * @interface RedeemEthRequest
 */
interface RedeemEthRequest {
    /**
     * Amount in SOL.
     * @type {number}
     * @memberof EthStakingApiRedeemEth
     */
    readonly amount: number;
    /**
     * WBETH or BETH, default to BETH
     * @type {string}
     * @memberof EthStakingApiRedeemEth
     */
    readonly asset?: string;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiRedeemEth
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for subscribeEthStaking operation in EthStakingApi.
 * @interface SubscribeEthStakingRequest
 */
interface SubscribeEthStakingRequest {
    /**
     * Amount in SOL.
     * @type {number}
     * @memberof EthStakingApiSubscribeEthStaking
     */
    readonly amount: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiSubscribeEthStaking
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for wrapBeth operation in EthStakingApi.
 * @interface WrapBethRequest
 */
interface WrapBethRequest {
    /**
     * Amount in SOL.
     * @type {number}
     * @memberof EthStakingApiWrapBeth
     */
    readonly amount: number;
    /**
     *
     * @type {number}
     * @memberof EthStakingApiWrapBeth
     */
    readonly recvWindow?: number;
}
/**
 * EthStakingApi - object-oriented interface
 * @class EthStakingApi
 */
declare class EthStakingApi implements EthStakingApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * ETH Staking account
     *
     * Weight: 150
     *
     * @summary ETH Staking account(USER_DATA)
     * @param {EthStakingAccountRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<EthStakingAccountResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/ETH-Staking-account Binance API Documentation}
     */
    ethStakingAccount(requestParameters?: EthStakingAccountRequest): Promise<RestApiResponse<EthStakingAccountResponse>>;
    /**
     * Get current ETH staking quota
     *
     * Weight: 150
     *
     * @summary Get current ETH staking quota(USER_DATA)
     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/Get-current-ETH-staking-quota Binance API Documentation}
     */
    getCurrentEthStakingQuota(requestParameters?: GetCurrentEthStakingQuotaRequest): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>;
    /**
     * Get ETH redemption history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get ETH redemption history(USER_DATA)
     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history Binance API Documentation}
     */
    getEthRedemptionHistory(requestParameters?: GetEthRedemptionHistoryRequest): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>;
    /**
     * Get ETH staking history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get ETH staking history(USER_DATA)
     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetEthStakingHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-staking-history Binance API Documentation}
     */
    getEthStakingHistory(requestParameters?: GetEthStakingHistoryRequest): Promise<RestApiResponse<GetEthStakingHistoryResponse>>;
    /**
     * Get WBETH Rate History
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH Rate History(USER_DATA)
     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethRateHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-BETH-Rate-History Binance API Documentation}
     */
    getWbethRateHistory(requestParameters?: GetWbethRateHistoryRequest): Promise<RestApiResponse<GetWbethRateHistoryResponse>>;
    /**
     * Get WBETH rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH rewards history(USER_DATA)
     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history Binance API Documentation}
     */
    getWbethRewardsHistory(requestParameters?: GetWbethRewardsHistoryRequest): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>;
    /**
     * Get WBETH unwrap history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH unwrap history(USER_DATA)
     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-unwrap-history Binance API Documentation}
     */
    getWbethUnwrapHistory(requestParameters?: GetWbethUnwrapHistoryRequest): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>;
    /**
     * Get WBETH wrap history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH wrap history(USER_DATA)
     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethWrapHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-wrap-history Binance API Documentation}
     */
    getWbethWrapHistory(requestParameters?: GetWbethWrapHistoryRequest): Promise<RestApiResponse<GetWbethWrapHistoryResponse>>;
    /**
     * Redeem WBETH or BETH and get ETH
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Redeem ETH(TRADE)
     * @param {RedeemEthRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RedeemEthResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH Binance API Documentation}
     */
    redeemEth(requestParameters: RedeemEthRequest): Promise<RestApiResponse<RedeemEthResponse>>;
    /**
     * Subscribe ETH Staking
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Subscribe ETH Staking(TRADE)
     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SubscribeEthStakingResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Subscribe-ETH-Staking Binance API Documentation}
     */
    subscribeEthStaking(requestParameters: SubscribeEthStakingRequest): Promise<RestApiResponse<SubscribeEthStakingResponse>>;
    /**
     * Wrap BETH
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Wrap BETH(TRADE)
     * @param {WrapBethRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<WrapBethResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof EthStakingApi
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH Binance API Documentation}
     */
    wrapBeth(requestParameters: WrapBethRequest): Promise<RestApiResponse<WrapBethResponse>>;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/**
 * SolStakingApi - interface
 * @interface SolStakingApi
 */
interface SolStakingApiInterface {
    /**
     * Claim Boost APR Airdrop Rewards
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Claim Boost Rewards(TRADE)
     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    claimBoostRewards(requestParameters?: ClaimBoostRewardsRequest): Promise<RestApiResponse<ClaimBoostRewardsResponse>>;
    /**
     * Get BNSOL Rate History
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get BNSOL Rate History(USER_DATA)
     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    getBnsolRateHistory(requestParameters?: GetBnsolRateHistoryRequest): Promise<RestApiResponse<GetBnsolRateHistoryResponse>>;
    /**
     * Get BNSOL rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get BNSOL rewards history(USER_DATA)
     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    getBnsolRewardsHistory(requestParameters?: GetBnsolRewardsHistoryRequest): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>;
    /**
     * Get Boost rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get Boost Rewards History(USER_DATA)
     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    getBoostRewardsHistory(requestParameters: GetBoostRewardsHistoryRequest): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>;
    /**
     * Get SOL redemption history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get SOL redemption history(USER_DATA)
     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    getSolRedemptionHistory(requestParameters?: GetSolRedemptionHistoryRequest): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>;
    /**
     * Get SOL staking history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get SOL staking history(USER_DATA)
     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    getSolStakingHistory(requestParameters?: GetSolStakingHistoryRequest): Promise<RestApiResponse<GetSolStakingHistoryResponse>>;
    /**
     * Get SOL staking quota
     *
     * Weight: 150
     *
     * @summary Get SOL staking quota details(USER_DATA)
     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    getSolStakingQuotaDetails(requestParameters?: GetSolStakingQuotaDetailsRequest): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>;
    /**
     * Get Unclaimed rewards
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get Unclaimed Rewards(USER_DATA)
     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    getUnclaimedRewards(requestParameters?: GetUnclaimedRewardsRequest): Promise<RestApiResponse<GetUnclaimedRewardsResponse>>;
    /**
     * Redeem BNSOL get SOL
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Redeem SOL(TRADE)
     * @param {RedeemSolRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    redeemSol(requestParameters: RedeemSolRequest): Promise<RestApiResponse<RedeemSolResponse>>;
    /**
     * SOL Staking account
     *
     * Weight: 150
     *
     * @summary SOL Staking account(USER_DATA)
     * @param {SolStakingAccountRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    solStakingAccount(requestParameters?: SolStakingAccountRequest): Promise<RestApiResponse<SolStakingAccountResponse>>;
    /**
     * Subscribe SOL Staking
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Subscribe SOL Staking(TRADE)
     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.
     *
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApiInterface
     */
    subscribeSolStaking(requestParameters: SubscribeSolStakingRequest): Promise<RestApiResponse<SubscribeSolStakingResponse>>;
}
/**
 * Request parameters for claimBoostRewards operation in SolStakingApi.
 * @interface ClaimBoostRewardsRequest
 */
interface ClaimBoostRewardsRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiClaimBoostRewards
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getBnsolRateHistory operation in SolStakingApi.
 * @interface GetBnsolRateHistoryRequest
 */
interface GetBnsolRateHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBnsolRateHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBnsolRateHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof SolStakingApiGetBnsolRateHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof SolStakingApiGetBnsolRateHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBnsolRateHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getBnsolRewardsHistory operation in SolStakingApi.
 * @interface GetBnsolRewardsHistoryRequest
 */
interface GetBnsolRewardsHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBnsolRewardsHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBnsolRewardsHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof SolStakingApiGetBnsolRewardsHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof SolStakingApiGetBnsolRewardsHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBnsolRewardsHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getBoostRewardsHistory operation in SolStakingApi.
 * @interface GetBoostRewardsHistoryRequest
 */
interface GetBoostRewardsHistoryRequest {
    /**
     * "CLAIM", "DISTRIBUTE", default "CLAIM"
     * @type {string}
     * @memberof SolStakingApiGetBoostRewardsHistory
     */
    readonly type: string;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBoostRewardsHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBoostRewardsHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof SolStakingApiGetBoostRewardsHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof SolStakingApiGetBoostRewardsHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetBoostRewardsHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getSolRedemptionHistory operation in SolStakingApi.
 * @interface GetSolRedemptionHistoryRequest
 */
interface GetSolRedemptionHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetSolRedemptionHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetSolRedemptionHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof SolStakingApiGetSolRedemptionHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof SolStakingApiGetSolRedemptionHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetSolRedemptionHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getSolStakingHistory operation in SolStakingApi.
 * @interface GetSolStakingHistoryRequest
 */
interface GetSolStakingHistoryRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetSolStakingHistory
     */
    readonly startTime?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetSolStakingHistory
     */
    readonly endTime?: number;
    /**
     * Currently querying page. Start from 1. Default:1
     * @type {number}
     * @memberof SolStakingApiGetSolStakingHistory
     */
    readonly current?: number;
    /**
     * Default:10, Max:100
     * @type {number}
     * @memberof SolStakingApiGetSolStakingHistory
     */
    readonly size?: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetSolStakingHistory
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getSolStakingQuotaDetails operation in SolStakingApi.
 * @interface GetSolStakingQuotaDetailsRequest
 */
interface GetSolStakingQuotaDetailsRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetSolStakingQuotaDetails
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for getUnclaimedRewards operation in SolStakingApi.
 * @interface GetUnclaimedRewardsRequest
 */
interface GetUnclaimedRewardsRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiGetUnclaimedRewards
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for redeemSol operation in SolStakingApi.
 * @interface RedeemSolRequest
 */
interface RedeemSolRequest {
    /**
     * Amount in SOL.
     * @type {number}
     * @memberof SolStakingApiRedeemSol
     */
    readonly amount: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiRedeemSol
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for solStakingAccount operation in SolStakingApi.
 * @interface SolStakingAccountRequest
 */
interface SolStakingAccountRequest {
    /**
     *
     * @type {number}
     * @memberof SolStakingApiSolStakingAccount
     */
    readonly recvWindow?: number;
}
/**
 * Request parameters for subscribeSolStaking operation in SolStakingApi.
 * @interface SubscribeSolStakingRequest
 */
interface SubscribeSolStakingRequest {
    /**
     * Amount in SOL.
     * @type {number}
     * @memberof SolStakingApiSubscribeSolStaking
     */
    readonly amount: number;
    /**
     *
     * @type {number}
     * @memberof SolStakingApiSubscribeSolStaking
     */
    readonly recvWindow?: number;
}
/**
 * SolStakingApi - object-oriented interface
 * @class SolStakingApi
 */
declare class SolStakingApi implements SolStakingApiInterface {
    private readonly configuration;
    private localVarAxiosParamCreator;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * Claim Boost APR Airdrop Rewards
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Claim Boost Rewards(TRADE)
     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<ClaimBoostRewardsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-Rewards Binance API Documentation}
     */
    claimBoostRewards(requestParameters?: ClaimBoostRewardsRequest): Promise<RestApiResponse<ClaimBoostRewardsResponse>>;
    /**
     * Get BNSOL Rate History
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get BNSOL Rate History(USER_DATA)
     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetBnsolRateHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History Binance API Documentation}
     */
    getBnsolRateHistory(requestParameters?: GetBnsolRateHistoryRequest): Promise<RestApiResponse<GetBnsolRateHistoryResponse>>;
    /**
     * Get BNSOL rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get BNSOL rewards history(USER_DATA)
     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history Binance API Documentation}
     */
    getBnsolRewardsHistory(requestParameters?: GetBnsolRewardsHistoryRequest): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>;
    /**
     * Get Boost rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get Boost Rewards History(USER_DATA)
     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-Rewards-History Binance API Documentation}
     */
    getBoostRewardsHistory(requestParameters: GetBoostRewardsHistoryRequest): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>;
    /**
     * Get SOL redemption history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get SOL redemption history(USER_DATA)
     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history Binance API Documentation}
     */
    getSolRedemptionHistory(requestParameters?: GetSolRedemptionHistoryRequest): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>;
    /**
     * Get SOL staking history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get SOL staking history(USER_DATA)
     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetSolStakingHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-staking-history Binance API Documentation}
     */
    getSolStakingHistory(requestParameters?: GetSolStakingHistoryRequest): Promise<RestApiResponse<GetSolStakingHistoryResponse>>;
    /**
     * Get SOL staking quota
     *
     * Weight: 150
     *
     * @summary Get SOL staking quota details(USER_DATA)
     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details Binance API Documentation}
     */
    getSolStakingQuotaDetails(requestParameters?: GetSolStakingQuotaDetailsRequest): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>;
    /**
     * Get Unclaimed rewards
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get Unclaimed Rewards(USER_DATA)
     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetUnclaimedRewardsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-Rewards Binance API Documentation}
     */
    getUnclaimedRewards(requestParameters?: GetUnclaimedRewardsRequest): Promise<RestApiResponse<GetUnclaimedRewardsResponse>>;
    /**
     * Redeem BNSOL get SOL
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Redeem SOL(TRADE)
     * @param {RedeemSolRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RedeemSolResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL Binance API Documentation}
     */
    redeemSol(requestParameters: RedeemSolRequest): Promise<RestApiResponse<RedeemSolResponse>>;
    /**
     * SOL Staking account
     *
     * Weight: 150
     *
     * @summary SOL Staking account(USER_DATA)
     * @param {SolStakingAccountRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SolStakingAccountResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/SOL-Staking-account Binance API Documentation}
     */
    solStakingAccount(requestParameters?: SolStakingAccountRequest): Promise<RestApiResponse<SolStakingAccountResponse>>;
    /**
     * Subscribe SOL Staking
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Subscribe SOL Staking(TRADE)
     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SubscribeSolStakingResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @memberof SolStakingApi
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Subscribe-SOL-Staking Binance API Documentation}
     */
    subscribeSolStaking(requestParameters: SubscribeSolStakingRequest): Promise<RestApiResponse<SubscribeSolStakingResponse>>;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

declare class RestAPI {
    private configuration;
    private ethStakingApi;
    private solStakingApi;
    constructor(configuration: ConfigurationRestAPI);
    /**
     * Generic function to send a request.
     * @param endpoint - The API endpoint to call.
     * @param method - HTTP method to use (GET, POST, DELETE, etc.).
     * @param params - Query parameters for the request.
     *
     * @returns A promise resolving to the response data object.
     */
    sendRequest<T>(endpoint: string, method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH', params?: Record<string, unknown>): Promise<RestApiResponse<T>>;
    /**
     * Generic function to send a signed request.
     * @param endpoint - The API endpoint to call.
     * @param method - HTTP method to use (GET, POST, DELETE, etc.).
     * @param params - Query parameters for the request.
     *
     * @returns A promise resolving to the response data object.
     */
    sendSignedRequest<T>(endpoint: string, method: 'GET' | 'POST' | 'DELETE' | 'PUT' | 'PATCH', params?: Record<string, unknown>): Promise<RestApiResponse<T>>;
    /**
     * ETH Staking account
     *
     * Weight: 150
     *
     * @summary ETH Staking account(USER_DATA)
     * @param {EthStakingAccountRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<EthStakingAccountResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/ETH-Staking-account Binance API Documentation}
     */
    ethStakingAccount(requestParameters?: EthStakingAccountRequest): Promise<RestApiResponse<EthStakingAccountResponse>>;
    /**
     * Get current ETH staking quota
     *
     * Weight: 150
     *
     * @summary Get current ETH staking quota(USER_DATA)
     * @param {GetCurrentEthStakingQuotaRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/account/Get-current-ETH-staking-quota Binance API Documentation}
     */
    getCurrentEthStakingQuota(requestParameters?: GetCurrentEthStakingQuotaRequest): Promise<RestApiResponse<GetCurrentEthStakingQuotaResponse>>;
    /**
     * Get ETH redemption history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get ETH redemption history(USER_DATA)
     * @param {GetEthRedemptionHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-redemption-history Binance API Documentation}
     */
    getEthRedemptionHistory(requestParameters?: GetEthRedemptionHistoryRequest): Promise<RestApiResponse<GetEthRedemptionHistoryResponse>>;
    /**
     * Get ETH staking history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get ETH staking history(USER_DATA)
     * @param {GetEthStakingHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetEthStakingHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-ETH-staking-history Binance API Documentation}
     */
    getEthStakingHistory(requestParameters?: GetEthStakingHistoryRequest): Promise<RestApiResponse<GetEthStakingHistoryResponse>>;
    /**
     * Get WBETH Rate History
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH Rate History(USER_DATA)
     * @param {GetWbethRateHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethRateHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-BETH-Rate-History Binance API Documentation}
     */
    getWbethRateHistory(requestParameters?: GetWbethRateHistoryRequest): Promise<RestApiResponse<GetWbethRateHistoryResponse>>;
    /**
     * Get WBETH rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH rewards history(USER_DATA)
     * @param {GetWbethRewardsHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-rewards-history Binance API Documentation}
     */
    getWbethRewardsHistory(requestParameters?: GetWbethRewardsHistoryRequest): Promise<RestApiResponse<GetWbethRewardsHistoryResponse>>;
    /**
     * Get WBETH unwrap history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH unwrap history(USER_DATA)
     * @param {GetWbethUnwrapHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-unwrap-history Binance API Documentation}
     */
    getWbethUnwrapHistory(requestParameters?: GetWbethUnwrapHistoryRequest): Promise<RestApiResponse<GetWbethUnwrapHistoryResponse>>;
    /**
     * Get WBETH wrap history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get WBETH wrap history(USER_DATA)
     * @param {GetWbethWrapHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetWbethWrapHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/history/Get-WBETH-wrap-history Binance API Documentation}
     */
    getWbethWrapHistory(requestParameters?: GetWbethWrapHistoryRequest): Promise<RestApiResponse<GetWbethWrapHistoryResponse>>;
    /**
     * Redeem WBETH or BETH and get ETH
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Redeem ETH(TRADE)
     * @param {RedeemEthRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RedeemEthResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Redeem-ETH Binance API Documentation}
     */
    redeemEth(requestParameters: RedeemEthRequest): Promise<RestApiResponse<RedeemEthResponse>>;
    /**
     * Subscribe ETH Staking
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Subscribe ETH Staking(TRADE)
     * @param {SubscribeEthStakingRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SubscribeEthStakingResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Subscribe-ETH-Staking Binance API Documentation}
     */
    subscribeEthStaking(requestParameters: SubscribeEthStakingRequest): Promise<RestApiResponse<SubscribeEthStakingResponse>>;
    /**
     * Wrap BETH
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Wrap BETH(TRADE)
     * @param {WrapBethRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<WrapBethResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/eth-staking/staking/Wrap-BETH Binance API Documentation}
     */
    wrapBeth(requestParameters: WrapBethRequest): Promise<RestApiResponse<WrapBethResponse>>;
    /**
     * Claim Boost APR Airdrop Rewards
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Claim Boost Rewards(TRADE)
     * @param {ClaimBoostRewardsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<ClaimBoostRewardsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Claim-Boost-Rewards Binance API Documentation}
     */
    claimBoostRewards(requestParameters?: ClaimBoostRewardsRequest): Promise<RestApiResponse<ClaimBoostRewardsResponse>>;
    /**
     * Get BNSOL Rate History
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get BNSOL Rate History(USER_DATA)
     * @param {GetBnsolRateHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetBnsolRateHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-Rate-History Binance API Documentation}
     */
    getBnsolRateHistory(requestParameters?: GetBnsolRateHistoryRequest): Promise<RestApiResponse<GetBnsolRateHistoryResponse>>;
    /**
     * Get BNSOL rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get BNSOL rewards history(USER_DATA)
     * @param {GetBnsolRewardsHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-BNSOL-rewards-history Binance API Documentation}
     */
    getBnsolRewardsHistory(requestParameters?: GetBnsolRewardsHistoryRequest): Promise<RestApiResponse<GetBnsolRewardsHistoryResponse>>;
    /**
     * Get Boost rewards history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get Boost Rewards History(USER_DATA)
     * @param {GetBoostRewardsHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Boost-Rewards-History Binance API Documentation}
     */
    getBoostRewardsHistory(requestParameters: GetBoostRewardsHistoryRequest): Promise<RestApiResponse<GetBoostRewardsHistoryResponse>>;
    /**
     * Get SOL redemption history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get SOL redemption history(USER_DATA)
     * @param {GetSolRedemptionHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-redemption-history Binance API Documentation}
     */
    getSolRedemptionHistory(requestParameters?: GetSolRedemptionHistoryRequest): Promise<RestApiResponse<GetSolRedemptionHistoryResponse>>;
    /**
     * Get SOL staking history
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get SOL staking history(USER_DATA)
     * @param {GetSolStakingHistoryRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetSolStakingHistoryResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-SOL-staking-history Binance API Documentation}
     */
    getSolStakingHistory(requestParameters?: GetSolStakingHistoryRequest): Promise<RestApiResponse<GetSolStakingHistoryResponse>>;
    /**
     * Get SOL staking quota
     *
     * Weight: 150
     *
     * @summary Get SOL staking quota details(USER_DATA)
     * @param {GetSolStakingQuotaDetailsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/Get-SOL-staking-quota-details Binance API Documentation}
     */
    getSolStakingQuotaDetails(requestParameters?: GetSolStakingQuotaDetailsRequest): Promise<RestApiResponse<GetSolStakingQuotaDetailsResponse>>;
    /**
     * Get Unclaimed rewards
     *
     * The time between `startTime` and `endTime` cannot be longer than 3 months.
     * If `startTime` and `endTime` are both not sent, then the last 30 days' data will be returned.
     * If `startTime` is sent but `endTime` is not sent, the next 30 days' data beginning from `startTime` will be returned.
     * If `endTime` is sent but `startTime` is not sent, the 30 days' data before `endTime` will be returned.
     *
     * Weight: 150
     *
     * @summary Get Unclaimed Rewards(USER_DATA)
     * @param {GetUnclaimedRewardsRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<GetUnclaimedRewardsResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/history/Get-Unclaimed-Rewards Binance API Documentation}
     */
    getUnclaimedRewards(requestParameters?: GetUnclaimedRewardsRequest): Promise<RestApiResponse<GetUnclaimedRewardsResponse>>;
    /**
     * Redeem BNSOL get SOL
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Redeem SOL(TRADE)
     * @param {RedeemSolRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<RedeemSolResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Redeem-SOL Binance API Documentation}
     */
    redeemSol(requestParameters: RedeemSolRequest): Promise<RestApiResponse<RedeemSolResponse>>;
    /**
     * SOL Staking account
     *
     * Weight: 150
     *
     * @summary SOL Staking account(USER_DATA)
     * @param {SolStakingAccountRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SolStakingAccountResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/account/SOL-Staking-account Binance API Documentation}
     */
    solStakingAccount(requestParameters?: SolStakingAccountRequest): Promise<RestApiResponse<SolStakingAccountResponse>>;
    /**
     * Subscribe SOL Staking
     *
     * You need to open Enable Spot & Margin Trading permission for the API Key which requests this endpoint.
     *
     * Weight: 150
     *
     * @summary Subscribe SOL Staking(TRADE)
     * @param {SubscribeSolStakingRequest} requestParameters Request parameters.
     * @returns {Promise<RestApiResponse<SubscribeSolStakingResponse>>}
     * @throws {RequiredError | ConnectorClientError | UnauthorizedError | ForbiddenError | TooManyRequestsError | RateLimitBanError | ServerError | NotFoundError | NetworkError | BadRequestError}
     * @see {@link https://developers.binance.com/docs/staking/sol-staking/staking/Subscribe-SOL-Staking Binance API Documentation}
     */
    subscribeSolStaking(requestParameters: SubscribeSolStakingRequest): Promise<RestApiResponse<SubscribeSolStakingResponse>>;
}

/**
 * Binance Public Staking REST API
 *
 * OpenAPI Specification for the Binance Public Staking REST API
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

type index_BadRequest = BadRequest;
type index_ClaimBoostRewardsRequest = ClaimBoostRewardsRequest;
type index_ClaimBoostRewardsResponse = ClaimBoostRewardsResponse;
type index_EthStakingAccountRequest = EthStakingAccountRequest;
type index_EthStakingAccountResponse = EthStakingAccountResponse;
type index_EthStakingAccountResponseHoldings = EthStakingAccountResponseHoldings;
type index_EthStakingAccountResponseProfit = EthStakingAccountResponseProfit;
type index_EthStakingApi = EthStakingApi;
declare const index_EthStakingApi: typeof EthStakingApi;
type index_EthStakingApiInterface = EthStakingApiInterface;
type index_GetBnsolRateHistoryRequest = GetBnsolRateHistoryRequest;
type index_GetBnsolRateHistoryResponse = GetBnsolRateHistoryResponse;
type index_GetBnsolRateHistoryResponseRowsInner = GetBnsolRateHistoryResponseRowsInner;
type index_GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner = GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner;
type index_GetBnsolRewardsHistoryRequest = GetBnsolRewardsHistoryRequest;
type index_GetBnsolRewardsHistoryResponse = GetBnsolRewardsHistoryResponse;
type index_GetBnsolRewardsHistoryResponseRowsInner = GetBnsolRewardsHistoryResponseRowsInner;
type index_GetBoostRewardsHistoryRequest = GetBoostRewardsHistoryRequest;
type index_GetBoostRewardsHistoryResponse = GetBoostRewardsHistoryResponse;
type index_GetBoostRewardsHistoryResponseRowsInner = GetBoostRewardsHistoryResponseRowsInner;
type index_GetCurrentEthStakingQuotaRequest = GetCurrentEthStakingQuotaRequest;
type index_GetCurrentEthStakingQuotaResponse = GetCurrentEthStakingQuotaResponse;
type index_GetEthRedemptionHistoryRequest = GetEthRedemptionHistoryRequest;
type index_GetEthRedemptionHistoryResponse = GetEthRedemptionHistoryResponse;
type index_GetEthRedemptionHistoryResponseRowsInner = GetEthRedemptionHistoryResponseRowsInner;
type index_GetEthStakingHistoryRequest = GetEthStakingHistoryRequest;
type index_GetEthStakingHistoryResponse = GetEthStakingHistoryResponse;
type index_GetEthStakingHistoryResponseRowsInner = GetEthStakingHistoryResponseRowsInner;
type index_GetSolRedemptionHistoryRequest = GetSolRedemptionHistoryRequest;
type index_GetSolRedemptionHistoryResponse = GetSolRedemptionHistoryResponse;
type index_GetSolRedemptionHistoryResponseRowsInner = GetSolRedemptionHistoryResponseRowsInner;
type index_GetSolStakingHistoryRequest = GetSolStakingHistoryRequest;
type index_GetSolStakingHistoryResponse = GetSolStakingHistoryResponse;
type index_GetSolStakingHistoryResponseRowsInner = GetSolStakingHistoryResponseRowsInner;
type index_GetSolStakingQuotaDetailsRequest = GetSolStakingQuotaDetailsRequest;
type index_GetSolStakingQuotaDetailsResponse = GetSolStakingQuotaDetailsResponse;
type index_GetUnclaimedRewardsRequest = GetUnclaimedRewardsRequest;
type index_GetUnclaimedRewardsResponse = GetUnclaimedRewardsResponse;
type index_GetUnclaimedRewardsResponseInner = GetUnclaimedRewardsResponseInner;
type index_GetWbethRateHistoryRequest = GetWbethRateHistoryRequest;
type index_GetWbethRateHistoryResponse = GetWbethRateHistoryResponse;
type index_GetWbethRateHistoryResponseRowsInner = GetWbethRateHistoryResponseRowsInner;
type index_GetWbethRewardsHistoryRequest = GetWbethRewardsHistoryRequest;
type index_GetWbethRewardsHistoryResponse = GetWbethRewardsHistoryResponse;
type index_GetWbethRewardsHistoryResponseRowsInner = GetWbethRewardsHistoryResponseRowsInner;
type index_GetWbethUnwrapHistoryRequest = GetWbethUnwrapHistoryRequest;
type index_GetWbethUnwrapHistoryResponse = GetWbethUnwrapHistoryResponse;
type index_GetWbethUnwrapHistoryResponseRowsInner = GetWbethUnwrapHistoryResponseRowsInner;
type index_GetWbethWrapHistoryRequest = GetWbethWrapHistoryRequest;
type index_GetWbethWrapHistoryResponse = GetWbethWrapHistoryResponse;
type index_GetWbethWrapHistoryResponseRowsInner = GetWbethWrapHistoryResponseRowsInner;
type index_RedeemEthRequest = RedeemEthRequest;
type index_RedeemEthResponse = RedeemEthResponse;
type index_RedeemSolRequest = RedeemSolRequest;
type index_RedeemSolResponse = RedeemSolResponse;
type index_RestAPI = RestAPI;
declare const index_RestAPI: typeof RestAPI;
type index_SolStakingAccountRequest = SolStakingAccountRequest;
type index_SolStakingAccountResponse = SolStakingAccountResponse;
type index_SolStakingApi = SolStakingApi;
declare const index_SolStakingApi: typeof SolStakingApi;
type index_SolStakingApiInterface = SolStakingApiInterface;
type index_SubscribeEthStakingRequest = SubscribeEthStakingRequest;
type index_SubscribeEthStakingResponse = SubscribeEthStakingResponse;
type index_SubscribeSolStakingRequest = SubscribeSolStakingRequest;
type index_SubscribeSolStakingResponse = SubscribeSolStakingResponse;
type index_WrapBethRequest = WrapBethRequest;
type index_WrapBethResponse = WrapBethResponse;
declare namespace index {
  export {
    index_BadRequest as BadRequest,
    index_ClaimBoostRewardsRequest as ClaimBoostRewardsRequest,
    index_ClaimBoostRewardsResponse as ClaimBoostRewardsResponse,
    index_EthStakingAccountRequest as EthStakingAccountRequest,
    index_EthStakingAccountResponse as EthStakingAccountResponse,
    index_EthStakingAccountResponseHoldings as EthStakingAccountResponseHoldings,
    index_EthStakingAccountResponseProfit as EthStakingAccountResponseProfit,
    index_EthStakingApi as EthStakingApi,
    index_EthStakingApiInterface as EthStakingApiInterface,
    index_GetBnsolRateHistoryRequest as GetBnsolRateHistoryRequest,
    index_GetBnsolRateHistoryResponse as GetBnsolRateHistoryResponse,
    index_GetBnsolRateHistoryResponseRowsInner as GetBnsolRateHistoryResponseRowsInner,
    index_GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner as GetBnsolRateHistoryResponseRowsInnerBoostRewardsInner,
    index_GetBnsolRewardsHistoryRequest as GetBnsolRewardsHistoryRequest,
    index_GetBnsolRewardsHistoryResponse as GetBnsolRewardsHistoryResponse,
    index_GetBnsolRewardsHistoryResponseRowsInner as GetBnsolRewardsHistoryResponseRowsInner,
    index_GetBoostRewardsHistoryRequest as GetBoostRewardsHistoryRequest,
    index_GetBoostRewardsHistoryResponse as GetBoostRewardsHistoryResponse,
    index_GetBoostRewardsHistoryResponseRowsInner as GetBoostRewardsHistoryResponseRowsInner,
    index_GetCurrentEthStakingQuotaRequest as GetCurrentEthStakingQuotaRequest,
    index_GetCurrentEthStakingQuotaResponse as GetCurrentEthStakingQuotaResponse,
    index_GetEthRedemptionHistoryRequest as GetEthRedemptionHistoryRequest,
    index_GetEthRedemptionHistoryResponse as GetEthRedemptionHistoryResponse,
    index_GetEthRedemptionHistoryResponseRowsInner as GetEthRedemptionHistoryResponseRowsInner,
    index_GetEthStakingHistoryRequest as GetEthStakingHistoryRequest,
    index_GetEthStakingHistoryResponse as GetEthStakingHistoryResponse,
    index_GetEthStakingHistoryResponseRowsInner as GetEthStakingHistoryResponseRowsInner,
    index_GetSolRedemptionHistoryRequest as GetSolRedemptionHistoryRequest,
    index_GetSolRedemptionHistoryResponse as GetSolRedemptionHistoryResponse,
    index_GetSolRedemptionHistoryResponseRowsInner as GetSolRedemptionHistoryResponseRowsInner,
    index_GetSolStakingHistoryRequest as GetSolStakingHistoryRequest,
    index_GetSolStakingHistoryResponse as GetSolStakingHistoryResponse,
    index_GetSolStakingHistoryResponseRowsInner as GetSolStakingHistoryResponseRowsInner,
    index_GetSolStakingQuotaDetailsRequest as GetSolStakingQuotaDetailsRequest,
    index_GetSolStakingQuotaDetailsResponse as GetSolStakingQuotaDetailsResponse,
    index_GetUnclaimedRewardsRequest as GetUnclaimedRewardsRequest,
    index_GetUnclaimedRewardsResponse as GetUnclaimedRewardsResponse,
    index_GetUnclaimedRewardsResponseInner as GetUnclaimedRewardsResponseInner,
    index_GetWbethRateHistoryRequest as GetWbethRateHistoryRequest,
    index_GetWbethRateHistoryResponse as GetWbethRateHistoryResponse,
    index_GetWbethRateHistoryResponseRowsInner as GetWbethRateHistoryResponseRowsInner,
    index_GetWbethRewardsHistoryRequest as GetWbethRewardsHistoryRequest,
    index_GetWbethRewardsHistoryResponse as GetWbethRewardsHistoryResponse,
    index_GetWbethRewardsHistoryResponseRowsInner as GetWbethRewardsHistoryResponseRowsInner,
    index_GetWbethUnwrapHistoryRequest as GetWbethUnwrapHistoryRequest,
    index_GetWbethUnwrapHistoryResponse as GetWbethUnwrapHistoryResponse,
    index_GetWbethUnwrapHistoryResponseRowsInner as GetWbethUnwrapHistoryResponseRowsInner,
    index_GetWbethWrapHistoryRequest as GetWbethWrapHistoryRequest,
    index_GetWbethWrapHistoryResponse as GetWbethWrapHistoryResponse,
    index_GetWbethWrapHistoryResponseRowsInner as GetWbethWrapHistoryResponseRowsInner,
    index_RedeemEthRequest as RedeemEthRequest,
    index_RedeemEthResponse as RedeemEthResponse,
    index_RedeemSolRequest as RedeemSolRequest,
    index_RedeemSolResponse as RedeemSolResponse,
    index_RestAPI as RestAPI,
    index_SolStakingAccountRequest as SolStakingAccountRequest,
    index_SolStakingAccountResponse as SolStakingAccountResponse,
    index_SolStakingApi as SolStakingApi,
    index_SolStakingApiInterface as SolStakingApiInterface,
    index_SubscribeEthStakingRequest as SubscribeEthStakingRequest,
    index_SubscribeEthStakingResponse as SubscribeEthStakingResponse,
    index_SubscribeSolStakingRequest as SubscribeSolStakingRequest,
    index_SubscribeSolStakingResponse as SubscribeSolStakingResponse,
    index_WrapBethRequest as WrapBethRequest,
    index_WrapBethResponse as WrapBethResponse,
  };
}

interface ConfigurationStaking {
    configurationRestAPI?: ConfigurationRestAPI;
}
declare class Staking {
    restAPI: RestAPI;
    constructor(config: ConfigurationStaking);
}

export { ConfigurationStaking, Staking, index as StakingRestAPI };
