import { ChainGetter, CosmosQueries, IQueriesStore } from "@keplr-wallet/stores"; import { CoinPretty, Dec, PricePretty, RatePretty } from "@keplr-wallet/unit"; import { IPriceStore } from "src/price"; import { AccountStore, CosmosAccount, CosmwasmAccount, OsmosisAccount, OsmosisAccountImpl } from "../account"; import { DerivedDataStore } from "../derived-data"; import { OsmosisQueries } from "../queries"; import { QueriesExternalStore } from "../queries-external"; /** Information about a user's pool assets that are suggested to convert to stake. */ export declare type SuggestedConvertToStakeAssets = { poolId: string; totalValue: PricePretty; userPoolAssets: CoinPretty[]; currentApr: RatePretty; }; /** Aggregates user balancer shares are available to be staked, preferably for a higher APR. * Manages the state for the selection process, with selections keyed by pool ID. */ export declare class UserConvertToStakeConfig { protected readonly osmosisChainId: string; protected readonly chainGetter: ChainGetter; protected readonly queriesStore: IQueriesStore; protected readonly queriesExternalStore: QueriesExternalStore; protected readonly accountStore: AccountStore<[ OsmosisAccount, CosmosAccount, CosmwasmAccount ]>; protected readonly derivedDataStore: DerivedDataStore; protected readonly priceStore: IPriceStore; /** Max number of convertible pools that can be selected at once. */ readonly maxPoolsSelectedCount: number; readonly usdDustThreshold: Dec; protected _selectedConversionPoolIds: Set; get selectedConversionPoolIds(): Set; get selectedConversions(): SuggestedConvertToStakeAssets[]; /** For each user owned pool, this provides a breakdown of shares * that are of lesser returns than the staking inflationary returns. */ get suggestedConvertibleAssetsPerPool(): SuggestedConvertToStakeAssets[]; get isConvertToStakeFeatureRelevantToUser(): boolean; get hasValidatorPreferences(): boolean; /** Returns true if the user has at least some delegation in the SDK staking module. */ get hasDelegation(): boolean; get stakeApr(): import("@keplr-wallet/unit").IntPretty; get canSelectMorePools(): boolean; protected get osmosisQueries(): import("../queries").OsmosisQueriesImpl; protected get cosmosQueries(): import("utility-types/dist/mapped-types")._DeepReadonlyObject<{ queryRPCStatus: import("@keplr-wallet/stores/build/query/cosmos/status").ObservableQueryRPCStatus; queryAccount: import("@keplr-wallet/stores").ObservableQueryAccount; querySpendableBalances: import("@keplr-wallet/stores").ObservableQuerySpendableBalances; queryMint: import("@keplr-wallet/stores").ObservableQueryMintingInfation; queryPool: import("@keplr-wallet/stores").ObservableQueryStakingPool; queryStakingParams: import("@keplr-wallet/stores").ObservableQueryStakingParams; querySupplyTotal: import("@keplr-wallet/stores").ObservableQuerySupplyTotal; queryDistributionParams: import("@keplr-wallet/stores/build/query/cosmos/distribution").ObservableQueryDistributionParams; queryInflation: import("@keplr-wallet/stores").ObservableQueryInflation; queryRewards: import("@keplr-wallet/stores").ObservableQueryRewards; queryDelegations: import("@keplr-wallet/stores").ObservableQueryDelegations; queryUnbondingDelegations: import("@keplr-wallet/stores").ObservableQueryUnbondingDelegations; queryValidators: import("@keplr-wallet/stores").ObservableQueryValidators; queryGovernance: import("@keplr-wallet/stores").ObservableQueryGovernance; queryProposalVote: import("@keplr-wallet/stores").ObservableQueryProposalVote; queryIBCClientState: import("@keplr-wallet/stores").ObservableQueryIBCClientState; queryIBCChannel: import("@keplr-wallet/stores").ObservableQueryIBCChannel; queryIBCDenomTrace: import("@keplr-wallet/stores").ObservableQueryDenomTrace; querySifchainAPY: import("@keplr-wallet/stores/build/query/cosmos/supply/sifchain").ObservableQuerySifchainLiquidityAPY; }>; protected get osmosisAccount(): OsmosisAccountImpl | undefined; protected get accountAddress(): string; protected get fiatCurrency(): import("@keplr-wallet/types").FiatCurrency; constructor(osmosisChainId: string, chainGetter: ChainGetter, queriesStore: IQueriesStore, queriesExternalStore: QueriesExternalStore, accountStore: AccountStore<[ OsmosisAccount, CosmosAccount, CosmwasmAccount ]>, derivedDataStore: DerivedDataStore, priceStore: IPriceStore, /** Max number of convertible pools that can be selected at once. */ maxPoolsSelectedCount?: number, usdDustThreshold?: Dec); /** Add pool to list of pools to be converted, max count not selected. */ selectConversionPoolId(poolId: string): void; /** Remove pool from list of pools to be converted. */ deselectConversionPoolId(poolId: string): void; /** Send the convert to stake message for all currently selected pools. * If no validator address is provided, the user must have a validator preference and that will be used. */ sendConvertToStakeMsg(stakingValidator?: string): Promise; }