import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam } from '../../types'; import { SwapSide, Network } from '../../constants'; import { IDex } from '../../dex/idex'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { AaveV3StataData, Rounding } from './types'; import { SimpleExchange } from '../simple-exchange'; import { Interface } from '@ethersproject/abi'; export declare const TOKEN_LIST_CACHE_KEY = "stata-token-list"; export declare class AaveV3Stata extends SimpleExchange implements IDex { readonly network: Network; readonly dexKey: string; readonly dexHelper: IDexHelper; protected config: import("./types").DexParams; protected adapters: import("../../types").AdapterMappings; readonly hasConstantPriceLargeAmounts = false; readonly isFeeOnTransferSupported = false; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; logger: Logger; static readonly stata: Interface; private state; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, config?: import("./types").DexParams, adapters?: import("../../types").AdapterMappings); initializePricing(blockNumber: number): Promise; initializeTokens(blockNumber?: number): Promise; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; private _getPoolIdentifier; 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(): AdapterExchangeParam; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: AaveV3StataData, side: SwapSide, executorAddress: Address): DexExchangeParam; updatePoolState(): Promise; getTopPoolsForToken(tokenAddress: Address, limit: number): Promise; previewRedeem(shares: bigint, rate: bigint): bigint; previewMint(shares: bigint, rate: bigint): bigint; previewWithdraw(assets: bigint, rate: bigint): bigint; previewDeposit(assets: bigint, rate: bigint): bigint; _convertToAssets(shares: bigint, rate: bigint, rounding: Rounding): bigint; _convertToShares(assets: bigint, rate: bigint, rounding: Rounding): bigint; rayMulRoundDown(a: bigint, b: bigint): bigint; rayMulRoundUp(a: bigint, b: bigint): bigint; rayDivRoundDown(a: bigint, b: bigint): bigint; rayDivRoundUp(a: bigint, b: bigint): bigint; }