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 IPermissionRegistry { type AdminPermissionParamsStruct = { owner: AddressLike; orgId: BigNumberish; permissions: BytesLike[]; grantAccess: boolean; }; type AdminPermissionParamsStructOutput = [ owner: string, orgId: bigint, permissions: string[], grantAccess: boolean ] & { owner: string; orgId: bigint; permissions: string[]; grantAccess: boolean; }; } export interface PermissionRegistryInterface extends Interface { getFunction(nameOrSignature: "acceptOwnership" | "addOwnerPermissions" | "adminGrantInitialOwnerPermissions" | "adminUpdateOwnerPermissions" | "excludeDefaultPermissions" | "getOrgPermissions" | "getOwnerPermissions" | "getOwnerPermissionsBatch" | "grantInitialOwnerPermissions" | "hasOwnerPermission" | "hasOwnerPermissionBatch" | "owner" | "ownerPermissionsSet" | "pendingOwner" | "permissionFactory" | "registry" | "removeOwnerPermissions" | "renounceOwnership" | "setExcludeDefaultPermissions" | "setPermissionFactory" | "supportsInterface" | "transferOwnership" | "updateOrgPermissions"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "ExcludeDefaultPermissionsUpdated" | "OrgPermissionUpdated" | "OwnerPermissionsUpdated" | "OwnershipTransferStarted" | "OwnershipTransferred"): EventFragment; encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "addOwnerPermissions", values: [BigNumberish, BytesLike[]]): string; encodeFunctionData(functionFragment: "adminGrantInitialOwnerPermissions", values: [BigNumberish[]]): string; encodeFunctionData(functionFragment: "adminUpdateOwnerPermissions", values: [IPermissionRegistry.AdminPermissionParamsStruct[]]): string; encodeFunctionData(functionFragment: "excludeDefaultPermissions", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getOrgPermissions", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getOwnerPermissions", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "getOwnerPermissionsBatch", values: [BigNumberish[], AddressLike[]]): string; encodeFunctionData(functionFragment: "grantInitialOwnerPermissions", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "hasOwnerPermission", values: [BigNumberish, AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "hasOwnerPermissionBatch", values: [BigNumberish, AddressLike, BytesLike[]]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "ownerPermissionsSet", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string; encodeFunctionData(functionFragment: "permissionFactory", values?: undefined): string; encodeFunctionData(functionFragment: "registry", values?: undefined): string; encodeFunctionData(functionFragment: "removeOwnerPermissions", values: [BigNumberish, BytesLike[]]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setExcludeDefaultPermissions", values: [BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "setPermissionFactory", values: [AddressLike]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updateOrgPermissions", values: [BigNumberish, BytesLike[], boolean[]]): string; decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addOwnerPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "adminGrantInitialOwnerPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "adminUpdateOwnerPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "excludeDefaultPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOrgPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOwnerPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOwnerPermissionsBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantInitialOwnerPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasOwnerPermission", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasOwnerPermissionBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ownerPermissionsSet", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permissionFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeOwnerPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setExcludeDefaultPermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPermissionFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateOrgPermissions", data: BytesLike): Result; } export declare namespace ExcludeDefaultPermissionsUpdatedEvent { type InputTuple = [_orgId: BigNumberish, _exclude: boolean]; type OutputTuple = [_orgId: bigint, _exclude: boolean]; interface OutputObject { _orgId: bigint; _exclude: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OrgPermissionUpdatedEvent { type InputTuple = [ _orgId: BigNumberish, _permission: BytesLike, _add: boolean ]; type OutputTuple = [ _orgId: bigint, _permission: string, _add: boolean ]; interface OutputObject { _orgId: bigint; _permission: string; _add: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnerPermissionsUpdatedEvent { type InputTuple = [ _orgId: BigNumberish, _owner: AddressLike, _grantAccess: boolean, _permissions: BytesLike[] ]; type OutputTuple = [ _orgId: bigint, _owner: string, _grantAccess: boolean, _permissions: string[] ]; interface OutputObject { _orgId: bigint; _owner: string; _grantAccess: boolean; _permissions: string[]; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferStartedEvent { 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 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 interface PermissionRegistry extends BaseContract { connect(runner?: ContractRunner | null): PermissionRegistry; waitForDeployment(): Promise; interface: PermissionRegistryInterface; 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; acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; addOwnerPermissions: TypedContractMethod<[ _orgId: BigNumberish, _permissions: BytesLike[] ], [ void ], "nonpayable">; adminGrantInitialOwnerPermissions: TypedContractMethod<[ _passIds: BigNumberish[] ], [ void ], "nonpayable">; adminUpdateOwnerPermissions: TypedContractMethod<[ _params: IPermissionRegistry.AdminPermissionParamsStruct[] ], [ void ], "nonpayable">; excludeDefaultPermissions: TypedContractMethod<[ arg0: BigNumberish ], [ boolean ], "view">; getOrgPermissions: TypedContractMethod<[ _orgId: BigNumberish ], [ string[] ], "view">; getOwnerPermissions: TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike ], [ string[] ], "view">; getOwnerPermissionsBatch: TypedContractMethod<[ _orgIds: BigNumberish[], _owners: AddressLike[] ], [ string[][] ], "view">; grantInitialOwnerPermissions: TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike ], [ void ], "nonpayable">; hasOwnerPermission: TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike, _permission: BytesLike ], [ boolean ], "view">; hasOwnerPermissionBatch: TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike, _permissions: BytesLike[] ], [ boolean[] ], "view">; owner: TypedContractMethod<[], [string], "view">; ownerPermissionsSet: TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ boolean ], "view">; pendingOwner: TypedContractMethod<[], [string], "view">; permissionFactory: TypedContractMethod<[], [string], "view">; registry: TypedContractMethod<[], [string], "view">; removeOwnerPermissions: TypedContractMethod<[ _orgId: BigNumberish, _permissions: BytesLike[] ], [ void ], "nonpayable">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; setExcludeDefaultPermissions: TypedContractMethod<[ _orgId: BigNumberish, _exclude: boolean ], [ void ], "nonpayable">; setPermissionFactory: TypedContractMethod<[ _permissionFactory: AddressLike ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; updateOrgPermissions: TypedContractMethod<[ _orgId: BigNumberish, _permissions: BytesLike[], _add: boolean[] ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "addOwnerPermissions"): TypedContractMethod<[ _orgId: BigNumberish, _permissions: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "adminGrantInitialOwnerPermissions"): TypedContractMethod<[_passIds: BigNumberish[]], [void], "nonpayable">; getFunction(nameOrSignature: "adminUpdateOwnerPermissions"): TypedContractMethod<[ _params: IPermissionRegistry.AdminPermissionParamsStruct[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "excludeDefaultPermissions"): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "getOrgPermissions"): TypedContractMethod<[_orgId: BigNumberish], [string[]], "view">; getFunction(nameOrSignature: "getOwnerPermissions"): TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike ], [ string[] ], "view">; getFunction(nameOrSignature: "getOwnerPermissionsBatch"): TypedContractMethod<[ _orgIds: BigNumberish[], _owners: AddressLike[] ], [ string[][] ], "view">; getFunction(nameOrSignature: "grantInitialOwnerPermissions"): TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hasOwnerPermission"): TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike, _permission: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "hasOwnerPermissionBatch"): TypedContractMethod<[ _orgId: BigNumberish, _owner: AddressLike, _permissions: BytesLike[] ], [ boolean[] ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "ownerPermissionsSet"): TypedContractMethod<[ arg0: BigNumberish, arg1: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "pendingOwner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "permissionFactory"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "registry"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "removeOwnerPermissions"): TypedContractMethod<[ _orgId: BigNumberish, _permissions: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "setExcludeDefaultPermissions"): TypedContractMethod<[ _orgId: BigNumberish, _exclude: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setPermissionFactory"): TypedContractMethod<[ _permissionFactory: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updateOrgPermissions"): TypedContractMethod<[ _orgId: BigNumberish, _permissions: BytesLike[], _add: boolean[] ], [ void ], "nonpayable">; getEvent(key: "ExcludeDefaultPermissionsUpdated"): TypedContractEvent; getEvent(key: "OrgPermissionUpdated"): TypedContractEvent; getEvent(key: "OwnerPermissionsUpdated"): TypedContractEvent; getEvent(key: "OwnershipTransferStarted"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; filters: { "ExcludeDefaultPermissionsUpdated(uint256,bool)": TypedContractEvent; ExcludeDefaultPermissionsUpdated: TypedContractEvent; "OrgPermissionUpdated(uint256,bytes32,bool)": TypedContractEvent; OrgPermissionUpdated: TypedContractEvent; "OwnerPermissionsUpdated(uint256,address,bool,bytes32[])": TypedContractEvent; OwnerPermissionsUpdated: TypedContractEvent; "OwnershipTransferStarted(address,address)": TypedContractEvent; OwnershipTransferStarted: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; }