import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common"; export interface IRulesManagerInterface extends Interface { getFunction(nameOrSignature: "addEventGlobalAllowlist" | "addMsgGlobalAllowlist" | "addMsgPerTokenAllowlist" | "addMsgPerTokenBlacklist" | "eventGlobalAllowlist" | "isAllowedEventEmitter" | "isAllowedMsgSender" | "msgGlobalAllowlist" | "removeEventGlobalAllowlist" | "removeMsgGlobalAllowlist" | "removeMsgPerTokenAllowlist" | "removeMsgPerTokenBlacklist" | "toggleFeatures" | "tokenToTokenRules"): FunctionFragment; encodeFunctionData(functionFragment: "addEventGlobalAllowlist", values: [AddressLike, AddressLike[]]): string; encodeFunctionData(functionFragment: "addMsgGlobalAllowlist", values: [AddressLike, AddressLike[]]): string; encodeFunctionData(functionFragment: "addMsgPerTokenAllowlist", values: [AddressLike, BigNumberish, AddressLike[]]): string; encodeFunctionData(functionFragment: "addMsgPerTokenBlacklist", values: [AddressLike, BigNumberish, AddressLike[]]): string; encodeFunctionData(functionFragment: "eventGlobalAllowlist", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "isAllowedEventEmitter", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "isAllowedMsgSender", values: [AddressLike, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "msgGlobalAllowlist", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "removeEventGlobalAllowlist", values: [AddressLike, AddressLike[]]): string; encodeFunctionData(functionFragment: "removeMsgGlobalAllowlist", values: [AddressLike, AddressLike[]]): string; encodeFunctionData(functionFragment: "removeMsgPerTokenAllowlist", values: [AddressLike, BigNumberish, AddressLike[]]): string; encodeFunctionData(functionFragment: "removeMsgPerTokenBlacklist", values: [AddressLike, BigNumberish, AddressLike[]]): string; encodeFunctionData(functionFragment: "toggleFeatures", values: [AddressLike, boolean, boolean]): string; encodeFunctionData(functionFragment: "tokenToTokenRules", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "addEventGlobalAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addMsgGlobalAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addMsgPerTokenAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addMsgPerTokenBlacklist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "eventGlobalAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAllowedEventEmitter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAllowedMsgSender", data: BytesLike): Result; decodeFunctionResult(functionFragment: "msgGlobalAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeEventGlobalAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeMsgGlobalAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeMsgPerTokenAllowlist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeMsgPerTokenBlacklist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "toggleFeatures", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenToTokenRules", data: BytesLike): Result; } export interface IRulesManager extends BaseContract { connect(runner?: ContractRunner | null): IRulesManager; waitForDeployment(): Promise; interface: IRulesManagerInterface; 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; addEventGlobalAllowlist: TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; addMsgGlobalAllowlist: TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; addMsgPerTokenAllowlist: TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; addMsgPerTokenBlacklist: TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; eventGlobalAllowlist: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; isAllowedEventEmitter: TypedContractMethod<[ tokenAddress: AddressLike, sender: AddressLike ], [ boolean ], "view">; isAllowedMsgSender: TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, sender: AddressLike ], [ boolean ], "view">; msgGlobalAllowlist: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; removeEventGlobalAllowlist: TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; removeMsgGlobalAllowlist: TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; removeMsgPerTokenAllowlist: TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; removeMsgPerTokenBlacklist: TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; toggleFeatures: TypedContractMethod<[ tokenAddress: AddressLike, msgEnabled: boolean, eventEnabled: boolean ], [ void ], "nonpayable">; tokenToTokenRules: TypedContractMethod<[ arg0: AddressLike ], [ [ boolean, boolean, boolean ] & { msgEnabled: boolean; eventEnabled: boolean; eventAllowlistActive: boolean; } ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addEventGlobalAllowlist"): TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "addMsgGlobalAllowlist"): TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "addMsgPerTokenAllowlist"): TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "addMsgPerTokenBlacklist"): TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "eventGlobalAllowlist"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isAllowedEventEmitter"): TypedContractMethod<[ tokenAddress: AddressLike, sender: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isAllowedMsgSender"): TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, sender: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "msgGlobalAllowlist"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "removeEventGlobalAllowlist"): TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "removeMsgGlobalAllowlist"): TypedContractMethod<[ tokenAddress: AddressLike, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "removeMsgPerTokenAllowlist"): TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "removeMsgPerTokenBlacklist"): TypedContractMethod<[ tokenAddress: AddressLike, tokenId: BigNumberish, addresses: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "toggleFeatures"): TypedContractMethod<[ tokenAddress: AddressLike, msgEnabled: boolean, eventEnabled: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tokenToTokenRules"): TypedContractMethod<[ arg0: AddressLike ], [ [ boolean, boolean, boolean ] & { msgEnabled: boolean; eventEnabled: boolean; eventAllowlistActive: boolean; } ], "view">; filters: {}; }