import { Interface } from '@ethersproject/abi'; import { Prettify, TokenMetadataFetcher } from '../../utils'; import { EngineID } from '../core'; import { RouteInput, SwapEngine, SwapEngineQuote, SwapEngineRoute } from '../models'; declare type LiquidSwapRouteRequest = { tokenA: string; tokenB: string; amountIn?: string; amountOut?: string; multiHop?: boolean; excludeDexes?: string; }; declare type LiquidSwapTokenInfo = { address: string; symbol: string; name: string; decimals: number; }; declare type Allocation = { poolAddress: string; routerIndex: number; routerName: string; fee: number; stable: boolean; percentage: number; amountIn: string; }; declare type LiquidQuoteData = { status: string; tokenInfo: { [key: string]: LiquidSwapTokenInfo; } & { amountIn: string; }; bestPath: { amountOut: string; allocations?: Allocation[]; hop: [{ tokenIn: string; tokenOut: string; allocations: Allocation[]; }]; }; }; declare type LiquidSwapQuote = Prettify; export declare class LiquidSwapEngine implements SwapEngine { readonly id: EngineID; static routerInterface: Interface; private tokenMetadataFetcher; constructor(tokenMetadataFetcher: TokenMetadataFetcher); getQuote(input: RouteInput): Promise; generateRoute(input: RouteInput, quote: LiquidSwapQuote): Promise; getSingleHopQuoteData(params: LiquidSwapRouteRequest, timeout: number): Promise; getMultiHopQuoteData(params: LiquidSwapRouteRequest, timeout: number): Promise; getQuoteData(params: LiquidSwapRouteRequest, timeout: number): Promise; private transformNativeToken; } export {};