import { ChainInfo, CheckTermsOfServiceResponseDto, ClaimRewardsRequestDto, ClaimRewardsResponse, DelegationSummaryDto, DelegationSummaryDtoByVault, SplitRequestDto, SplitResponse, StakeRequestDto, StakeResponse, StakingChain, StakingPosition, StakingProvider, UnstakeRequestDto, UnstakeResponse, WithdrawRequestDto, WithdrawResponse } from "./types"; export interface StakingSDK { /** * Get all staking chains */ getChains(): Promise; /** * Get chain info */ getChainInfo(chainDescriptor: StakingChain): Promise; /** * Get staking positions summary */ getPositionsSummary(): Promise; /** * Get staking positions summary by vault */ getPositionsSummaryByVault(): Promise; /** * Initiate staking stake on a chain */ stake(chainDescriptor: StakingChain, body: StakeRequestDto): Promise; /** * Execute staking unstake on a chain */ unstake(chainDescriptor: StakingChain, body: UnstakeRequestDto): Promise; /** * Execute staking withdraw on a chain */ withdraw(chainDescriptor: StakingChain, body: WithdrawRequestDto): Promise; /** * Execute staking claim rewards on a chain */ claimRewards(chainDescriptor: StakingChain, body: ClaimRewardsRequestDto): Promise; /** * Execute staking split on a chain */ split(chainDescriptor: StakingChain, body: SplitRequestDto): Promise; /** * Get all staking positions, optionally filtered by chain */ getPositions(chainDescriptor?: StakingChain): Promise; /** * Get a staking position by id */ getPosition(positionId?: string): Promise; /** * Get all staking providers */ getProviders(): Promise; /** * Approve staking provider terms of service */ approveProviderTermsOfService(providerId: string): Promise; }