import { Interface } from '@ethersproject/abi'; 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 { MaverickV1Data, MaverickV1Param, SubgraphPoolBase } from './types'; import { SimpleExchange } from '../simple-exchange'; import { MaverickV1EventPool } from './maverick-v1-pool'; import { NumberAsString } from '@paraswap/core'; export declare class MaverickV1 extends SimpleExchange implements IDex { protected network: Network; protected dexHelper: IDexHelper; protected adapters: import("../../types").AdapterMappings; readonly routerIface: Interface; protected config: import("./types").DexParams; protected subgraphURL: string; pools: { [key: string]: MaverickV1EventPool; }; readonly isFeeOnTransferSupported: boolean; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = true; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; routerAddress: string; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, // TODO: add any additional optional params to support other fork DEXes routerIface?: Interface, config?: import("./types").DexParams, subgraphURL?: string); setupEventPools(blockNumber: number): Promise; initializePricing(blockNumber: number): Promise; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; fetchAllSubgraphPools(): Promise; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getPools(srcToken: Token, destToken: Token): Promise; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise>; getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MaverickV1Data, side: SwapSide): AdapterExchangeParam; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: MaverickV1Data, side: SwapSide): DexExchangeParam; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MaverickV1Data, side: SwapSide): Promise; private _querySubgraph; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; private _getPoolBalances; }