import { IBaseAdapterCommonOptions, IBridgeProvider } from '../adapters/base/types'; import { CBridgeAdapter } from '../adapters/cBridge/adapter'; import { DeBridgeAdapter } from '../adapters/deBridge/adapter'; import { LayerZeroAdapter } from '../adapters/layerZero/adapter'; import { MesonAdapter } from '../adapters/meson/adapter'; import { StargateAdapter } from '../adapters/stargate/adapter'; import { BridgeType, IBridgeChain, IBridgeToken, INativeCurrency, ValueOf } from '../shared/types'; import { MayanAdapter } from '../adapters/mayan/adapter'; export interface Adapters { cBridge: CBridgeAdapter; deBridge: DeBridgeAdapter; layerZero: LayerZeroAdapter; meson: MesonAdapter; stargate: StargateAdapter; mayan: MayanAdapter; } export interface AggregatorOptions extends Omit { providers: IBridgeProvider[]; chainSorter?: (a: IBridgeChain, b: IBridgeChain) => number; tokenSorter?: (a: IBridgeToken, b: IBridgeToken) => number; } export declare class Aggregator { private options; adapters: Array>; nativeCurrencies: Record; constructor(options: AggregatorOptions); private initNativeCurrencies; private initAdapters; getAdapter

(id: P): Adapters[P] | undefined; getNativeCurrency(chainId?: number): INativeCurrency | undefined; getFromChains(): IBridgeChain[]; getToChains({ fromChainId }: { fromChainId: number; }): IBridgeChain[]; getTokens({ fromChainId, toChainId, }: { fromChainId: number; toChainId: number; }): IBridgeToken[]; getToTokens({ fromChainId, toChainId, tokenAddress, }: { fromChainId: number; toChainId: number; tokenAddress: string; }): IBridgeToken[]; getFromChainDetail({ fromChainId, toChainId, tokenAddress, }: { fromChainId: number; toChainId: number; tokenAddress: string; }): IBridgeChain | undefined; getToChainDetail({ fromChainId, toChainId, tokenAddress, }: { fromChainId: number; toChainId: number; tokenAddress: string; }): IBridgeChain | undefined; getTokenDetail({ fromChainId, toChainId, tokenAddress, }: { fromChainId: number; toChainId: number; tokenAddress: string; }): IBridgeToken | undefined; getToTokenDetail({ fromChainId, toChainId, fromTokenAddress, toTokenAddress, }: { fromChainId: number; toChainId: number; fromTokenAddress: string; toTokenAddress: string; }): IBridgeToken | undefined; }