import { Route as V2RouteSDK, Pair } from '@uniswap/v2-sdk'; import { Route as V3RouteSDK, Pool as V3Pool } from '@uniswap/v3-sdk'; import { Route as V4RouteSDK, Pool as V4Pool } from '@uniswap/v4-sdk'; import { Protocol } from './protocol'; import { Currency, Price, Token } from '@uniswap/sdk-core'; import { MixedRouteSDK } from './mixedRoute/route'; export declare function getPathToken(currency: Currency, pool: Pair | V3Pool): Token; export interface IRoute { protocol: Protocol; pools: TPool[]; path: Currency[]; midPrice: Price; input: TInput; output: TOutput; pathInput: Currency; pathOutput: Currency; } export declare class RouteV2 extends V2RouteSDK implements IRoute { readonly protocol: Protocol; readonly pools: Pair[]; pathInput: Currency; pathOutput: Currency; constructor(v2Route: V2RouteSDK); } export declare class RouteV3 extends V3RouteSDK implements IRoute { readonly protocol: Protocol; readonly path: Token[]; pathInput: Currency; pathOutput: Currency; constructor(v3Route: V3RouteSDK); } export declare class RouteV4 extends V4RouteSDK implements IRoute { readonly protocol: Protocol; readonly path: Currency[]; constructor(v4Route: V4RouteSDK); } export declare class MixedRoute extends MixedRouteSDK implements IRoute { readonly protocol: Protocol; constructor(mixedRoute: MixedRouteSDK); }