import { Address, ContractState, TestContractResult, HexString, ContractFactory, CallContractParams, CallContractResult, TestContractParams, ContractInstance } from "@alephium/web3"; export declare namespace LocalTokenPoolTypes { type Fields = { tokenBridgeId: HexString; tokenChainId: bigint; bridgeTokenId: HexString; totalBridged: bigint; decimals_: 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; }; normalizeAmount: { params: CallContractParams<{ amount: bigint; decimals: bigint; }>; result: CallContractResult; }; deNormalizeAmount: { params: CallContractParams<{ amount: bigint; decimals: bigint; }>; result: CallContractResult; }; transfer: { params: CallContractParams<{ fromAddress: Address; toAddress: HexString; amount: bigint; arbiterFee: bigint; nonce: HexString; }>; 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 { consts: { Path: { AttestTokenHandler: string; TokenBridgeForChain: string; TokenPool: string; }; ErrorCodes: { InvalidEmitChainId: bigint; InvalidEmitAddress: bigint; InvalidMessageSize: bigint; InvalidSequence: bigint; InvalidModule: bigint; InvalidActionId: bigint; InvalidVersion: bigint; InvalidGuardianSetIndex: bigint; InvalidGuardianSetSize: bigint; InvalidSignatureSize: bigint; InvalidSignatureGuardianIndex: bigint; InvalidSignature: bigint; GuardianSetExpired: bigint; InvalidTargetChainId: bigint; ContractStateMismatch: bigint; InvalidRegisterChainMessage: bigint; InvalidTokenId: bigint; InvalidNonceSize: bigint; TokenNotExist: bigint; InvalidTransferTargetChain: bigint; InvalidDestroyUnexecutedSequenceMessage: bigint; InvalidCaller: bigint; ArbiterFeeLessThanAmount: bigint; InvalidAttestTokenMessage: bigint; InvalidPayloadId: bigint; InvalidTransferMessage: bigint; ExpectRemoteToken: bigint; InvalidConsistencyLevel: bigint; InvalidUpdateRefundAddressMessage: bigint; TransferAmountLessThanMessageFee: bigint; InvalidAttestTokenArg: bigint; InvalidAttestTokenHandler: bigint; NotSupported: bigint; }; PayloadId: { Transfer: string; AttestToken: string; }; }; at(address: string): LocalTokenPoolInstance; tests: { getSymbol: (params: Omit, "testArgs">) => Promise>; getName: (params: Omit, "testArgs">) => Promise>; getDecimals: (params: Omit, "testArgs">) => Promise>; getTotalSupply: (params: Omit, "testArgs">) => Promise>; completeTransfer: (params: TestContractParams) => Promise>; prepareTransfer: (params: TestContractParams) => Promise>; prepareCompleteTransfer: (params: TestContractParams) => Promise>; normalizeAmount: (params: TestContractParams) => Promise>; deNormalizeAmount: (params: TestContractParams) => Promise>; transfer: (params: TestContractParams) => Promise>; }; } export declare const LocalTokenPool: Factory; export declare class LocalTokenPoolInstance 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>; normalizeAmount: (params: LocalTokenPoolTypes.CallMethodParams<"normalizeAmount">) => Promise>; deNormalizeAmount: (params: LocalTokenPoolTypes.CallMethodParams<"deNormalizeAmount">) => Promise>; transfer: (params: LocalTokenPoolTypes.CallMethodParams<"transfer">) => Promise>; }; multicall(calls: Calls): Promise>; } export {};