import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, Logger, NumberAsString, DexExchangeParam, PoolLiquidity } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { DexParams, FxProtocolData } from './types'; import { SimpleExchange } from '../simple-exchange'; import { Interface } from '@ethersproject/abi'; import { FxProtocolRusdEvent } from './fx-protocol-rusd-event'; export declare class FxProtocolRusd extends SimpleExchange implements IDex { readonly network: Network; readonly dexKey: string; readonly dexHelper: IDexHelper; protected config: DexParams; readonly hasConstantPriceLargeAmounts = true; readonly needWrapNative = false; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; fxUSDIface: Interface; rUSDMarketIface: Interface; weETHOracleIface: Interface; fxProtocolRusdPool: FxProtocolRusdEvent; logger: Logger; constructor(network: Network, dexKey: string, dexHelper: IDexHelper); initializePricing(blockNumber: number): Promise; getConfig(): DexParams; is_weETH(token: string): boolean; is_rUSD(token: string): boolean; is_rUSD_swap_token(srcToken: string, destToken: string): boolean; getAdapters(): null; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise>; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: FxProtocolData, side: SwapSide): AdapterExchangeParam; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: FxProtocolData, side: SwapSide): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; }