import { IBaseAdapterOptions, ITokenPair } from './types'; import { BridgeType, ChainType, IBridgeTokenBaseInfo, IChainConfig, IExternalChain, INativeCurrency } from '../../shared/types'; export declare abstract class BaseAdapter { abstract id: BridgeType; protected abstract bridgedTokenGroups: string[][]; protected options: IBaseAdapterOptions; protected config: G; protected excludedChains: number[]; protected excludedTokens: Record>; protected assetPrefix: string; protected nativeCurrencies: Record; protected brandChains: number[]; protected externalChains: IExternalChain[]; protected displayTokenSymbols: Record>; protected chainConfigs: IChainConfig[]; protected chains: C[]; protected chainMap: Map; protected tokenMap: Map; protected symbolMap: Map>; protected transferMap: Map[]>>>; constructor(options: IBaseAdapterOptions); init(): this; protected abstract initChains(): void; protected abstract initTokens(): void; protected abstract initTransferMap(): void; protected filterTransferMap(): void; abstract getChainId(chain: C): number; abstract getTokenBaseInfo({ chainId, token, }: { chainId: number; token: T; }): IBridgeTokenBaseInfo; getChainBaseInfo(chainId: number): { id: number; name: string; icon: string; explorerUrl: string; tokenUrlPattern: string; chainType: ChainType; externalBridgeUrl: string | undefined; }; protected getTokenDisplaySymbolAndIcon({ chainId, defaultSymbol, tokenAddress, icon, }: { chainId: number; defaultSymbol: string; tokenAddress: string; icon?: string | null; }): { displaySymbol: string; icon: string; }; protected getToTokensForPair({ fromChainId, toChainId, fromTokenSymbol, }: { fromChainId: number; toChainId: number; fromTokenSymbol: string; }): T[]; protected getTokenSymbolByTokenAddress({ chainId, tokenAddress, }: { chainId: number; tokenAddress: string; }): string | undefined; getChainById(chainId: number): C | undefined; getFromChains(): C[]; getToChains({ fromChainId }: { fromChainId: number; }): C[]; getAllTokenPairsOnFromChain({ fromChainId, toChainId, }: { fromChainId: number; toChainId: number; }): ITokenPair[][]; getTokenPairs({ fromChainId, toChainId, tokenAddress, }: { fromChainId: number; toChainId: number; tokenAddress: string; }): ITokenPair[] | undefined; getTokenPair({ fromChainId, toChainId, fromTokenAddress, toTokenAddress, }: { fromChainId: number; toChainId: number; fromTokenAddress: string; toTokenAddress: string; }): ITokenPair | undefined; protected isExcludedToken({ chainId, tokenSymbol, tokenAddress, }: { chainId: number; tokenSymbol: string; tokenAddress: string; }): boolean; isToChainCompatible({ fromChainId, toChainId, }: { fromChainId: number; toChainId: number; }): boolean; isTokenCompatible(params: { fromChainId: number; toChainId: number; tokenAddress: string; }): boolean; }