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 ModuleManagerInterface extends Interface { getFunction(nameOrSignature: "disableModule" | "enableModule" | "execTransactionFromModule" | "execTransactionFromModuleReturnData" | "getModulesPaginated" | "isModuleEnabled"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "DisabledModule" | "EnabledModule" | "ExecutionFromModuleFailure" | "ExecutionFromModuleSuccess"): EventFragment; encodeFunctionData(functionFragment: "disableModule", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "enableModule", values: [AddressLike]): string; encodeFunctionData(functionFragment: "execTransactionFromModule", values: [AddressLike, BigNumberish, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "execTransactionFromModuleReturnData", values: [AddressLike, BigNumberish, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "getModulesPaginated", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "isModuleEnabled", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "disableModule", data: BytesLike): Result; decodeFunctionResult(functionFragment: "enableModule", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execTransactionFromModule", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execTransactionFromModuleReturnData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getModulesPaginated", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isModuleEnabled", data: BytesLike): Result; } export declare namespace DisabledModuleEvent { type InputTuple = [module: AddressLike]; type OutputTuple = [module: string]; interface OutputObject { module: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace EnabledModuleEvent { type InputTuple = [module: AddressLike]; type OutputTuple = [module: string]; interface OutputObject { module: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ExecutionFromModuleFailureEvent { type InputTuple = [module: AddressLike]; type OutputTuple = [module: string]; interface OutputObject { module: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ExecutionFromModuleSuccessEvent { type InputTuple = [module: AddressLike]; type OutputTuple = [module: string]; interface OutputObject { module: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ModuleManager extends BaseContract { connect(runner?: ContractRunner | null): ModuleManager; waitForDeployment(): Promise; interface: ModuleManagerInterface; 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; disableModule: TypedContractMethod<[ prevModule: AddressLike, module: AddressLike ], [ void ], "nonpayable">; enableModule: TypedContractMethod<[ module: AddressLike ], [ void ], "nonpayable">; execTransactionFromModule: TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish ], [ boolean ], "nonpayable">; execTransactionFromModuleReturnData: TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish ], [ [boolean, string] & { success: boolean; returnData: string; } ], "nonpayable">; getModulesPaginated: TypedContractMethod<[ start: AddressLike, pageSize: BigNumberish ], [ [string[], string] & { array: string[]; next: string; } ], "view">; isModuleEnabled: TypedContractMethod<[ module: AddressLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "disableModule"): TypedContractMethod<[ prevModule: AddressLike, module: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "enableModule"): TypedContractMethod<[module: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "execTransactionFromModule"): TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "execTransactionFromModuleReturnData"): TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish ], [ [boolean, string] & { success: boolean; returnData: string; } ], "nonpayable">; getFunction(nameOrSignature: "getModulesPaginated"): TypedContractMethod<[ start: AddressLike, pageSize: BigNumberish ], [ [string[], string] & { array: string[]; next: string; } ], "view">; getFunction(nameOrSignature: "isModuleEnabled"): TypedContractMethod<[module: AddressLike], [boolean], "view">; getEvent(key: "DisabledModule"): TypedContractEvent; getEvent(key: "EnabledModule"): TypedContractEvent; getEvent(key: "ExecutionFromModuleFailure"): TypedContractEvent; getEvent(key: "ExecutionFromModuleSuccess"): TypedContractEvent; filters: { "DisabledModule(address)": TypedContractEvent; DisabledModule: TypedContractEvent; "EnabledModule(address)": TypedContractEvent; EnabledModule: TypedContractEvent; "ExecutionFromModuleFailure(address)": TypedContractEvent; ExecutionFromModuleFailure: TypedContractEvent; "ExecutionFromModuleSuccess(address)": TypedContractEvent; ExecutionFromModuleSuccess: TypedContractEvent; }; }