import { IBlockchainExplorer } from '../../explorer/IBlockchainExplorer'; import { Web3Client } from '../../clients/Web3Client'; import { JsonArrayStore } from '../../json/JsonArrayStore'; import { IToken } from '../../models/IToken'; import { TAddress } from '../../models/TAddress'; import { AmmFactoryV2Contract } from '../../prebuilt/amm/AmmFactoryV2Contract/AmmFactoryV2Contract'; import { AmmMasterChefV2Contract } from '../../prebuilt/amm/AmmMasterChefV2Contract/AmmMasterChefV2Contract'; import { AmmVaultV2Contract } from '../../prebuilt/amm/AmmVaultV2Contract/AmmVaultV2Contract'; import { AmmPairV2Contract } from '../../prebuilt/amm/AmmPairV2Contract/AmmPairV2Contract'; interface ILPPair extends IToken { token0: IToken; token1: IToken; i: number; } export declare abstract class AmmV2ExchangeBase { client: Web3Client; explorer: IBlockchainExplorer; abstract name: string; abstract factoryAddress: TAddress; abstract masterChefAddress: TAddress; abstract vaultAddress: TAddress; get pairsStore(): JsonArrayStore; get factoryContract(): AmmFactoryV2Contract; get masterChefContract(): AmmMasterChefV2Contract; get vaultContract(): AmmVaultV2Contract; pairContract(pair: TAddress): AmmPairV2Contract; constructor(client: Web3Client, explorer: IBlockchainExplorer); calcSwap(from: IToken, to: IToken, fromAmount: bigint): Promise<{ amount: bigint; priceImpact: number; }>; getPairs(): Promise; redownloadPairs(): Promise; private getPairInfoAtIndex; private savePairs; private readPairs; } export {};