import { Address, ContractState, TestContractResult, ContractFactory, CallContractParams, CallContractResult, TestContractParams, ContractInstance } from "@alephium/web3"; export declare namespace MathTestTypes { type State = Omit, "fields">; interface CallMethodTable { normalizeAmount: { params: CallContractParams<{ amount: bigint; decimals: bigint; }>; result: CallContractResult; }; deNormalizeAmount: { params: CallContractParams<{ amount: bigint; decimals: bigint; }>; 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): MathTestInstance; tests: { normalizeAmount: (params: Omit, "initialFields">) => Promise>; deNormalizeAmount: (params: Omit, "initialFields">) => Promise>; }; } export declare const MathTest: Factory; export declare class MathTestInstance extends ContractInstance { constructor(address: Address); fetchState(): Promise; methods: { normalizeAmount: (params: MathTestTypes.CallMethodParams<"normalizeAmount">) => Promise>; deNormalizeAmount: (params: MathTestTypes.CallMethodParams<"deNormalizeAmount">) => Promise>; }; multicall(calls: Calls): Promise>; } export {};