import type { PublicKey } from "@solana/web3.js"; import { Decimal } from "decimal.js"; import type { Graph } from "ngraph.graph"; export interface Price { quote: string; base: string; price: Decimal; } export interface TokenInfo { address: string; symbol: string; decimals: number; } export interface PriceProvider { prices(): Promise>; } export interface TokenProvider { tokens(): Promise>; } export declare class ExchangeRate { readonly priceProviders: PriceProvider[]; readonly tokenProviders: TokenProvider[]; readonly graph: Graph; private _rates; private _symbolTokenMapping; private _addressTokenMapping; constructor(priceProvider: PriceProvider, tokenProvider: TokenProvider); load(): Promise; addPriceProvider(provider: PriceProvider): ExchangeRate; addTokenProvider(provider: TokenProvider): ExchangeRate; tokenInfo(key: string | PublicKey): TokenInfo | undefined; price(base: string | PublicKey, quote: string | PublicKey): Decimal | undefined; swap(base: string | PublicKey, quote: string | PublicKey, amount: Decimal): Decimal | undefined; lamportsSwap(base: string | PublicKey, quote: string | PublicKey, lamports: Decimal): Decimal | undefined; toLamports(token: string | PublicKey, amount: Decimal): Decimal | undefined; toAmount(token: string | PublicKey, amount: Decimal): Decimal | undefined; private _price; private _directPrice; private _pathPrice; } //# sourceMappingURL=exchangeRate.d.ts.map