import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export interface IOrganizationNFTInterface extends Interface { getFunction(nameOrSignature: "mint" | "mintOpen" | "setMintOpen" | "setWhitelisted" | "totalSupply" | "whitelisted"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "MintOpenSet" | "WhitelistedSet"): EventFragment; encodeFunctionData(functionFragment: "mint", values: [AddressLike]): string; encodeFunctionData(functionFragment: "mintOpen", values?: undefined): string; encodeFunctionData(functionFragment: "setMintOpen", values: [boolean]): string; encodeFunctionData(functionFragment: "setWhitelisted", values: [AddressLike[], boolean[]]): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "whitelisted", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintOpen", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMintOpen", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setWhitelisted", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "whitelisted", data: BytesLike): Result; } export declare namespace MintOpenSetEvent { type InputTuple = [mintOpen: boolean]; type OutputTuple = [mintOpen: boolean]; interface OutputObject { mintOpen: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WhitelistedSetEvent { type InputTuple = [account: AddressLike, isWhitelisted: boolean]; type OutputTuple = [account: string, isWhitelisted: boolean]; interface OutputObject { account: string; isWhitelisted: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IOrganizationNFT extends BaseContract { connect(runner?: ContractRunner | null): IOrganizationNFT; waitForDeployment(): Promise; interface: IOrganizationNFTInterface; 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; mint: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; mintOpen: TypedContractMethod<[], [boolean], "view">; setMintOpen: TypedContractMethod<[_mintOpen: boolean], [void], "nonpayable">; setWhitelisted: TypedContractMethod<[ _addresses: AddressLike[], _isWhitelisted: boolean[] ], [ void ], "nonpayable">; totalSupply: TypedContractMethod<[], [bigint], "view">; whitelisted: TypedContractMethod<[account: AddressLike], [boolean], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "mint"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "mintOpen"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "setMintOpen"): TypedContractMethod<[_mintOpen: boolean], [void], "nonpayable">; getFunction(nameOrSignature: "setWhitelisted"): TypedContractMethod<[ _addresses: AddressLike[], _isWhitelisted: boolean[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "whitelisted"): TypedContractMethod<[account: AddressLike], [boolean], "view">; getEvent(key: "MintOpenSet"): TypedContractEvent; getEvent(key: "WhitelistedSet"): TypedContractEvent; filters: { "MintOpenSet(bool)": TypedContractEvent; MintOpenSet: TypedContractEvent; "WhitelistedSet(address,bool)": TypedContractEvent; WhitelistedSet: TypedContractEvent; }; }