import { ethers } from 'ethers'; export interface TestTokenInterface { name(): Promise; symbol(): Promise; decimals(): Promise; totalSupply(): Promise; balanceOf(account: string): Promise; transfer(to: string, value: bigint): Promise; approve(spender: string, value: bigint): Promise; transferFrom(from: string, to: string, value: bigint): Promise; allowance(owner: string, spender: string): Promise; connect(signer: ethers.Signer): TestToken; getAddress(): Promise; } export type TestToken = ethers.Contract & TestTokenInterface; export declare function deployTestToken(provider: ethers.Provider, signer: ethers.Signer): Promise; /** * Get a token contract at an existing address * * @param address - Address of the token contract * @param provider - Ethereum provider * @param signer - Optional signer to use for the contract * @returns The token contract */ export declare function getTestTokenAt(address: string, provider: ethers.Provider, signer?: ethers.Signer): Promise;