import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export type MessageStruct = { imprint: BytesLike; sender: AddressLike; to: AddressLike; tokenId: BigNumberish; }; export type MessageStructOutput = [ imprint: string, sender: string, to: string, tokenId: bigint ] & { imprint: string; sender: string; to: string; tokenId: bigint; }; export interface ArianeeMessageInterface extends Interface { getFunction(nameOrSignature: "ArianeeMessageStorageV0Location" | "DEFAULT_ADMIN_ROLE" | "getRoleAdmin" | "grantRole" | "hasRole" | "initialize" | "isTrustedForwarder" | "messageLengthByReceiver" | "messages" | "readMessage" | "receiverToMessageIds" | "renounceRole" | "revokeRole" | "sendMessage" | "supportsInterface" | "trustedForwarder"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Initialized" | "MessageRead" | "MessageSent" | "RoleAdminChanged" | "RoleGranted" | "RoleRevoked"): EventFragment; encodeFunctionData(functionFragment: "ArianeeMessageStorageV0Location", values?: undefined): string; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string; encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike, AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "isTrustedForwarder", values: [AddressLike]): string; encodeFunctionData(functionFragment: "messageLengthByReceiver", values: [AddressLike]): string; encodeFunctionData(functionFragment: "messages", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "readMessage", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "receiverToMessageIds", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "sendMessage", values: [BigNumberish, BigNumberish, BytesLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "trustedForwarder", values?: undefined): string; decodeFunctionResult(functionFragment: "ArianeeMessageStorageV0Location", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isTrustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "messageLengthByReceiver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "messages", data: BytesLike): Result; decodeFunctionResult(functionFragment: "readMessage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "receiverToMessageIds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendMessage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trustedForwarder", data: BytesLike): Result; } export declare namespace InitializedEvent { type InputTuple = [version: BigNumberish]; type OutputTuple = [version: bigint]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MessageReadEvent { type InputTuple = [ _receiver: AddressLike, _sender: AddressLike, _messageId: BigNumberish ]; type OutputTuple = [ _receiver: string, _sender: string, _messageId: bigint ]; interface OutputObject { _receiver: string; _sender: string; _messageId: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MessageSentEvent { type InputTuple = [ _receiver: AddressLike, _sender: AddressLike, _tokenId: BigNumberish, _messageId: BigNumberish ]; type OutputTuple = [ _receiver: string, _sender: string, _tokenId: bigint, _messageId: bigint ]; interface OutputObject { _receiver: string; _sender: string; _tokenId: bigint; _messageId: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleAdminChangedEvent { type InputTuple = [ role: BytesLike, previousAdminRole: BytesLike, newAdminRole: BytesLike ]; type OutputTuple = [ role: string, previousAdminRole: string, newAdminRole: string ]; interface OutputObject { role: string; previousAdminRole: string; newAdminRole: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleGrantedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [role: string, account: string, sender: string]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RoleRevokedEvent { type InputTuple = [ role: BytesLike, account: AddressLike, sender: AddressLike ]; type OutputTuple = [role: string, account: string, sender: string]; interface OutputObject { role: string; account: string; sender: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ArianeeMessage extends BaseContract { connect(runner?: ContractRunner | null): ArianeeMessage; waitForDeployment(): Promise; interface: ArianeeMessageInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; ArianeeMessageStorageV0Location: TypedContractMethod<[], [string], "view">; DEFAULT_ADMIN_ROLE: TypedContractMethod<[], [string], "view">; getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">; grantRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; hasRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; initialize: TypedContractMethod<[ _initialAdmin: AddressLike, _smartAssetAddress: AddressLike, _storeAddress: AddressLike, _whitelistAddress: AddressLike ], [ void ], "nonpayable">; isTrustedForwarder: TypedContractMethod<[ forwarder: AddressLike ], [ boolean ], "view">; messageLengthByReceiver: TypedContractMethod<[ _receiver: AddressLike ], [ bigint ], "view">; messages: TypedContractMethod<[ _messageId: BigNumberish ], [ MessageStructOutput ], "view">; readMessage: TypedContractMethod<[ _messageId: BigNumberish, _from: AddressLike ], [ bigint ], "nonpayable">; receiverToMessageIds: TypedContractMethod<[ _receiver: AddressLike, _index: BigNumberish ], [ bigint ], "view">; renounceRole: TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; revokeRole: TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; sendMessage: TypedContractMethod<[ _messageId: BigNumberish, _tokenId: BigNumberish, _imprint: BytesLike, _from: AddressLike, _rewards: BigNumberish ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; trustedForwarder: TypedContractMethod<[], [string], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "ArianeeMessageStorageV0Location"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "DEFAULT_ADMIN_ROLE"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getRoleAdmin"): TypedContractMethod<[role: BytesLike], [string], "view">; getFunction(nameOrSignature: "grantRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ _initialAdmin: AddressLike, _smartAssetAddress: AddressLike, _storeAddress: AddressLike, _whitelistAddress: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isTrustedForwarder"): TypedContractMethod<[forwarder: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "messageLengthByReceiver"): TypedContractMethod<[_receiver: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "messages"): TypedContractMethod<[ _messageId: BigNumberish ], [ MessageStructOutput ], "view">; getFunction(nameOrSignature: "readMessage"): TypedContractMethod<[ _messageId: BigNumberish, _from: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "receiverToMessageIds"): TypedContractMethod<[ _receiver: AddressLike, _index: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "renounceRole"): TypedContractMethod<[ role: BytesLike, callerConfirmation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revokeRole"): TypedContractMethod<[ role: BytesLike, account: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "sendMessage"): TypedContractMethod<[ _messageId: BigNumberish, _tokenId: BigNumberish, _imprint: BytesLike, _from: AddressLike, _rewards: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "trustedForwarder"): TypedContractMethod<[], [string], "view">; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "MessageRead"): TypedContractEvent; getEvent(key: "MessageSent"): TypedContractEvent; getEvent(key: "RoleAdminChanged"): TypedContractEvent; getEvent(key: "RoleGranted"): TypedContractEvent; getEvent(key: "RoleRevoked"): TypedContractEvent; filters: { "Initialized(uint64)": TypedContractEvent; Initialized: TypedContractEvent; "MessageRead(address,address,uint256)": TypedContractEvent; MessageRead: TypedContractEvent; "MessageSent(address,address,uint256,uint256)": TypedContractEvent; MessageSent: TypedContractEvent; "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent; RoleAdminChanged: TypedContractEvent; "RoleGranted(bytes32,address,address)": TypedContractEvent; RoleGranted: TypedContractEvent; "RoleRevoked(bytes32,address,address)": TypedContractEvent; RoleRevoked: TypedContractEvent; }; }