import { Interface } from '@ethersproject/abi'; import { NumberAsString, SwapSide } from '@paraswap/core'; import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, Logger, PoolLiquidity, PoolPrices, Token, TransferFeeParams } from '../../types'; import { IDexTxBuilder } from '../idex'; import { Network } from '../../constants'; import { IDexHelper } from '../../dex-helper'; import { SimpleExchange } from '../simple-exchange'; import { AsyncOrSync } from 'ts-essentials'; import { ETHxEventPool } from './stader-pool'; import { StaderData } from './types'; export declare class Stader extends SimpleExchange implements IDexTxBuilder { protected network: Network; protected config: import("./types").DexParams; static dexKeys: string[]; ETHxAddress: string; SSPM_Address: string; SSPMInterface: Interface; StaderOracleAddress: string; StaderOracleInterface: Interface; erc20Interface: Interface; needWrapNative: boolean; ethxPool: ETHxEventPool; logger: Logger; hasConstantPriceLargeAmounts: boolean; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, config?: import("./types").DexParams); getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: StaderData, side: SwapSide): AdapterExchangeParam; initializePricing(blockNumber: number): Promise; getPricesVolume(srcToken: Token, destToken: Token, amountsIn: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[] | undefined, transferFees?: TransferFeeParams | undefined, isFirstSwap?: boolean | undefined): Promise | null>; isEligibleSwap(srcToken: Token | string, destToken: Token | string): boolean; getDexParam(srcToken: Address, _destToken: Address, srcAmount: NumberAsString, _destAmount: NumberAsString, _recipient: Address, _data: StaderData, _side: SwapSide): DexExchangeParam; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; getCalldataGasCost(poolPrices: PoolPrices): number | number[]; getAdapters(side: SwapSide): { name: string; index: number; }[] | null; getTopPoolsForToken(tokenAddress: string, limit: number): AsyncOrSync; }