import type { Type as Currency, Token } from '@crypto-dex-sdk/currency'; import type { Percent } from '@crypto-dex-sdk/math'; import type { MultiPath } from '../MultiRoute'; import type { Pool } from '../Pool'; import type { StableSwap } from '../StablePool'; import type { BaseTrade, RouteDescription } from './BaseTrade'; import { Amount, Price } from '@crypto-dex-sdk/currency'; import { MultiRoute } from '../MultiRoute'; import { TradeVersion } from './TradeVersion'; export interface BestTradeOptions { maxNumResults?: number; maxHops?: number; } export declare class Trade implements BaseTrade { readonly chainId: number; readonly route: MultiRoute; readonly inputAmount: Amount; readonly outputAmount: Amount; readonly executionPrice: Price; readonly priceImpact: Percent; readonly version = TradeVersion.LEGACY; constructor(chainId: number, route: MultiRoute, amount: Amount); get descriptions(): RouteDescription[]; minimumAmountOut(slippageTolerance: Percent): Amount; static bestTradeExactIn(chainId: number, pairs: Pool[], stableSwaps: StableSwap[], currencyAmountIn: Amount, currencyOut: Currency, { maxHops, maxNumResults }?: BestTradeOptions, currentPaths?: MultiPath[], originalAmountIn?: Amount, bestTrades?: Trade[]): Trade[]; } //# sourceMappingURL=Trade.d.ts.map