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 interface ExtensibleFallbackHandlerInterface extends Interface { getFunction(nameOrSignature: "addSupportedInterfaceBatch" | "domainVerifiers" | "isValidSignature" | "onERC1155BatchReceived" | "onERC1155Received" | "onERC721Received" | "removeSupportedInterfaceBatch" | "safeInterfaces" | "safeMethods" | "setDomainVerifier" | "setSafeMethod" | "setSupportedInterface" | "supportsInterface"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AddedInterface" | "ChangedDomainVerifier" | "ChangedSafeMethod" | "RemovedInterface"): EventFragment; encodeFunctionData(functionFragment: "addSupportedInterfaceBatch", values: [BytesLike, BytesLike[]]): string; encodeFunctionData(functionFragment: "domainVerifiers", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "isValidSignature", values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "onERC1155BatchReceived", values: [ AddressLike, AddressLike, BigNumberish[], BigNumberish[], BytesLike ]): string; encodeFunctionData(functionFragment: "onERC1155Received", values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "onERC721Received", values: [AddressLike, AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "removeSupportedInterfaceBatch", values: [BytesLike, BytesLike[]]): string; encodeFunctionData(functionFragment: "safeInterfaces", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "safeMethods", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "setDomainVerifier", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setSafeMethod", values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "setSupportedInterface", values: [BytesLike, boolean]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "addSupportedInterfaceBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "domainVerifiers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isValidSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC1155BatchReceived", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC1155Received", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onERC721Received", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeSupportedInterfaceBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "safeInterfaces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "safeMethods", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDomainVerifier", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSafeMethod", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSupportedInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } export declare namespace AddedInterfaceEvent { type InputTuple = [safe: AddressLike, interfaceId: BytesLike]; type OutputTuple = [safe: string, interfaceId: string]; interface OutputObject { safe: string; interfaceId: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ChangedDomainVerifierEvent { type InputTuple = [ safe: AddressLike, domainSeparator: BytesLike, oldVerifier: AddressLike, newVerifier: AddressLike ]; type OutputTuple = [ safe: string, domainSeparator: string, oldVerifier: string, newVerifier: string ]; interface OutputObject { safe: string; domainSeparator: string; oldVerifier: string; newVerifier: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ChangedSafeMethodEvent { type InputTuple = [ safe: AddressLike, selector: BytesLike, oldMethod: BytesLike, newMethod: BytesLike ]; type OutputTuple = [ safe: string, selector: string, oldMethod: string, newMethod: string ]; interface OutputObject { safe: string; selector: string; oldMethod: string; newMethod: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemovedInterfaceEvent { type InputTuple = [safe: AddressLike, interfaceId: BytesLike]; type OutputTuple = [safe: string, interfaceId: string]; interface OutputObject { safe: string; interfaceId: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ExtensibleFallbackHandler extends BaseContract { connect(runner?: ContractRunner | null): ExtensibleFallbackHandler; waitForDeployment(): Promise; interface: ExtensibleFallbackHandlerInterface; 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; addSupportedInterfaceBatch: TypedContractMethod<[ _interfaceId: BytesLike, handlerWithSelectors: BytesLike[] ], [ void ], "nonpayable">; domainVerifiers: TypedContractMethod<[ arg0: AddressLike, arg1: BytesLike ], [ string ], "view">; isValidSignature: TypedContractMethod<[ _hash: BytesLike, signature: BytesLike ], [ string ], "view">; onERC1155BatchReceived: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike ], [ string ], "view">; onERC1155Received: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike ], [ string ], "view">; onERC721Received: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BytesLike ], [ string ], "view">; removeSupportedInterfaceBatch: TypedContractMethod<[ _interfaceId: BytesLike, selectors: BytesLike[] ], [ void ], "nonpayable">; safeInterfaces: TypedContractMethod<[ arg0: AddressLike, arg1: BytesLike ], [ boolean ], "view">; safeMethods: TypedContractMethod<[ arg0: AddressLike, arg1: BytesLike ], [ string ], "view">; setDomainVerifier: TypedContractMethod<[ domainSeparator: BytesLike, newVerifier: AddressLike ], [ void ], "nonpayable">; setSafeMethod: TypedContractMethod<[ selector: BytesLike, newMethod: BytesLike ], [ void ], "nonpayable">; setSupportedInterface: TypedContractMethod<[ interfaceId: BytesLike, supported: boolean ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addSupportedInterfaceBatch"): TypedContractMethod<[ _interfaceId: BytesLike, handlerWithSelectors: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "domainVerifiers"): TypedContractMethod<[ arg0: AddressLike, arg1: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "isValidSignature"): TypedContractMethod<[ _hash: BytesLike, signature: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "onERC1155BatchReceived"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish[], arg3: BigNumberish[], arg4: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "onERC1155Received"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BigNumberish, arg4: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "onERC721Received"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "removeSupportedInterfaceBatch"): TypedContractMethod<[ _interfaceId: BytesLike, selectors: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "safeInterfaces"): TypedContractMethod<[ arg0: AddressLike, arg1: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "safeMethods"): TypedContractMethod<[ arg0: AddressLike, arg1: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "setDomainVerifier"): TypedContractMethod<[ domainSeparator: BytesLike, newVerifier: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setSafeMethod"): TypedContractMethod<[ selector: BytesLike, newMethod: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setSupportedInterface"): TypedContractMethod<[ interfaceId: BytesLike, supported: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getEvent(key: "AddedInterface"): TypedContractEvent; getEvent(key: "ChangedDomainVerifier"): TypedContractEvent; getEvent(key: "ChangedSafeMethod"): TypedContractEvent; getEvent(key: "RemovedInterface"): TypedContractEvent; filters: { "AddedInterface(address,bytes4)": TypedContractEvent; AddedInterface: TypedContractEvent; "ChangedDomainVerifier(address,bytes32,address,address)": TypedContractEvent; ChangedDomainVerifier: TypedContractEvent; "ChangedSafeMethod(address,bytes4,bytes32,bytes32)": TypedContractEvent; ChangedSafeMethod: TypedContractEvent; "RemovedInterface(address,bytes4)": TypedContractEvent; RemovedInterface: TypedContractEvent; }; }