import { EstimateAmountOutParams, INativeToken, TokenAccount, TokenMetadata } from '../types'; export declare abstract class AbstractChain { readonly chainId: string; readonly name: string; readonly nativeToken: INativeToken; readonly gasFee: { buy: number; sell: number; }; protected constructor(chainId: string, name: string, nativeToken: INativeToken, gasFee: { buy: number; sell: number; }); shouldEstimateAmountOut: boolean; abstract getBalances(address: string[]): Promise; abstract getAccountOwnedTokens(addresses: string[]): Promise>>; /** * @param amountIn pass divided by base value * @param amountInRaw pass raw value */ abstract estimateAmountOut(params: EstimateAmountOutParams): Promise; abstract getTokenMetadata(address: string): Promise; abstract deposit(receiver: string, amount: string, senderAddress: string): Promise; }