import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, DexExchangeParam } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { WethData, DexParams, IWethDepositorWithdrawer, DepositWithdrawReturn } from './types'; import { SimpleExchange } from '../simple-exchange'; import { NumberAsString, ParaSwapVersion } from '@paraswap/core'; export declare class Weth extends SimpleExchange implements IDex, IWethDepositorWithdrawer { protected network: Network; protected dexHelper: IDexHelper; protected adapters: { [side: string]: { name: string; index: number; }[]; }; protected unitPrice: bigint; protected poolGasCost: number; readonly hasConstantPriceLargeAmounts = true; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; readonly address: Address; logger: Logger; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: { [side: string]: { name: string; index: number; }[]; }, unitPrice?: bigint, poolGasCost?: number); isWETH(tokenAddress: Address): boolean; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; private getPoolIdentifier; 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: WethData, side: SwapSide): AdapterExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: WethData, side: SwapSide): Promise; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: WethData, side: SwapSide): DexExchangeParam; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; getDepositWithdrawParam(srcAmount: string, destAmount: string, side: SwapSide, version: ParaSwapVersion): DepositWithdrawReturn; }