import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare namespace IDAOIntegration { type ResourceRecordsStruct = { existingRole: string; resource: string; permissions: string[]; }; type ResourceRecordsStructOutput = [string, string, string[]] & { existingRole: string; resource: string; permissions: string[]; }; } export interface NFTMintingModuleInterface extends utils.Interface { functions: { "NFT_MINTING_RESOURCE()": FunctionFragment; "__NFTMintingModule_init(address,uint256,string,string)": FunctionFragment; "__NFTMintingModule_initAndSetDeps(address,address,uint256,string,string)": FunctionFragment; "arbitraryNFTExecute(bytes)": FunctionFragment; "batchMintTo(address[])": FunctionFragment; "checkPermission(address,string)": FunctionFragment; "getInjector()": FunctionFragment; "getResource()": FunctionFragment; "getResourceRecords()": FunctionFragment; "implementation()": FunctionFragment; "isModuleNFTOwner()": FunctionFragment; "mintTo(address)": FunctionFragment; "permissionManager()": FunctionFragment; "proxiableUUID()": FunctionFragment; "setDependencies(address,bytes)": FunctionFragment; "setInjector(address)": FunctionFragment; "startPoint()": FunctionFragment; "supportedNFT()": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "transferOwnership(address)": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "NFT_MINTING_RESOURCE" | "__NFTMintingModule_init" | "__NFTMintingModule_initAndSetDeps" | "arbitraryNFTExecute" | "batchMintTo" | "checkPermission" | "getInjector" | "getResource" | "getResourceRecords" | "implementation" | "isModuleNFTOwner" | "mintTo" | "permissionManager" | "proxiableUUID" | "setDependencies" | "setInjector" | "startPoint" | "supportedNFT" | "supportsInterface" | "transferOwnership" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; encodeFunctionData(functionFragment: "NFT_MINTING_RESOURCE", values?: undefined): string; encodeFunctionData(functionFragment: "__NFTMintingModule_init", values: [string, BigNumberish, string, string]): string; encodeFunctionData(functionFragment: "__NFTMintingModule_initAndSetDeps", values: [string, string, BigNumberish, string, string]): string; encodeFunctionData(functionFragment: "arbitraryNFTExecute", values: [BytesLike]): string; encodeFunctionData(functionFragment: "batchMintTo", values: [string[]]): string; encodeFunctionData(functionFragment: "checkPermission", values: [string, string]): string; encodeFunctionData(functionFragment: "getInjector", values?: undefined): string; encodeFunctionData(functionFragment: "getResource", values?: undefined): string; encodeFunctionData(functionFragment: "getResourceRecords", values?: undefined): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "isModuleNFTOwner", values?: undefined): string; encodeFunctionData(functionFragment: "mintTo", values: [string]): string; encodeFunctionData(functionFragment: "permissionManager", values?: undefined): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "setDependencies", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "setInjector", values: [string]): string; encodeFunctionData(functionFragment: "startPoint", values?: undefined): string; encodeFunctionData(functionFragment: "supportedNFT", values?: undefined): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; decodeFunctionResult(functionFragment: "NFT_MINTING_RESOURCE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "__NFTMintingModule_init", data: BytesLike): Result; decodeFunctionResult(functionFragment: "__NFTMintingModule_initAndSetDeps", data: BytesLike): Result; decodeFunctionResult(functionFragment: "arbitraryNFTExecute", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batchMintTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkPermission", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getInjector", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getResource", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getResourceRecords", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isModuleNFTOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permissionManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDependencies", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setInjector", data: BytesLike): Result; decodeFunctionResult(functionFragment: "startPoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportedNFT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "Initialized(uint8)": EventFragment; "Upgraded(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; } export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export type AdminChangedEventFilter = TypedEventFilter; export interface BeaconUpgradedEventObject { beacon: string; } export type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export type BeaconUpgradedEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface UpgradedEventObject { implementation: string; } export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter; export interface NFTMintingModule extends BaseContract { contractName: "NFTMintingModule"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: NFTMintingModuleInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise<[string]>; __NFTMintingModule_init(token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __NFTMintingModule_initAndSetDeps(registry_: string, token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; batchMintTo(recipients_: string[], overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise<[boolean]>; getInjector(overrides?: CallOverrides): Promise<[string] & { injector_: string; }>; getResource(overrides?: CallOverrides): Promise<[string]>; getResourceRecords(overrides?: CallOverrides): Promise<[ IDAOIntegration.ResourceRecordsStructOutput[] ] & { records_: IDAOIntegration.ResourceRecordsStructOutput[]; }>; implementation(overrides?: CallOverrides): Promise<[string]>; isModuleNFTOwner(overrides?: CallOverrides): Promise<[boolean]>; mintTo(to_: string, overrides?: Overrides & { from?: string; }): Promise; permissionManager(overrides?: CallOverrides): Promise<[string]>; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; startPoint(overrides?: CallOverrides): Promise<[BigNumber]>; supportedNFT(overrides?: CallOverrides): Promise<[string]>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; transferOwnership(newOwner_: string, overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise; __NFTMintingModule_init(token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __NFTMintingModule_initAndSetDeps(registry_: string, token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; batchMintTo(recipients_: string[], overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isModuleNFTOwner(overrides?: CallOverrides): Promise; mintTo(to_: string, overrides?: Overrides & { from?: string; }): Promise; permissionManager(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; startPoint(overrides?: CallOverrides): Promise; supportedNFT(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; transferOwnership(newOwner_: string, overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; callStatic: { NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise; __NFTMintingModule_init(token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: CallOverrides): Promise; __NFTMintingModule_initAndSetDeps(registry_: string, token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: CallOverrides): Promise; arbitraryNFTExecute(data_: BytesLike, overrides?: CallOverrides): Promise; batchMintTo(recipients_: string[], overrides?: CallOverrides): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isModuleNFTOwner(overrides?: CallOverrides): Promise; mintTo(to_: string, overrides?: CallOverrides): Promise; permissionManager(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: CallOverrides): Promise; setInjector(injector_: string, overrides?: CallOverrides): Promise; startPoint(overrides?: CallOverrides): Promise; supportedNFT(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; transferOwnership(newOwner_: string, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; }; estimateGas: { NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise; __NFTMintingModule_init(token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __NFTMintingModule_initAndSetDeps(registry_: string, token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; batchMintTo(recipients_: string[], overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isModuleNFTOwner(overrides?: CallOverrides): Promise; mintTo(to_: string, overrides?: Overrides & { from?: string; }): Promise; permissionManager(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; startPoint(overrides?: CallOverrides): Promise; supportedNFT(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; transferOwnership(newOwner_: string, overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; populateTransaction: { NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise; __NFTMintingModule_init(token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __NFTMintingModule_initAndSetDeps(registry_: string, token_: string, startPoint_: BigNumberish, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; batchMintTo(recipients_: string[], overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; isModuleNFTOwner(overrides?: CallOverrides): Promise; mintTo(to_: string, overrides?: Overrides & { from?: string; }): Promise; permissionManager(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; startPoint(overrides?: CallOverrides): Promise; supportedNFT(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; transferOwnership(newOwner_: string, overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; }