import { IBlockchainExplorer } from '../explorer/IBlockchainExplorer'; import { Web3Client } from '../clients/Web3Client'; import { IToken } from '../models/IToken'; import { TAddress } from '../models/TAddress'; import { TResultAsync } from '../models/TResult'; import { ISwapRouted } from './TokenExchanges/AmmBase/V2/AmmPairV2Service'; interface ITokenPriceOptions { /** default: 1 */ amount?: number; amountWei?: bigint; date?: Date; block?: number; route?: string[]; pairs?: any[]; } interface ITokenPrice { error?: Error; price?: number; pools?: any[]; provider?: string; } export declare class TokenPriceService { private client; private explorer; private tokens; private oracles; constructor(client: Web3Client, explorer: IBlockchainExplorer); getPrice(symbol: string, opts?: ITokenPriceOptions): Promise; getPrice(address: TAddress, opts?: ITokenPriceOptions): Promise; getPrice(token: IToken, opts?: ITokenPriceOptions): Promise; } export declare class TokenPriceServiceCacheable { private service; private cache; private INTERVAL; constructor(service: TokenPriceService); getPrice(symbol: string, opts?: ITokenPriceOptions): TResultAsync; getPrice(address: TAddress, opts?: ITokenPriceOptions): TResultAsync; getPrice(token: IToken, opts?: ITokenPriceOptions): TResultAsync; } export {};