import { Amount, type EthereumAddress, EthereumBridgeToken } from "../../types/index.js"; import { Contract, type ContractTransaction, type Provider, type Signer } from "ethers"; import { type EthereumWalletConfig } from "../../bridge/ethereum/types.js"; export declare function ethereumAddress(contract: Contract): Promise; export type EthereumTokenInterface = { name(): Promise; symbol(): Promise; decimals(): Promise; balanceOf(account: EthereumAddress): Promise; allowance(owner: EthereumAddress, spender: EthereumAddress): Promise; getContract(signer?: Signer | undefined): Contract | null; approve(spender: EthereumAddress, amount: Amount, signer: Signer): Promise; amount(from: bigint): Promise; isNativeEth(): boolean; }; export declare function intoEthereumToken(bridgeToken: EthereumBridgeToken, config: EthereumWalletConfig): EthereumTokenInterface; export declare class ERC20EthereumToken implements EthereumTokenInterface { private readonly contract; private _metadata?; static create(address: EthereumAddress, provider: Provider): ERC20EthereumToken; constructor(contract: Contract); private metadata; name(): Promise; symbol(): Promise; decimals(): Promise; balanceOf(account: EthereumAddress): Promise; allowance(owner: EthereumAddress, spender: EthereumAddress): Promise; getContract(signer?: Signer): Contract; approve(spender: EthereumAddress, amount: Amount, signer: Signer): Promise; amount(amount: bigint): Promise; isNativeEth(): boolean; getAddress(): Promise; } export declare class EtherToken implements EthereumTokenInterface { private readonly _provider; static create(provider: Provider): EtherToken; private constructor(); name(): Promise; symbol(): Promise; decimals(): Promise; balanceOf(account: EthereumAddress): Promise; amount(amount: bigint): Promise; allowance(): Promise; approve(): Promise; getContract(): null; isNativeEth(): boolean; } //# sourceMappingURL=EtherToken.d.ts.map