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 IOrganizationAdminInterface extends Interface { getFunction(nameOrSignature: "addAdmin" | "getAdmins" | "isAdmin" | "removeAdmin" | "removeAllAdmins"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "OrgAdminUpdate"): EventFragment; encodeFunctionData(functionFragment: "addAdmin", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "getAdmins", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "isAdmin", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "removeAdmin", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "removeAllAdmins", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "addAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAdmins", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeAllAdmins", data: BytesLike): Result; } export declare namespace OrgAdminUpdateEvent { type InputTuple = [ orgId: BigNumberish, admin: AddressLike, status: boolean ]; type OutputTuple = [orgId: bigint, admin: string, status: boolean]; interface OutputObject { orgId: bigint; admin: string; status: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IOrganizationAdmin extends BaseContract { connect(runner?: ContractRunner | null): IOrganizationAdmin; waitForDeployment(): Promise; interface: IOrganizationAdminInterface; 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; addAdmin: TypedContractMethod<[ organizationId: BigNumberish, admin: AddressLike ], [ void ], "nonpayable">; getAdmins: TypedContractMethod<[ organizationId: BigNumberish ], [ string[] ], "view">; isAdmin: TypedContractMethod<[ organizationId: BigNumberish, admin: AddressLike ], [ boolean ], "view">; removeAdmin: TypedContractMethod<[ organizationId: BigNumberish, admin: AddressLike ], [ void ], "nonpayable">; removeAllAdmins: TypedContractMethod<[ organizationId: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addAdmin"): TypedContractMethod<[ organizationId: BigNumberish, admin: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getAdmins"): TypedContractMethod<[organizationId: BigNumberish], [string[]], "view">; getFunction(nameOrSignature: "isAdmin"): TypedContractMethod<[ organizationId: BigNumberish, admin: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "removeAdmin"): TypedContractMethod<[ organizationId: BigNumberish, admin: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "removeAllAdmins"): TypedContractMethod<[organizationId: BigNumberish], [void], "nonpayable">; getEvent(key: "OrgAdminUpdate"): TypedContractEvent; filters: { "OrgAdminUpdate(uint256,address,bool)": TypedContractEvent; OrgAdminUpdate: TypedContractEvent; }; }