import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { WooFiV2Data, DexParams } from './types'; import { SimpleExchange } from '../simple-exchange'; import { WooFiV2PollingPool } from './woo-fi-v2-pool'; import { WooFiV2Math } from './woo-fi-v2-math'; import { StatePollingManager } from '../../lib/stateful-rpc-poller/state-polling-manager'; export declare class WooFiV2 extends SimpleExchange implements IDex { protected network: Network; readonly dexHelper: IDexHelper; protected adapters: import("../../types").AdapterMappings; readonly config: DexParams; readonly math: WooFiV2Math; protected pollingManager: StatePollingManager; protected pollingPool?: WooFiV2PollingPool; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = true; readonly isFeeOnTransferSupported = false; readonly isStatePollingDex = true; readonly quoteTokenAddress: Address; protected _baseTokens?: Token[]; protected rebateTo?: Address; tokenByAddress?: Record; vaultUSDBalance: number; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, config?: DexParams); private _toLowerForAllConfigAddresses; get baseTokens(): Token[]; initializePricing(blockNumber: number): Promise; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getIdentifier(): string; 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: WooFiV2Data, side: SwapSide): AdapterExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: WooFiV2Data, side: SwapSide): Promise; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: WooFiV2Data, side: SwapSide): DexExchangeParam; updatePoolState(): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; private _initializeTokenByAddress; _fetchBaseTokensAndFeeWallet(): Promise; _fetchDecimals(baseTokenAddresses: Address[]): Promise; initializeTokensAndAddresses(): Promise; private _initializePollingPool; }