import { KVStore } from "@keplr-wallet/common"; import { ChainGetter, CoinGeckoPriceStore } from "@keplr-wallet/stores"; import { FiatCurrency } from "@keplr-wallet/types"; import { CoinPretty, PricePretty } from "@keplr-wallet/unit"; import { ObservableQueryPoolGetter } from "../queries"; import { IntermediateRoute, IPriceStore } from "./types"; /** * PoolFallbackPriceStore permits the some currencies that are not listed on CoinGecko * to use the spot price of the pool as the intermediate. */ export declare class PoolFallbackPriceStore extends CoinGeckoPriceStore implements IPriceStore { protected readonly osmosisChainId: string; protected readonly chainGetter: ChainGetter; protected readonly queryPools: ObservableQueryPoolGetter; /** Coin ID => `IntermediateRoute` */ protected _intermediateRoutesMap: Map; constructor(osmosisChainId: string, chainGetter: ChainGetter, kvStore: KVStore, supportedVsCurrencies: { [vsCurrency: string]: FiatCurrency; }, defaultVsCurrency: string, queryPools: ObservableQueryPoolGetter, intermediateRoutes: IntermediateRoute[]); readonly getPrice: (coinId: string, vsCurrency?: string | undefined) => number | undefined; /** Calculate price of coin, including pool share coins. */ readonly calculatePrice: (coin: CoinPretty, vsCurrency?: string | undefined) => PricePretty | undefined; /** Calculate price of more than one coin. */ readonly calculateTotalPrice: (coins: CoinPretty[], vsCurrency?: string | undefined) => PricePretty | undefined; }