import { Interface } from '@ethersproject/abi'; import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, Logger, PoolLiquidity, PoolPrices, SimpleExchangeParam, Token } from '../../types'; import { Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { BalancerV1Data, DexParams, OptimizedBalancerV1Data, PoolInfo, PoolsInfo } from './types'; import { SimpleExchange } from '../simple-exchange'; import { BalancerV1EventPool } from './balancer-v1-pool'; import { NumberAsString, SwapSide } from '@paraswap/core'; export declare class BalancerV1 extends SimpleExchange implements IDex { readonly network: Network; readonly dexKey: string; readonly dexHelper: IDexHelper; protected adapters: import("../../types").AdapterMappings; static readonly proxyIface: Interface; protected config: DexParams; protected poolsInfo?: PoolsInfo; protected poolInfosByToken: { [tokenAddress: string]: PoolInfo[]; }; protected eventPools: { [poolAddress: string]: BalancerV1EventPool; }; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = false; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; private balancerMulticall; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings); initializePricing(_blockNumber: number): Promise; getPoolInfosWithTokens(from: Token, to: Token): PoolInfo[]; getAdapters(side: SwapSide): { name: string; index: number; }[] | 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: OptimizedBalancerV1Data, _side: SwapSide): AdapterExchangeParam; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: OptimizedBalancerV1Data, side: SwapSide): DexExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: OptimizedBalancerV1Data, side: SwapSide): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; }