import { ISwapPrice } from "./ISwapPrice"; import { ChainIds, MultiChain } from "../../swaps/swapper/Swapper"; export declare abstract class ICachedSwapPrice extends ISwapPrice { cache: { [chainIdentifier in keyof T]?: { [tokenAddress: string]: { price: Promise; expiry: number; }; }; }; usdCache: { price: Promise; expiry: number; }; cacheTimeout: number; protected constructor(maxAllowedFeeDiffPPM: bigint, cacheTimeout?: number); protected abstract fetchPrice>(chainIdentifier: C, token: string, abortSignal?: AbortSignal): Promise; protected abstract fetchUsdPrice(abortSignal?: AbortSignal): Promise; protected getPrice>(chainIdentifier: C, tokenAddress: string, abortSignal?: AbortSignal): Promise; /** * Returns BTC price in USD (sats/USD) * * @param abortSignal * @throws {Error} if token is not found */ protected getUsdPrice(abortSignal?: AbortSignal): Promise; }