import { MsgSendEncodeObject, MsgTransferEncodeObject } from '@cosmjs/stargate'; import { Address, Domain } from '@hyperlane-xyz/utils'; import { BaseCosmosAdapter } from '../../app/MultiProtocolApp.js'; import type { MultiProviderAdapter } from '../../providers/MultiProviderAdapter.js'; import { ChainName } from '../../types.js'; import { TokenMetadata } from '../types.js'; import { IHypTokenAdapter, ITokenAdapter, InterchainGasQuote, QuoteTransferRemoteParams, TransferParams, TransferRemoteParams } from './ITokenAdapter.js'; export declare class CosmNativeTokenAdapter extends BaseCosmosAdapter implements ITokenAdapter { readonly chainName: ChainName; readonly multiProvider: MultiProviderAdapter; readonly addresses: Record; readonly properties: { ibcDenom: string; }; constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: Record, properties: { ibcDenom: string; }); getBalance(address: string): Promise; getMetadata(): Promise; getMinimumTransferAmount(_recipient: Address): Promise; isApproveRequired(): Promise; isRevokeApprovalRequired(_owner: Address, _spender: Address): Promise; populateApproveTx(_transferParams: TransferParams): Promise; populateTransferTx(transferParams: TransferParams): Promise; getTotalSupply(): Promise; } export declare class CosmIbcTokenAdapter extends CosmNativeTokenAdapter implements IHypTokenAdapter { readonly chainName: ChainName; readonly multiProvider: MultiProviderAdapter; readonly addresses: Record; readonly properties: { ibcDenom: string; sourcePort: string; sourceChannel: string; }; constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: Record, properties: { ibcDenom: string; sourcePort: string; sourceChannel: string; }); getDomains(): Promise; getRouterAddress(_domain: Domain): Promise; getAllRouters(): Promise>; getBridgedSupply(): Promise; quoteTransferRemoteGas({ destination: _destination, }: QuoteTransferRemoteParams): Promise; getMetadata(): Promise; populateTransferTx(_transferParams: TransferParams): Promise; populateTransferRemoteTx(transferParams: TransferRemoteParams, memo?: string): Promise; } export declare class CosmIbcToWarpTokenAdapter extends CosmIbcTokenAdapter implements IHypTokenAdapter { readonly chainName: ChainName; readonly multiProvider: MultiProviderAdapter; readonly addresses: { intermediateRouterAddress: Address; destinationRouterAddress: Address; }; readonly properties: CosmIbcTokenAdapter['properties'] & { intermediateIbcDenom: string; intermediateChainName: ChainName; }; constructor(chainName: ChainName, multiProvider: MultiProviderAdapter, addresses: { intermediateRouterAddress: Address; destinationRouterAddress: Address; }, properties: CosmIbcTokenAdapter['properties'] & { intermediateIbcDenom: string; intermediateChainName: ChainName; }); quoteTransferRemoteGas({ destination: _destination, }: QuoteTransferRemoteParams): Promise; populateTransferRemoteTx(transferParams: TransferRemoteParams): Promise; } //# sourceMappingURL=CosmosTokenAdapter.d.ts.map