import { ChainGetter, HasMapStore, IQueriesStore } from "@keplr-wallet/stores"; import { AccountStore } from "src"; import { IPriceStore } from "../../price"; import { OsmosisQueries } from "../../queries"; import { ObservableQueryActiveGauges, ObservableQueryPoolFeesMetrics } from "../../queries-external"; import { ObservableSharePoolDetails } from "./share-pool-details"; import { ObservableSuperfluidPoolDetails } from "./superfluid"; import { BondDuration } from "./types"; /** Provides info for the current account's bonding status in a pool. */ export declare class ObservableSharePoolBonding { protected readonly poolId: string; protected readonly osmosisChainId: string; protected readonly sharePoolDetails: ObservableSharePoolDetails; protected readonly superfluidPoolDetails: ObservableSuperfluidPoolDetails; protected readonly chainGetter: ChainGetter; protected readonly priceStore: IPriceStore; protected readonly externalQueries: { queryPoolFeeMetrics: ObservableQueryPoolFeesMetrics; queryActiveGauges: ObservableQueryActiveGauges; }; protected readonly accountStore: AccountStore; protected readonly queriesStore: IQueriesStore; constructor(poolId: string, osmosisChainId: string, sharePoolDetails: ObservableSharePoolDetails, superfluidPoolDetails: ObservableSuperfluidPoolDetails, chainGetter: ChainGetter, priceStore: IPriceStore, externalQueries: { queryPoolFeeMetrics: ObservableQueryPoolFeesMetrics; queryActiveGauges: ObservableQueryActiveGauges; }, accountStore: AccountStore, queriesStore: IQueriesStore); protected get bech32Address(): string; protected get queries(): import("src").OsmosisQueriesImpl; protected get querySharePool(): import("src").ObservableQueryPool | undefined; /** Information about share pools. */ protected get sharePoolDetail(): import("src").ObservableSharePoolDetail; protected get superfluidPoolDetail(): import("src").ObservableSuperfluidPoolDetail; /** Calculates the stop in the bonding process the user is in. * * 1. Liquidity needs to be added * 2. Liquidity needs to be bonded */ readonly calculateBondLevel: (bondDurations: BondDuration[]) => 1 | 2 | undefined; /** Gets all durations for user to bond in, or has locked tokens for, * with a breakdown of the assets incentivizing the duration. * Internal OSMO incentives & swap fees included in breakdown. */ get bondDurations(): BondDuration[]; /** Highest APR that can be earned in this share pool. */ get highestBondDuration(): BondDuration | undefined; /** Memoizes calculation of bond duration data per duration in ms */ protected readonly getBondDuration: (durationMs: number) => BondDuration | undefined; } /** Map of current accounts bonding info for all pools by pool ID. */ export declare class ObservablePoolsBonding extends HasMapStore { protected readonly osmosisChainId: string; protected readonly poolDetails: ObservableSharePoolDetails; protected readonly superfluidPoolDetails: ObservableSuperfluidPoolDetails; protected readonly priceStore: IPriceStore; protected readonly chainGetter: ChainGetter; protected readonly externalQueries: { queryPoolFeeMetrics: ObservableQueryPoolFeesMetrics; queryActiveGauges: ObservableQueryActiveGauges; }; protected readonly accountStore: AccountStore; protected readonly queriesStore: IQueriesStore; constructor(osmosisChainId: string, poolDetails: ObservableSharePoolDetails, superfluidPoolDetails: ObservableSuperfluidPoolDetails, priceStore: IPriceStore, chainGetter: ChainGetter, externalQueries: { queryPoolFeeMetrics: ObservableQueryPoolFeesMetrics; queryActiveGauges: ObservableQueryActiveGauges; }, accountStore: AccountStore, queriesStore: IQueriesStore); get(poolId: string): ObservableSharePoolBonding; }