import type { Address, Amount, ExecuteOptions } from "../types/index.js"; import type { PoolMember } from "../types/pool.js"; import type { Tx } from "../tx/index.js"; import type { WalletInterface } from "../wallet/interface.js"; /** * Common staking surface shared by delegation-pool staking and LST staking. * * LST staking does not support claiming rewards separately; yield is reflected * in the share price. Delegation-pool staking adds `claimRewards()`. */ export interface StakingProvider { enter(wallet: WalletInterface, amount: Amount, options?: ExecuteOptions): Promise; stake(wallet: WalletInterface, amount: Amount, options?: ExecuteOptions): Promise; add(wallet: WalletInterface, amount: Amount, options?: ExecuteOptions): Promise; exitIntent(wallet: WalletInterface, amount: Amount, options?: ExecuteOptions): Promise; exit(wallet: WalletInterface, options?: ExecuteOptions): Promise; isMember(wallet: WalletInterface): Promise; getPosition(walletOrAddress: WalletInterface | Address): Promise; getCommission(): Promise; } export interface ClaimableStaking extends StakingProvider { claimRewards(wallet: WalletInterface, options?: ExecuteOptions): Promise; } //# sourceMappingURL=interface.d.ts.map