import type { Address } from '@hyperlane-xyz/utils'; import type { MultiProviderAdapter } from '../providers/MultiProviderAdapter.js'; import type { ChainName } from '../types.js'; import type { TokenAmount } from './TokenAmount.js'; import type { ITokenMetadata } from './ITokenMetadata.js'; import type { TokenConnection } from './TokenConnection.js'; import type { IHypTokenAdapter, ITokenAdapter } from './adapters/ITokenAdapter.js'; export type { ITokenMetadata, TokenArgs } from './ITokenMetadata.js'; export { TokenConfigSchema } from './ITokenMetadata.js'; export interface IToken extends ITokenMetadata { getConnections(): TokenConnection[]; getConnectionForChain(chain: ChainName): TokenConnection | undefined; addConnection(connection: TokenConnection): IToken; removeConnection(token: IToken): IToken; getAdapter(multiProvider: MultiProviderAdapter): ITokenAdapter; getHypAdapter(multiProvider: MultiProviderAdapter<{ mailbox?: Address; }>, destination?: ChainName): IHypTokenAdapter; getBalance(multiProvider: MultiProviderAdapter, address: Address): Promise>; } //# sourceMappingURL=IToken.d.ts.map