import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam, ExchangeTxInfo, PreprocessTransactionOptions } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { LitePsmData, PoolState, PoolConfig, LitePsmDirectPayload } from './types'; import { SimpleExchange } from '../simple-exchange'; import { OptimalSwapExchange } from '@paraswap/core'; import { LitePsmEventPool } from './lite-psm-event-pool'; export declare class LitePsm extends SimpleExchange implements IDex { protected network: Network; protected dexHelper: IDexHelper; protected dai: Token; protected usds: Token; protected usdsPsm: Address; protected vatAddress: Address; protected poolConfigs: PoolConfig[]; protected eventPools: { [gemAddress: string]: LitePsmEventPool; }; readonly hasConstantPriceLargeAmounts = true; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, dai?: Token, usds?: Token, usdsPsm?: Address, vatAddress?: Address, poolConfigs?: PoolConfig[]); static getDirectFunctionNameV6(): string[]; initializePricing(blockNumber: number): Promise; private initializeEventPools; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; getEventPool(srcToken: Token, destToken: Token): LitePsmEventPool | null; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getPoolState(pool: LitePsmEventPool, blockNumber: number): Promise; computePrices(isDestGem: boolean, to18ConversionFactor: bigint, side: SwapSide, amounts: bigint[], poolState: PoolState): bigint[]; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise>; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; getPsmParams(srcToken: string, srcAmount: string, destAmount: string, data: LitePsmData, side: SwapSide): { isGemSell: boolean; gemAmount: string; }; getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: LitePsmData, side: SwapSide): AdapterExchangeParam; preProcessTransaction?(optimalSwapExchange: OptimalSwapExchange, srcToken: Token, destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange, ExchangeTxInfo]>; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: LitePsmData, side: SwapSide): DexExchangeParam; getDirectParamV6(srcToken: Address, destToken: Address, fromAmount: NumberAsString, toAmount: NumberAsString, quotedAmount: NumberAsString, data: LitePsmData, side: SwapSide, permit: string, uuid: string, partnerAndFee: string, beneficiary: string, blockNumber: number, contractMethod: string): { params: LitePsmDirectPayload; encoder: (...params: (string | LitePsmDirectPayload)[]) => string; networkFee: string; }; updatePoolState(): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; }