import { IDexHelper } from '../dex-helper'; import { Address, OptimalRate, SwapSide } from '@paraswap/core'; import { ExecutorBytecodeBuilder } from './ExecutorBytecodeBuilder'; import { Executors, RouteExecutionType } from './types'; export declare class ExecutorDetector { protected dexHelper: IDexHelper; private executor01BytecodeBuilder; private executor02BytecodeBuilder; private executor03BytecodeBuilder; private wethBytecodeBuilder; protected routeExecutionTypeToExecutorMap: Record>>; constructor(dexHelper: IDexHelper); getRouteExecutionType(priceRoute: OptimalRate): RouteExecutionType; detectSpecialExecutor(priceRoute: OptimalRate): Executors | null; getExecutorByPriceRoute(priceRoute: OptimalRate): Executors; getAddress(executorName: Executors): Address; getBytecodeBuilder(executorName: Executors): ExecutorBytecodeBuilder; }