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 declare namespace EventHub { type EventStruct = { tokenId: BigNumberish; uri: string; imprint: BytesLike; destroyLimitTimestamp: BigNumberish; issuer: AddressLike; accepted: boolean; batchIndex: BigNumberish; }; type EventStructOutput = [ tokenId: bigint, uri: string, imprint: string, destroyLimitTimestamp: bigint, issuer: string, accepted: boolean, batchIndex: bigint ] & { tokenId: bigint; uri: string; imprint: string; destroyLimitTimestamp: bigint; issuer: string; accepted: boolean; batchIndex: bigint; }; } export interface EventHubInterface extends Interface { getFunction(nameOrSignature: "acceptEvent" | "createAndAcceptEvent" | "createEvent" | "creditManager" | "destroyEvent" | "eventIdToEventsIndex" | "events" | "getEventData" | "initialize" | "isTrustedForwarder" | "owner" | "proxiableUUID" | "refuseEvent" | "renounceOwnership" | "rulesManager" | "setTrustedForwarder" | "tokenIdToEvents" | "transferOwnership" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AdminChanged" | "BeaconUpgraded" | "EventAccepted" | "EventCreated" | "EventDestroyed" | "EventRefused" | "Initialized" | "OwnershipTransferred" | "TrustedForwarderSet" | "Upgraded"): EventFragment; encodeFunctionData(functionFragment: "acceptEvent", values: [AddressLike, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "createAndAcceptEvent", values: [ AddressLike, BigNumberish, BigNumberish, BytesLike, string, AddressLike ]): string; encodeFunctionData(functionFragment: "createEvent", values: [ AddressLike, BigNumberish, BigNumberish, BytesLike, string, AddressLike ]): string; encodeFunctionData(functionFragment: "creditManager", values?: undefined): string; encodeFunctionData(functionFragment: "destroyEvent", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "eventIdToEventsIndex", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "events", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "getEventData", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "isTrustedForwarder", values: [AddressLike]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "refuseEvent", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "rulesManager", values?: undefined): string; encodeFunctionData(functionFragment: "setTrustedForwarder", values: [AddressLike]): string; encodeFunctionData(functionFragment: "tokenIdToEvents", values: [AddressLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; decodeFunctionResult(functionFragment: "acceptEvent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createAndAcceptEvent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createEvent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "creditManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "destroyEvent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eventIdToEventsIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "events", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEventData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isTrustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "refuseEvent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rulesManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTrustedForwarder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenIdToEvents", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; } export declare namespace AdminChangedEvent { type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; type OutputTuple = [previousAdmin: string, newAdmin: string]; interface OutputObject { previousAdmin: string; newAdmin: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BeaconUpgradedEvent { type InputTuple = [beacon: AddressLike]; type OutputTuple = [beacon: string]; interface OutputObject { beacon: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace EventAcceptedEvent { type InputTuple = [ tokenAddress: AddressLike, tokenId: BigNumberish, eventId: BigNumberish ]; type OutputTuple = [ tokenAddress: string, tokenId: bigint, eventId: bigint ]; interface OutputObject { tokenAddress: string; tokenId: bigint; eventId: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace EventCreatedEvent { type InputTuple = [ tokenAddress: AddressLike, tokenId: BigNumberish, eventId: BigNumberish, imprint: BytesLike, uri: string, issuer: AddressLike ]; type OutputTuple = [ tokenAddress: string, tokenId: bigint, eventId: bigint, imprint: string, uri: string, issuer: string ]; interface OutputObject { tokenAddress: string; tokenId: bigint; eventId: bigint; imprint: string; uri: string; issuer: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace EventDestroyedEvent { type InputTuple = [ tokenAddress: AddressLike, tokenId: BigNumberish, eventId: BigNumberish ]; type OutputTuple = [ tokenAddress: string, tokenId: bigint, eventId: bigint ]; interface OutputObject { tokenAddress: string; tokenId: bigint; eventId: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace EventRefusedEvent { type InputTuple = [ tokenAddress: AddressLike, tokenId: BigNumberish, eventId: BigNumberish ]; type OutputTuple = [ tokenAddress: string, tokenId: bigint, eventId: bigint ]; interface OutputObject { tokenAddress: string; tokenId: bigint; eventId: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } 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 OwnershipTransferredEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TrustedForwarderSetEvent { type InputTuple = [ previousForwarder: AddressLike, newForwarder: AddressLike ]; type OutputTuple = [previousForwarder: string, newForwarder: string]; interface OutputObject { previousForwarder: string; newForwarder: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpgradedEvent { type InputTuple = [implementation: AddressLike]; type OutputTuple = [implementation: string]; interface OutputObject { implementation: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface EventHub extends BaseContract { connect(runner?: ContractRunner | null): EventHub; waitForDeployment(): Promise; interface: EventHubInterface; 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; acceptEvent: TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish, walletProvider: AddressLike ], [ void ], "nonpayable">; createAndAcceptEvent: TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish, tokenId: BigNumberish, imprint: BytesLike, uri: string, creatorProvider: AddressLike ], [ void ], "nonpayable">; createEvent: TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish, tokenId: BigNumberish, imprint: BytesLike, uri: string, creatorProvider: AddressLike ], [ void ], "nonpayable">; creditManager: TypedContractMethod<[], [string], "view">; destroyEvent: TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish ], [ void ], "nonpayable">; eventIdToEventsIndex: TypedContractMethod<[ arg0: AddressLike, arg1: BigNumberish ], [ bigint ], "view">; events: TypedContractMethod<[ arg0: AddressLike, arg1: BigNumberish ], [ [ bigint, string, string, bigint, string, boolean, bigint ] & { tokenId: bigint; uri: string; imprint: string; destroyLimitTimestamp: bigint; issuer: string; accepted: boolean; batchIndex: bigint; } ], "view">; getEventData: TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish ], [ EventHub.EventStructOutput ], "view">; initialize: TypedContractMethod<[ rulesManagerAddress_: AddressLike, creditManagerAddress_: AddressLike, trustedForwarder_: AddressLike ], [ void ], "nonpayable">; isTrustedForwarder: TypedContractMethod<[ forwarder: AddressLike ], [ boolean ], "view">; owner: TypedContractMethod<[], [string], "view">; proxiableUUID: TypedContractMethod<[], [string], "view">; refuseEvent: TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; rulesManager: TypedContractMethod<[], [string], "view">; setTrustedForwarder: TypedContractMethod<[ trustedForwarder: AddressLike ], [ void ], "nonpayable">; tokenIdToEvents: TypedContractMethod<[ arg0: AddressLike, arg1: BigNumberish, arg2: BigNumberish ], [ bigint ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; upgradeTo: TypedContractMethod<[ newImplementation: AddressLike ], [ void ], "nonpayable">; upgradeToAndCall: TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "acceptEvent"): TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish, walletProvider: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "createAndAcceptEvent"): TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish, tokenId: BigNumberish, imprint: BytesLike, uri: string, creatorProvider: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "createEvent"): TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish, tokenId: BigNumberish, imprint: BytesLike, uri: string, creatorProvider: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "creditManager"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "destroyEvent"): TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "eventIdToEventsIndex"): TypedContractMethod<[ arg0: AddressLike, arg1: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "events"): TypedContractMethod<[ arg0: AddressLike, arg1: BigNumberish ], [ [ bigint, string, string, bigint, string, boolean, bigint ] & { tokenId: bigint; uri: string; imprint: string; destroyLimitTimestamp: bigint; issuer: string; accepted: boolean; batchIndex: bigint; } ], "view">; getFunction(nameOrSignature: "getEventData"): TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish ], [ EventHub.EventStructOutput ], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ rulesManagerAddress_: AddressLike, creditManagerAddress_: AddressLike, trustedForwarder_: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isTrustedForwarder"): TypedContractMethod<[forwarder: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "proxiableUUID"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "refuseEvent"): TypedContractMethod<[ tokenAddress: AddressLike, eventId: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "rulesManager"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "setTrustedForwarder"): TypedContractMethod<[trustedForwarder: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "tokenIdToEvents"): TypedContractMethod<[ arg0: AddressLike, arg1: BigNumberish, arg2: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ newImplementation: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ newImplementation: AddressLike, data: BytesLike ], [ void ], "payable">; getEvent(key: "AdminChanged"): TypedContractEvent; getEvent(key: "BeaconUpgraded"): TypedContractEvent; getEvent(key: "EventAccepted"): TypedContractEvent; getEvent(key: "EventCreated"): TypedContractEvent; getEvent(key: "EventDestroyed"): TypedContractEvent; getEvent(key: "EventRefused"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "TrustedForwarderSet"): TypedContractEvent; getEvent(key: "Upgraded"): TypedContractEvent; filters: { "AdminChanged(address,address)": TypedContractEvent; AdminChanged: TypedContractEvent; "BeaconUpgraded(address)": TypedContractEvent; BeaconUpgraded: TypedContractEvent; "EventAccepted(address,uint256,uint256)": TypedContractEvent; EventAccepted: TypedContractEvent; "EventCreated(address,uint256,uint256,bytes32,string,address)": TypedContractEvent; EventCreated: TypedContractEvent; "EventDestroyed(address,uint256,uint256)": TypedContractEvent; EventDestroyed: TypedContractEvent; "EventRefused(address,uint256,uint256)": TypedContractEvent; EventRefused: TypedContractEvent; "Initialized(uint8)": TypedContractEvent; Initialized: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "TrustedForwarderSet(address,address)": TypedContractEvent; TrustedForwarderSet: TypedContractEvent; "Upgraded(address)": TypedContractEvent; Upgraded: TypedContractEvent; }; }