import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AwareAmountOptions } from '../model/awareAmountOptions';
import { AwareOptionalAmountOptions } from '../model/awareOptionalAmountOptions';
import { BlockchainObserverConfig } from '../model/blockchainObserverConfig';
import { CreateBlockchainObserverConfigOptions } from '../model/createBlockchainObserverConfigOptions';
import { CreateStakingConfigRequest } from '../model/createStakingConfigRequest';
import { CreateStakingPlanRequest } from '../model/createStakingPlanRequest';
import { CreateStakingProductConfigRequest } from '../model/createStakingProductConfigRequest';
import { DeactivateStakingSubscriptionRequest } from '../model/deactivateStakingSubscriptionRequest';
import { PaginatedBlockchainRewardHistory } from '../model/paginatedBlockchainRewardHistory';
import { RetryStakingTransactionRequest } from '../model/retryStakingTransactionRequest';
import { SetExternalStakingAmountRequest } from '../model/setExternalStakingAmountRequest';
import { StakingAnalyticsIntervalType } from '../model/stakingAnalyticsIntervalType';
import { StakingAutoRetryRequest } from '../model/stakingAutoRetryRequest';
import { StakingCardanoDelegateRequest } from '../model/stakingCardanoDelegateRequest';
import { StakingCardanoWithdrawRewardsRequest } from '../model/stakingCardanoWithdrawRewardsRequest';
import { StakingCloseProductPoolRequest } from '../model/stakingCloseProductPoolRequest';
import { StakingConfig } from '../model/stakingConfig';
import { StakingDeposit } from '../model/stakingDeposit';
import { StakingLedgerEntrySearchResult } from '../model/stakingLedgerEntrySearchResult';
import { StakingOverallStatistics } from '../model/stakingOverallStatistics';
import { StakingPartialUnstakeTicketStatus } from '../model/stakingPartialUnstakeTicketStatus';
import { StakingPartialUnstakeTicketsList } from '../model/stakingPartialUnstakeTicketsList';
import { StakingPlan } from '../model/stakingPlan';
import { StakingPolkadotAddProxyRequest } from '../model/stakingPolkadotAddProxyRequest';
import { StakingPolkadotBondExtraRequest } from '../model/stakingPolkadotBondExtraRequest';
import { StakingPolkadotBondRequest } from '../model/stakingPolkadotBondRequest';
import { StakingPolkadotUnbondRequest } from '../model/stakingPolkadotUnbondRequest';
import { StakingProcessReferenceType } from '../model/stakingProcessReferenceType';
import { StakingProcessesList } from '../model/stakingProcessesList';
import { StakingProductConfig } from '../model/stakingProductConfig';
import { StakingRetryProcessRequest } from '../model/stakingRetryProcessRequest';
import { StakingReward } from '../model/stakingReward';
import { StakingSolanaCreateStakeAccountRequest } from '../model/stakingSolanaCreateStakeAccountRequest';
import { StakingSolanaDelegateRequest } from '../model/stakingSolanaDelegateRequest';
import { StakingSolanaWithdrawRequest } from '../model/stakingSolanaWithdrawRequest';
import { StakingSubscription } from '../model/stakingSubscription';
import { StakingSubscriptionStatus } from '../model/stakingSubscriptionStatus';
import { StakingSubscriptionTerminationStatus } from '../model/stakingSubscriptionTerminationStatus';
import { StakingSubscriptionTerminationType } from '../model/stakingSubscriptionTerminationType';
import { StakingSubscriptionTerminationsList } from '../model/stakingSubscriptionTerminationsList';
import { StakingSubscriptionsList } from '../model/stakingSubscriptionsList';
import { StakingTransaction } from '../model/stakingTransaction';
import { StakingTransactionStatus } from '../model/stakingTransactionStatus';
import { StakingTransactionType } from '../model/stakingTransactionType';
import { StakingTransactionsList } from '../model/stakingTransactionsList';
import { UpdateBlockchainObserverConfigOptions } from '../model/updateBlockchainObserverConfigOptions';
import { UpdateStakingConfigRequest } from '../model/updateStakingConfigRequest';
import { UpdateStakingPlanRequest } from '../model/updateStakingPlanRequest';
import { UpdateStakingProductConfigRequest } from '../model/updateStakingProductConfigRequest';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class StakingService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * Create blockchain observer config
     * @param createBlockchainObserverConfigOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createBlockchainObserverConfig(createBlockchainObserverConfigOptions?: CreateBlockchainObserverConfigOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<BlockchainObserverConfig>;
    createBlockchainObserverConfig(createBlockchainObserverConfigOptions?: CreateBlockchainObserverConfigOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<BlockchainObserverConfig>>;
    createBlockchainObserverConfig(createBlockchainObserverConfigOptions?: CreateBlockchainObserverConfigOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<BlockchainObserverConfig>>;
    /**
     * Delete blockchain observer config
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteBlockchainObserverConfig(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    deleteBlockchainObserverConfig(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    deleteBlockchainObserverConfig(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Cosmos stake
     * @param id Config Mongo ID
     * @param awareAmountOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakeCosmos(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakeCosmos(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakeCosmos(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * NEAR stake
     * @param id Config Mongo ID
     * @param awareAmountOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakeNear(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakeNear(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakeNear(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingActivatePlan(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingPlan>;
    stakingActivatePlan(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingPlan>>;
    stakingActivatePlan(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingPlan>>;
    /**
     * @param stakingAutoRetryRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingAutoRetryProcesses(stakingAutoRetryRequest?: StakingAutoRetryRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingAutoRetryProcesses(stakingAutoRetryRequest?: StakingAutoRetryRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingAutoRetryProcesses(stakingAutoRetryRequest?: StakingAutoRetryRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingCardanoDelegateRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCardanoDelegate(id: string, stakingCardanoDelegateRequest?: StakingCardanoDelegateRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingCardanoDelegate(id: string, stakingCardanoDelegateRequest?: StakingCardanoDelegateRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingCardanoDelegate(id: string, stakingCardanoDelegateRequest?: StakingCardanoDelegateRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCardanoDeregister(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingCardanoDeregister(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingCardanoDeregister(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCardanoRegister(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingCardanoRegister(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingCardanoRegister(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingCardanoWithdrawRewardsRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCardanoWithdrawRewards(id: string, stakingCardanoWithdrawRewardsRequest?: StakingCardanoWithdrawRewardsRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingCardanoWithdrawRewards(id: string, stakingCardanoWithdrawRewardsRequest?: StakingCardanoWithdrawRewardsRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingCardanoWithdrawRewards(id: string, stakingCardanoWithdrawRewardsRequest?: StakingCardanoWithdrawRewardsRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingCloseProductPoolRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCloseProductPool(id: number, stakingCloseProductPoolRequest?: StakingCloseProductPoolRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingProductConfig>;
    stakingCloseProductPool(id: number, stakingCloseProductPoolRequest?: StakingCloseProductPoolRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingProductConfig>>;
    stakingCloseProductPool(id: number, stakingCloseProductPoolRequest?: StakingCloseProductPoolRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingProductConfig>>;
    /**
     * @param createStakingConfigRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCreateConfig(createStakingConfigRequest?: CreateStakingConfigRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingConfig>;
    stakingCreateConfig(createStakingConfigRequest?: CreateStakingConfigRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingConfig>>;
    stakingCreateConfig(createStakingConfigRequest?: CreateStakingConfigRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingConfig>>;
    /**
     * @param createStakingPlanRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCreatePlan(createStakingPlanRequest?: CreateStakingPlanRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingPlan>;
    stakingCreatePlan(createStakingPlanRequest?: CreateStakingPlanRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingPlan>>;
    stakingCreatePlan(createStakingPlanRequest?: CreateStakingPlanRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingPlan>>;
    /**
     * @param createStakingProductConfigRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingCreateProductConfig(createStakingProductConfigRequest?: CreateStakingProductConfigRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingProductConfig>;
    stakingCreateProductConfig(createStakingProductConfigRequest?: CreateStakingProductConfigRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingProductConfig>>;
    stakingCreateProductConfig(createStakingProductConfigRequest?: CreateStakingProductConfigRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingProductConfig>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingDeactivatePlan(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingPlan>;
    stakingDeactivatePlan(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingPlan>>;
    stakingDeactivatePlan(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingPlan>>;
    /**
     * @param id
     * @param deactivateStakingSubscriptionRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingDeactivateSubscription(id: number, deactivateStakingSubscriptionRequest?: DeactivateStakingSubscriptionRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingSubscription>;
    stakingDeactivateSubscription(id: number, deactivateStakingSubscriptionRequest?: DeactivateStakingSubscriptionRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingSubscription>>;
    stakingDeactivateSubscription(id: number, deactivateStakingSubscriptionRequest?: DeactivateStakingSubscriptionRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingSubscription>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingDeleteConfig(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingDeleteConfig(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingDeleteConfig(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Download blockchain reward history report
     * @param address
     * @param observerId
     * @param productId
     * @param from
     * @param to
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingDownloadBlockchainRewardHistoryReport(address?: string, observerId?: number, productId?: number, from?: string, to?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<Blob>;
    stakingDownloadBlockchainRewardHistoryReport(address?: string, observerId?: number, productId?: number, from?: string, to?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpResponse<Blob>>;
    stakingDownloadBlockchainRewardHistoryReport(address?: string, observerId?: number, productId?: number, from?: string, to?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpEvent<Blob>>;
    /**
     * @param interval
     * @param productId
     * @param planId
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetAnalyticsChart(interval?: StakingAnalyticsIntervalType, productId?: number, planId?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<Array<number & string>>>;
    stakingGetAnalyticsChart(interval?: StakingAnalyticsIntervalType, productId?: number, planId?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<Array<number & string>>>>;
    stakingGetAnalyticsChart(interval?: StakingAnalyticsIntervalType, productId?: number, planId?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<Array<number & string>>>>;
    /**
     * Get blockchain observer configs
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetBlockchainObserverConfigs(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<BlockchainObserverConfig>>;
    stakingGetBlockchainObserverConfigs(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<BlockchainObserverConfig>>>;
    stakingGetBlockchainObserverConfigs(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<BlockchainObserverConfig>>>;
    /**
     * Get blockchain reward history
     * @param address
     * @param observerId
     * @param productId
     * @param from
     * @param to
     * @param page
     * @param size
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetBlockchainRewardHistory(address?: string, observerId?: number, productId?: number, from?: string, to?: string, page?: number, size?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<PaginatedBlockchainRewardHistory>;
    stakingGetBlockchainRewardHistory(address?: string, observerId?: number, productId?: number, from?: string, to?: string, page?: number, size?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<PaginatedBlockchainRewardHistory>>;
    stakingGetBlockchainRewardHistory(address?: string, observerId?: number, productId?: number, from?: string, to?: string, page?: number, size?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<PaginatedBlockchainRewardHistory>>;
    /**
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetConfigs(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<StakingConfig>>;
    stakingGetConfigs(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<StakingConfig>>>;
    stakingGetConfigs(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<StakingConfig>>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetLedgerEntryForProcess(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingLedgerEntrySearchResult>;
    stakingGetLedgerEntryForProcess(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingLedgerEntrySearchResult>>;
    stakingGetLedgerEntryForProcess(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingLedgerEntrySearchResult>>;
    /**
     * @param productId
     * @param planId
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetOverallAnalytics(productId?: number, planId?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingOverallStatistics>;
    stakingGetOverallAnalytics(productId?: number, planId?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingOverallStatistics>>;
    stakingGetOverallAnalytics(productId?: number, planId?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingOverallStatistics>>;
    /**
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetOverallReport(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<Blob>;
    stakingGetOverallReport(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpResponse<Blob>>;
    stakingGetOverallReport(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpEvent<Blob>>;
    /**
     * @param page
     * @param size
     * @param subscriptionId
     * @param accountId
     * @param status
     * @param from
     * @param to
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetPartialUnstakeTickets(page?: number, size?: number, subscriptionId?: number, accountId?: number, status?: StakingPartialUnstakeTicketStatus, from?: string, to?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingPartialUnstakeTicketsList>;
    stakingGetPartialUnstakeTickets(page?: number, size?: number, subscriptionId?: number, accountId?: number, status?: StakingPartialUnstakeTicketStatus, from?: string, to?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingPartialUnstakeTicketsList>>;
    stakingGetPartialUnstakeTickets(page?: number, size?: number, subscriptionId?: number, accountId?: number, status?: StakingPartialUnstakeTicketStatus, from?: string, to?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingPartialUnstakeTicketsList>>;
    /**
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetPlans(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<StakingPlan>>;
    stakingGetPlans(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<StakingPlan>>>;
    stakingGetPlans(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<StakingPlan>>>;
    /**
     * @param page
     * @param size
     * @param accountId
     * @param subscriptionId
     * @param referenceId
     * @param retryable
     * @param transactionId
     * @param typeIn
     * @param statusIn
     * @param referenceType
     * @param from
     * @param to
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetProcesses(page?: number, size?: number, accountId?: number, subscriptionId?: number, referenceId?: number, retryable?: number, transactionId?: number, typeIn?: string, statusIn?: string, referenceType?: StakingProcessReferenceType, from?: string, to?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingProcessesList>;
    stakingGetProcesses(page?: number, size?: number, accountId?: number, subscriptionId?: number, referenceId?: number, retryable?: number, transactionId?: number, typeIn?: string, statusIn?: string, referenceType?: StakingProcessReferenceType, from?: string, to?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingProcessesList>>;
    stakingGetProcesses(page?: number, size?: number, accountId?: number, subscriptionId?: number, referenceId?: number, retryable?: number, transactionId?: number, typeIn?: string, statusIn?: string, referenceType?: StakingProcessReferenceType, from?: string, to?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingProcessesList>>;
    /**
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetProductConfigs(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<StakingProductConfig>>;
    stakingGetProductConfigs(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<StakingProductConfig>>>;
    stakingGetProductConfigs(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<StakingProductConfig>>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetRewardReportBySubscription(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<Blob>;
    stakingGetRewardReportBySubscription(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpResponse<Blob>>;
    stakingGetRewardReportBySubscription(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpEvent<Blob>>;
    /**
     * @param id
     * @param page
     * @param size
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetSubscriptionDeposits(id: number, page?: number, size?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<StakingDeposit>>;
    stakingGetSubscriptionDeposits(id: number, page?: number, size?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<StakingDeposit>>>;
    stakingGetSubscriptionDeposits(id: number, page?: number, size?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<StakingDeposit>>>;
    /**
     * @param id
     * @param page
     * @param size
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetSubscriptionRewards(id: number, page?: number, size?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<StakingReward>>;
    stakingGetSubscriptionRewards(id: number, page?: number, size?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<StakingReward>>>;
    stakingGetSubscriptionRewards(id: number, page?: number, size?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<StakingReward>>>;
    /**
     * @param page
     * @param size
     * @param type
     * @param status
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetSubscriptionTerminations(page?: number, size?: number, type?: StakingSubscriptionTerminationType, status?: StakingSubscriptionTerminationStatus, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingSubscriptionTerminationsList>;
    stakingGetSubscriptionTerminations(page?: number, size?: number, type?: StakingSubscriptionTerminationType, status?: StakingSubscriptionTerminationStatus, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingSubscriptionTerminationsList>>;
    stakingGetSubscriptionTerminations(page?: number, size?: number, type?: StakingSubscriptionTerminationType, status?: StakingSubscriptionTerminationStatus, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingSubscriptionTerminationsList>>;
    /**
     * @param page
     * @param size
     * @param stakingPlanIds
     * @param accountId
     * @param status
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetSubscriptions(page?: number, size?: number, stakingPlanIds?: string, accountId?: number, status?: StakingSubscriptionStatus, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingSubscriptionsList>;
    stakingGetSubscriptions(page?: number, size?: number, stakingPlanIds?: string, accountId?: number, status?: StakingSubscriptionStatus, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingSubscriptionsList>>;
    stakingGetSubscriptions(page?: number, size?: number, stakingPlanIds?: string, accountId?: number, status?: StakingSubscriptionStatus, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingSubscriptionsList>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetTransactionReportBySubscription(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<Blob>;
    stakingGetTransactionReportBySubscription(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpResponse<Blob>>;
    stakingGetTransactionReportBySubscription(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpEvent<Blob>>;
    /**
     * @param page
     * @param size
     * @param accountId
     * @param subscriptionId
     * @param type
     * @param status
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingGetTransactions(page?: number, size?: number, accountId?: number, subscriptionId?: number, type?: StakingTransactionType, status?: StakingTransactionStatus, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingTransactionsList>;
    stakingGetTransactions(page?: number, size?: number, accountId?: number, subscriptionId?: number, type?: StakingTransactionType, status?: StakingTransactionStatus, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingTransactionsList>>;
    stakingGetTransactions(page?: number, size?: number, accountId?: number, subscriptionId?: number, type?: StakingTransactionType, status?: StakingTransactionStatus, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingTransactionsList>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingMarkTransactionAsProcessed(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingTransaction>;
    stakingMarkTransactionAsProcessed(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingTransaction>>;
    stakingMarkTransactionAsProcessed(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingTransaction>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingOpenProductPool(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingProductConfig>;
    stakingOpenProductPool(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingProductConfig>>;
    stakingOpenProductPool(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingProductConfig>>;
    /**
     * @param id
     * @param stakingPolkadotAddProxyRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingPolkadotAddProxy(id: string, stakingPolkadotAddProxyRequest?: StakingPolkadotAddProxyRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingPolkadotAddProxy(id: string, stakingPolkadotAddProxyRequest?: StakingPolkadotAddProxyRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingPolkadotAddProxy(id: string, stakingPolkadotAddProxyRequest?: StakingPolkadotAddProxyRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingPolkadotBondRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingPolkadotBond(id: string, stakingPolkadotBondRequest?: StakingPolkadotBondRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingPolkadotBond(id: string, stakingPolkadotBondRequest?: StakingPolkadotBondRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingPolkadotBond(id: string, stakingPolkadotBondRequest?: StakingPolkadotBondRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingPolkadotBondExtraRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingPolkadotBondExtra(id: string, stakingPolkadotBondExtraRequest?: StakingPolkadotBondExtraRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingPolkadotBondExtra(id: string, stakingPolkadotBondExtraRequest?: StakingPolkadotBondExtraRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingPolkadotBondExtra(id: string, stakingPolkadotBondExtraRequest?: StakingPolkadotBondExtraRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingPolkadotUnbondRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingPolkadotUnbond(id: string, stakingPolkadotUnbondRequest?: StakingPolkadotUnbondRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingPolkadotUnbond(id: string, stakingPolkadotUnbondRequest?: StakingPolkadotUnbondRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingPolkadotUnbond(id: string, stakingPolkadotUnbondRequest?: StakingPolkadotUnbondRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingRetryProcessRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingRetryProcess(id: number, stakingRetryProcessRequest?: StakingRetryProcessRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingRetryProcess(id: number, stakingRetryProcessRequest?: StakingRetryProcessRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingRetryProcess(id: number, stakingRetryProcessRequest?: StakingRetryProcessRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param retryStakingTransactionRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingRetryTransaction(id: number, retryStakingTransactionRequest?: RetryStakingTransactionRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingRetryTransaction(id: number, retryStakingTransactionRequest?: RetryStakingTransactionRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingRetryTransaction(id: number, retryStakingTransactionRequest?: RetryStakingTransactionRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingSearchLedgerEntryForTransaction(id: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingLedgerEntrySearchResult>;
    stakingSearchLedgerEntryForTransaction(id: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingLedgerEntrySearchResult>>;
    stakingSearchLedgerEntryForTransaction(id: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingLedgerEntrySearchResult>>;
    /**
     * @param setExternalStakingAmountRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingSetExternalStakingAmount(setExternalStakingAmountRequest?: SetExternalStakingAmountRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<Array<number & string>>>;
    stakingSetExternalStakingAmount(setExternalStakingAmountRequest?: SetExternalStakingAmountRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<Array<number & string>>>>;
    stakingSetExternalStakingAmount(setExternalStakingAmountRequest?: SetExternalStakingAmountRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<Array<number & string>>>>;
    /**
     * @param id
     * @param stakingSolanaCreateStakeAccountRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingSolanaCreateStakeAccount(id: string, stakingSolanaCreateStakeAccountRequest?: StakingSolanaCreateStakeAccountRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingSolanaCreateStakeAccount(id: string, stakingSolanaCreateStakeAccountRequest?: StakingSolanaCreateStakeAccountRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingSolanaCreateStakeAccount(id: string, stakingSolanaCreateStakeAccountRequest?: StakingSolanaCreateStakeAccountRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingSolanaDeactivate(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingSolanaDeactivate(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingSolanaDeactivate(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingSolanaDelegateRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingSolanaDelegate(id: string, stakingSolanaDelegateRequest?: StakingSolanaDelegateRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingSolanaDelegate(id: string, stakingSolanaDelegateRequest?: StakingSolanaDelegateRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingSolanaDelegate(id: string, stakingSolanaDelegateRequest?: StakingSolanaDelegateRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param id
     * @param stakingSolanaWithdrawRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingSolanaWithdrawStakedBalance(id: string, stakingSolanaWithdrawRequest?: StakingSolanaWithdrawRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    stakingSolanaWithdrawStakedBalance(id: string, stakingSolanaWithdrawRequest?: StakingSolanaWithdrawRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    stakingSolanaWithdrawStakedBalance(id: string, stakingSolanaWithdrawRequest?: StakingSolanaWithdrawRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Update blockchain observer config
     * @param id
     * @param updateBlockchainObserverConfigOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingUpdateBlockchainObserverConfig(id: number, updateBlockchainObserverConfigOptions?: UpdateBlockchainObserverConfigOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<BlockchainObserverConfig>;
    stakingUpdateBlockchainObserverConfig(id: number, updateBlockchainObserverConfigOptions?: UpdateBlockchainObserverConfigOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<BlockchainObserverConfig>>;
    stakingUpdateBlockchainObserverConfig(id: number, updateBlockchainObserverConfigOptions?: UpdateBlockchainObserverConfigOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<BlockchainObserverConfig>>;
    /**
     * @param id
     * @param updateStakingConfigRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingUpdateConfig(id: string, updateStakingConfigRequest?: UpdateStakingConfigRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingConfig>;
    stakingUpdateConfig(id: string, updateStakingConfigRequest?: UpdateStakingConfigRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingConfig>>;
    stakingUpdateConfig(id: string, updateStakingConfigRequest?: UpdateStakingConfigRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingConfig>>;
    /**
     * @param id
     * @param updateStakingPlanRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingUpdatePlan(id: number, updateStakingPlanRequest?: UpdateStakingPlanRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingPlan>;
    stakingUpdatePlan(id: number, updateStakingPlanRequest?: UpdateStakingPlanRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingPlan>>;
    stakingUpdatePlan(id: number, updateStakingPlanRequest?: UpdateStakingPlanRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingPlan>>;
    /**
     * @param id
     * @param updateStakingProductConfigRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    stakingUpdateProductConfig(id: number, updateStakingProductConfigRequest?: UpdateStakingProductConfigRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<StakingProductConfig>;
    stakingUpdateProductConfig(id: number, updateStakingProductConfigRequest?: UpdateStakingProductConfigRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<StakingProductConfig>>;
    stakingUpdateProductConfig(id: number, updateStakingProductConfigRequest?: UpdateStakingProductConfigRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<StakingProductConfig>>;
    /**
     * Cosmos stake
     * @param id Config Mongo ID
     * @param awareAmountOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    unstakeCosmos(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    unstakeCosmos(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    unstakeCosmos(id: string, awareAmountOptions?: AwareAmountOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * NEAR unstake
     * @param id Config Mongo ID
     * @param awareOptionalAmountOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    unstakeNear(id: string, awareOptionalAmountOptions?: AwareOptionalAmountOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    unstakeNear(id: string, awareOptionalAmountOptions?: AwareOptionalAmountOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    unstakeNear(id: string, awareOptionalAmountOptions?: AwareOptionalAmountOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Cosmos withdraw rewards
     * @param id Config Mongo ID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    withdrawRewardsCosmos(id: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    withdrawRewardsCosmos(id: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    withdrawRewardsCosmos(id: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Near withdraw rewards
     * @param id Config Mongo ID
     * @param awareOptionalAmountOptions
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    withdrawRewardsNear(id: string, awareOptionalAmountOptions?: AwareOptionalAmountOptions, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    withdrawRewardsNear(id: string, awareOptionalAmountOptions?: AwareOptionalAmountOptions, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    withdrawRewardsNear(id: string, awareOptionalAmountOptions?: AwareOptionalAmountOptions, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<StakingService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<StakingService>;
}
