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 RolesV1Interface extends Interface { getFunction(nameOrSignature: "allowTarget" | "assignRoles" | "avatar" | "defaultRoles" | "disableModule" | "enableModule" | "execTransactionFromModule" | "execTransactionFromModuleReturnData" | "execTransactionWithRole" | "execTransactionWithRoleReturnData" | "getGuard" | "getModulesPaginated" | "guard" | "isModuleEnabled" | "multisend" | "owner" | "renounceOwnership" | "revokeTarget" | "scopeAllowFunction" | "scopeFunction" | "scopeFunctionExecutionOptions" | "scopeParameter" | "scopeParameterAsOneOf" | "scopeRevokeFunction" | "scopeTarget" | "setAvatar" | "setDefaultRole" | "setGuard" | "setMultisend" | "setTarget" | "setUp" | "target" | "transferOwnership" | "unscopeParameter"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AssignRoles" | "AvatarSet" | "ChangedGuard" | "DisabledModule" | "EnabledModule" | "OwnershipTransferred" | "RolesModSetup" | "SetDefaultRole" | "SetMultisendAddress" | "TargetSet"): EventFragment; encodeFunctionData(functionFragment: "allowTarget", values: [BigNumberish, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "assignRoles", values: [AddressLike, BigNumberish[], boolean[]]): string; encodeFunctionData(functionFragment: "avatar", values?: undefined): string; encodeFunctionData(functionFragment: "defaultRoles", values: [AddressLike]): string; 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: "execTransactionWithRole", values: [ AddressLike, BigNumberish, BytesLike, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "execTransactionWithRoleReturnData", values: [ AddressLike, BigNumberish, BytesLike, BigNumberish, BigNumberish, boolean ]): string; encodeFunctionData(functionFragment: "getGuard", values?: undefined): string; encodeFunctionData(functionFragment: "getModulesPaginated", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "guard", values?: undefined): string; encodeFunctionData(functionFragment: "isModuleEnabled", values: [AddressLike]): string; encodeFunctionData(functionFragment: "multisend", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "revokeTarget", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "scopeAllowFunction", values: [BigNumberish, AddressLike, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "scopeFunction", values: [ BigNumberish, AddressLike, BytesLike, boolean[], BigNumberish[], BigNumberish[], BytesLike[], BigNumberish ]): string; encodeFunctionData(functionFragment: "scopeFunctionExecutionOptions", values: [BigNumberish, AddressLike, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "scopeParameter", values: [ BigNumberish, AddressLike, BytesLike, BigNumberish, BigNumberish, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "scopeParameterAsOneOf", values: [ BigNumberish, AddressLike, BytesLike, BigNumberish, BigNumberish, BytesLike[] ]): string; encodeFunctionData(functionFragment: "scopeRevokeFunction", values: [BigNumberish, AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "scopeTarget", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "setAvatar", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setDefaultRole", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "setGuard", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setMultisend", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setTarget", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setUp", values: [BytesLike]): string; encodeFunctionData(functionFragment: "target", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; encodeFunctionData(functionFragment: "unscopeParameter", values: [BigNumberish, AddressLike, BytesLike, BigNumberish]): string; decodeFunctionResult(functionFragment: "allowTarget", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assignRoles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "avatar", data: BytesLike): Result; decodeFunctionResult(functionFragment: "defaultRoles", data: BytesLike): Result; 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: "execTransactionWithRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "execTransactionWithRoleReturnData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGuard", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getModulesPaginated", data: BytesLike): Result; decodeFunctionResult(functionFragment: "guard", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isModuleEnabled", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multisend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeTarget", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scopeAllowFunction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scopeFunction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scopeFunctionExecutionOptions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scopeParameter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scopeParameterAsOneOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scopeRevokeFunction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "scopeTarget", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAvatar", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDefaultRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setGuard", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMultisend", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTarget", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "target", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unscopeParameter", data: BytesLike): Result; } export declare namespace AssignRolesEvent { type InputTuple = [ module: AddressLike, roles: BigNumberish[], memberOf: boolean[] ]; type OutputTuple = [ module: string, roles: bigint[], memberOf: boolean[] ]; interface OutputObject { module: string; roles: bigint[]; memberOf: boolean[]; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AvatarSetEvent { type InputTuple = [ previousAvatar: AddressLike, newAvatar: AddressLike ]; type OutputTuple = [previousAvatar: string, newAvatar: string]; interface OutputObject { previousAvatar: string; newAvatar: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ChangedGuardEvent { type InputTuple = [guard: AddressLike]; type OutputTuple = [guard: string]; interface OutputObject { guard: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } 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 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 RolesModSetupEvent { type InputTuple = [ initiator: AddressLike, owner: AddressLike, avatar: AddressLike, target: AddressLike ]; type OutputTuple = [ initiator: string, owner: string, avatar: string, target: string ]; interface OutputObject { initiator: string; owner: string; avatar: string; target: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SetDefaultRoleEvent { type InputTuple = [module: AddressLike, defaultRole: BigNumberish]; type OutputTuple = [module: string, defaultRole: bigint]; interface OutputObject { module: string; defaultRole: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SetMultisendAddressEvent { type InputTuple = [multisendAddress: AddressLike]; type OutputTuple = [multisendAddress: string]; interface OutputObject { multisendAddress: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TargetSetEvent { type InputTuple = [ previousTarget: AddressLike, newTarget: AddressLike ]; type OutputTuple = [previousTarget: string, newTarget: string]; interface OutputObject { previousTarget: string; newTarget: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface RolesV1 extends BaseContract { connect(runner?: ContractRunner | null): RolesV1; waitForDeployment(): Promise; interface: RolesV1Interface; 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; allowTarget: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, options: BigNumberish ], [ void ], "nonpayable">; assignRoles: TypedContractMethod<[ module: AddressLike, _roles: BigNumberish[], memberOf: boolean[] ], [ void ], "nonpayable">; avatar: TypedContractMethod<[], [string], "view">; defaultRoles: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; 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] ], "nonpayable">; execTransactionWithRole: TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish, role: BigNumberish, shouldRevert: boolean ], [ boolean ], "nonpayable">; execTransactionWithRoleReturnData: TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish, role: BigNumberish, shouldRevert: boolean ], [ [boolean, string] & { success: boolean; returnData: string; } ], "nonpayable">; getGuard: TypedContractMethod<[], [string], "view">; getModulesPaginated: TypedContractMethod<[ start: AddressLike, pageSize: BigNumberish ], [ [string[], string] & { array: string[]; next: string; } ], "view">; guard: TypedContractMethod<[], [string], "view">; isModuleEnabled: TypedContractMethod<[ _module: AddressLike ], [ boolean ], "view">; multisend: TypedContractMethod<[], [string], "view">; owner: TypedContractMethod<[], [string], "view">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; revokeTarget: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike ], [ void ], "nonpayable">; scopeAllowFunction: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, options: BigNumberish ], [ void ], "nonpayable">; scopeFunction: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, isParamScoped: boolean[], paramType: BigNumberish[], paramComp: BigNumberish[], compValue: BytesLike[], options: BigNumberish ], [ void ], "nonpayable">; scopeFunctionExecutionOptions: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, options: BigNumberish ], [ void ], "nonpayable">; scopeParameter: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, paramIndex: BigNumberish, paramType: BigNumberish, paramComp: BigNumberish, compValue: BytesLike ], [ void ], "nonpayable">; scopeParameterAsOneOf: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, paramIndex: BigNumberish, paramType: BigNumberish, compValues: BytesLike[] ], [ void ], "nonpayable">; scopeRevokeFunction: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike ], [ void ], "nonpayable">; scopeTarget: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike ], [ void ], "nonpayable">; setAvatar: TypedContractMethod<[_avatar: AddressLike], [void], "nonpayable">; setDefaultRole: TypedContractMethod<[ module: AddressLike, role: BigNumberish ], [ void ], "nonpayable">; setGuard: TypedContractMethod<[_guard: AddressLike], [void], "nonpayable">; setMultisend: TypedContractMethod<[ _multisend: AddressLike ], [ void ], "nonpayable">; setTarget: TypedContractMethod<[_target: AddressLike], [void], "nonpayable">; setUp: TypedContractMethod<[initParams: BytesLike], [void], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; unscopeParameter: TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, paramIndex: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "allowTarget"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, options: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "assignRoles"): TypedContractMethod<[ module: AddressLike, _roles: BigNumberish[], memberOf: boolean[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "avatar"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "defaultRoles"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; 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] ], "nonpayable">; getFunction(nameOrSignature: "execTransactionWithRole"): TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish, role: BigNumberish, shouldRevert: boolean ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "execTransactionWithRoleReturnData"): TypedContractMethod<[ to: AddressLike, value: BigNumberish, data: BytesLike, operation: BigNumberish, role: BigNumberish, shouldRevert: boolean ], [ [boolean, string] & { success: boolean; returnData: string; } ], "nonpayable">; getFunction(nameOrSignature: "getGuard"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getModulesPaginated"): TypedContractMethod<[ start: AddressLike, pageSize: BigNumberish ], [ [string[], string] & { array: string[]; next: string; } ], "view">; getFunction(nameOrSignature: "guard"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "isModuleEnabled"): TypedContractMethod<[_module: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "multisend"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "revokeTarget"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "scopeAllowFunction"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, options: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "scopeFunction"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, isParamScoped: boolean[], paramType: BigNumberish[], paramComp: BigNumberish[], compValue: BytesLike[], options: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "scopeFunctionExecutionOptions"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, options: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "scopeParameter"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, paramIndex: BigNumberish, paramType: BigNumberish, paramComp: BigNumberish, compValue: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "scopeParameterAsOneOf"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, paramIndex: BigNumberish, paramType: BigNumberish, compValues: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "scopeRevokeFunction"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "scopeTarget"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setAvatar"): TypedContractMethod<[_avatar: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setDefaultRole"): TypedContractMethod<[ module: AddressLike, role: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setGuard"): TypedContractMethod<[_guard: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setMultisend"): TypedContractMethod<[_multisend: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setTarget"): TypedContractMethod<[_target: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setUp"): TypedContractMethod<[initParams: BytesLike], [void], "nonpayable">; getFunction(nameOrSignature: "target"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "unscopeParameter"): TypedContractMethod<[ role: BigNumberish, targetAddress: AddressLike, functionSig: BytesLike, paramIndex: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "AssignRoles"): TypedContractEvent; getEvent(key: "AvatarSet"): TypedContractEvent; getEvent(key: "ChangedGuard"): TypedContractEvent; getEvent(key: "DisabledModule"): TypedContractEvent; getEvent(key: "EnabledModule"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "RolesModSetup"): TypedContractEvent; getEvent(key: "SetDefaultRole"): TypedContractEvent; getEvent(key: "SetMultisendAddress"): TypedContractEvent; getEvent(key: "TargetSet"): TypedContractEvent; filters: { "AssignRoles(address,uint16[],bool[])": TypedContractEvent; AssignRoles: TypedContractEvent; "AvatarSet(address,address)": TypedContractEvent; AvatarSet: TypedContractEvent; "ChangedGuard(address)": TypedContractEvent; ChangedGuard: TypedContractEvent; "DisabledModule(address)": TypedContractEvent; DisabledModule: TypedContractEvent; "EnabledModule(address)": TypedContractEvent; EnabledModule: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "RolesModSetup(address,address,address,address)": TypedContractEvent; RolesModSetup: TypedContractEvent; "SetDefaultRole(address,uint16)": TypedContractEvent; SetDefaultRole: TypedContractEvent; "SetMultisendAddress(address)": TypedContractEvent; SetMultisendAddress: TypedContractEvent; "TargetSet(address,address)": TypedContractEvent; TargetSet: TypedContractEvent; }; }