import { MsgTransferEncodeObject } from '@cosmjs/stargate'; import { Address, Numberish } from '@hyperlane-xyz/utils'; import type { MultiProviderAdapter } from '../providers/MultiProviderAdapter.js'; import { ChainName } from '../types.js'; import type { IToken } from './IToken.js'; import { TokenAmount } from './TokenAmount.js'; import { TokenConnection } from './TokenConnection.js'; import { TokenMetadata } from './TokenMetadata.js'; import type { IHypTokenAdapter, ITokenAdapter } from './adapters/ITokenAdapter.js'; export declare class Token extends TokenMetadata implements IToken { amount(amount: Numberish): TokenAmount; getConnections(): TokenConnection[]; getConnectionForChain(chain: ChainName): TokenConnection | undefined; addConnection(connection: TokenConnection): Token; removeConnection(token: IToken): Token; /** * Returns a TokenAdapter for the token and multiProvider * @throws If multiProvider does not contain this token's chain. * @throws If token is an NFT (TODO NFT Adapter support) */ getAdapter(multiProvider: MultiProviderAdapter): ITokenAdapter; /** * Returns a HypTokenAdapter for the token and multiProvider * @throws If not applicable to this token's standard. * @throws If multiProvider does not contain this token's chain. * @throws If token is an NFT (TODO NFT Adapter support) */ getHypAdapter(multiProvider: MultiProviderAdapter<{ mailbox?: Address; }>, destination?: ChainName): IHypTokenAdapter; protected getIbcAdapter(multiProvider: MultiProviderAdapter, connection: TokenConnection): IHypTokenAdapter; /** * Convenience method to create an adapter and return an account balance */ getBalance(multiProvider: MultiProviderAdapter, address: Address): Promise>; } interface GetCollateralTokenAdapterOptions { multiProvider: MultiProviderAdapter; chainName: ChainName; tokenAddress: Address; } export declare function getCollateralTokenAdapter({ chainName, multiProvider, tokenAddress, }: GetCollateralTokenAdapterOptions): ITokenAdapter; export {}; //# sourceMappingURL=Token.d.ts.map