import { ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, Logger, TransferFeeParams, Address, PoolLiquidity, Token, DexExchangeParam, NumberAsString } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { AlgebraData, DexParams } from './types'; import { SimpleExchange } from '../simple-exchange'; import { Interface } from 'ethers/lib/utils'; import { AlgebraEventPoolV1_1 } from './algebra-pool-v1_1'; import { AlgebraEventPoolV1_9 } from './algebra-pool-v1_9'; import { OnPoolCreatedCallback } from './algebra-factory'; import { AlgebraEventPoolV1_9_bidirectional_fee } from './algebra-pool-v1_9_bidirectional_fee'; type IAlgebraEventPool = AlgebraEventPoolV1_1 | AlgebraEventPoolV1_9 | AlgebraEventPoolV1_9_bidirectional_fee; export declare class Algebra extends SimpleExchange implements IDex { protected network: Network; protected dexHelper: IDexHelper; protected adapters: import("../../types").AdapterMappings; readonly routerIface: Interface; readonly quoterIface: Interface; readonly config: DexParams; private readonly factory; readonly isFeeOnTransferSupported: boolean; protected eventPools: Record; private poolInitPromises; protected totalPoolsCount: number; protected nonNullPoolsCount: number; private newlyCreatedPoolKeys; readonly hasConstantPriceLargeAmounts = false; readonly needWrapNative = true; intervalTask?: NodeJS.Timeout; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; private uniswapMulti; private stateMultiContract; private notExistingPoolSetKey; private AlgebraPoolImplem; readonly SRC_TOKEN_DEX_TRANSFERS = 1; readonly DEST_TOKEN_DEX_TRANSFERS = 1; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, routerIface?: Interface, quoterIface?: Interface, config?: DexParams); getAdapters(side: SwapSide): { name: string; index: number; }[] | null; getPoolIdentifier(srcAddress: Address, destAddress: Address): string; initializePricing(blockNumber: number): Promise; onPoolCreatedDeleteFromNonExistingSet: OnPoolCreatedCallback; getPool(srcAddress: Address, destAddress: Address, blockNumber: number): Promise; private _initPool; addMasterPool(poolKey: string, blockNumber: number): Promise; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getPricingFromRpc(from: Token, to: Token, amounts: bigint[], side: SwapSide, pool: IAlgebraEventPool, transferFees?: TransferFeeParams): Promise | null>; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[], transferFees?: TransferFeeParams): Promise>; getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: AlgebraData, side: SwapSide): AdapterExchangeParam; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: AlgebraData, side: SwapSide): Promise; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: AlgebraData, side: SwapSide): DexExchangeParam; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; private _getLoweredAddresses; private _sortTokens; private _toLowerForAllConfigAddresses; private _getOutputs; private _querySubgraph; private _encodePath; releaseResources(): void; } export {};