import BigNumber from 'bignumber.js'; import { Token, ExchangePrices, ExchangeTxInfo, PreprocessTransactionOptions, Config, PoolLiquidity, Address, DexExchangeParam } from '../../types'; import { Network, SwapSide } from '../../constants'; import { IDexHelper } from '../../dex-helper'; import { ParaSwapLimitOrders } from '../paraswap-limit-orders/paraswap-limit-orders'; import { ParaSwapLimitOrdersData } from '../paraswap-limit-orders/types'; import { PriceAndAmountBigNumber, RFQConfig, RFQDirectPayload } from './types'; import { NumberAsString, OptimalSwapExchange } from '@paraswap/core'; export declare const OVERORDER_BPS = 100; export declare const BPS_MAX_VALUE = 10000n; export declare const overOrder: (amount: string, bps: number) => string; export declare class GenericRFQ extends ParaSwapLimitOrders { protected network: Network; protected dexHelper: IDexHelper; private config; readonly isStatePollingDex = true; private rateFetcher; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; static builderDexKeysWithNetwork(config: Config): void; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, config: RFQConfig); initializePricing(blockNumber: number): Promise; getIdentifier(srcToken: Address, destToken: Address): string; getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise; calcOutsFromAmounts(amounts: BigNumber[], outMultiplier: BigNumber, amountsWithRates: PriceAndAmountBigNumber[]): bigint[]; getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise | null>; static getDirectFunctionNameV6(): string[]; getDirectParamV6(srcToken: Address, destToken: Address, fromAmount: NumberAsString, toAmount: NumberAsString, quotedAmount: NumberAsString, data: ParaSwapLimitOrdersData, side: SwapSide, permit: string, uuid: string, partnerAndFee: string, beneficiary: string, blockNumber: number, contractMethod: string): { params: RFQDirectPayload; encoder: (...params: (string | RFQDirectPayload)[]) => string; networkFee: string; }; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: ParaSwapLimitOrdersData, side: SwapSide): DexExchangeParam; preProcessTransaction(optimalSwapExchange: OptimalSwapExchange, srcToken: Token, destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange, ExchangeTxInfo]>; getTopPoolsForToken(tokenAddress: string, limit: number): Promise; releaseResources(): void; minUsdTradeValue(): number | null; }