import { Address, ContractState, TestContractResult, HexString, ContractFactory, CallContractParams, CallContractResult, TestContractParams, ContractInstance } from "@alephium/web3"; export declare namespace TestTokenTypes { type Fields = { symbol: HexString; name: HexString; decimals: bigint; totalSupply: bigint; }; type State = ContractState; interface CallMethodTable { getSymbol: { params: Omit, "args">; result: CallContractResult; }; getName: { params: Omit, "args">; result: CallContractResult; }; getDecimals: { params: Omit, "args">; result: CallContractResult; }; getTotalSupply: { params: Omit, "args">; result: CallContractResult; }; } type CallMethodParams = CallMethodTable[T]["params"]; type CallMethodResult = CallMethodTable[T]["result"]; type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; } declare class Factory extends ContractFactory { at(address: string): TestTokenInstance; tests: { getSymbol: (params: Omit, "testArgs">) => Promise>; getName: (params: Omit, "testArgs">) => Promise>; getDecimals: (params: Omit, "testArgs">) => Promise>; getTotalSupply: (params: Omit, "testArgs">) => Promise>; buy: (params: TestContractParams) => Promise>; }; } export declare const TestToken: Factory; export declare class TestTokenInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; methods: { getSymbol: (params?: Omit, "args"> | undefined) => Promise>; getName: (params?: Omit, "args"> | undefined) => Promise>; getDecimals: (params?: Omit, "args"> | undefined) => Promise>; getTotalSupply: (params?: Omit, "args"> | undefined) => Promise>; }; multicall(calls: Calls): Promise>; } export {};