import { Protocol } from '@uniswap/router-sdk'; import { ChainId, Token, TradeType } from '@warpgatex/warp-sdk-core'; import { ITokenListProvider } from '../../../providers'; import { ITokenProvider } from '../../../providers/token-provider'; import { IV3PoolProvider, V3PoolAccessor } from '../../../providers/v3/pool-provider'; import { IV3SubgraphProvider, V3SubgraphPool } from '../../../providers/v3/subgraph-provider'; import { AlphaRouterConfig } from '../alpha-router'; export declare type PoolId = { id: string; }; export declare type CandidatePoolsBySelectionCriteria = { protocol: Protocol; selections: CandidatePoolsSelections; }; export declare type CandidatePoolsSelections = { topByBaseWithTokenIn: PoolId[]; topByBaseWithTokenOut: PoolId[]; topByDirectSwapPool: PoolId[]; topByEthQuoteTokenPool: PoolId[]; topByTVL: PoolId[]; topByTVLUsingTokenIn: PoolId[]; topByTVLUsingTokenOut: PoolId[]; topByTVLUsingTokenInSecondHops: PoolId[]; topByTVLUsingTokenOutSecondHops: PoolId[]; }; export declare type V3GetCandidatePoolsParams = { tokenIn: Token; tokenOut: Token; routeType: TradeType; routingConfig: AlphaRouterConfig; subgraphProvider: IV3SubgraphProvider; tokenProvider: ITokenProvider; poolProvider: IV3PoolProvider; blockedTokenListProvider?: ITokenListProvider; chainId: ChainId; }; export declare type V2GetCandidatePoolsParams = { tokenIn: Token; tokenOut: Token; routeType: TradeType; routingConfig: AlphaRouterConfig; tokenProvider: ITokenProvider; blockedTokenListProvider?: ITokenListProvider; chainId: ChainId; }; export declare type MixedRouteGetCandidatePoolsParams = { v3CandidatePools: V3CandidatePools; routingConfig: AlphaRouterConfig; tokenProvider: ITokenProvider; v3poolProvider: IV3PoolProvider; blockedTokenListProvider?: ITokenListProvider; chainId: ChainId; }; export declare type V3CandidatePools = { poolAccessor: V3PoolAccessor; candidatePools: CandidatePoolsBySelectionCriteria; subgraphPools: V3SubgraphPool[]; }; export declare function getV3CandidatePools({ tokenIn, tokenOut, routeType, routingConfig, subgraphProvider, tokenProvider, poolProvider, blockedTokenListProvider, chainId, }: V3GetCandidatePoolsParams): Promise;