interface ObjectClassEventMap { "instancecreate": InstanceEvent; "hierarchyready": InstanceEvent; "instancedestroy": InstanceDestroyEvent; } /** A base class for object types or families in the project. * @see {@link https://www.construct.net/en/make-games/manuals/construct-3/scripting/scripting-reference/object-interfaces/iobjectclass | IObjectClass documentation } */ declare class IObjectClass> extends ConstructEventTarget { readonly name: string; readonly runtime: IRuntime; readonly plugin: IPlugin_; /** Get all instances belonging to this object type or family. */ getAllInstances(): InstT[]; /** Iterate all instances belonging to this object type or family. */ instances(): Generator; /** Get the first instance of this object type or family (or null if none exist). */ getFirstInstance(): InstT | null; /** Get all the currently picked instances, when called from an event sheet. */ getPickedInstances(): InstT[]; /** Return the instance with the same IID, with wraparound, if one exists. */ getPairedInstance(otherInst: IInstance): InstT | null; /** Iterate all currently picked instances, when called from an event sheet. */ pickedInstances(): Generator; /** Get the first picked instance of this object type or family when called * from an event sheet, or null if none is picked. */ getFirstPickedInstance(): InstT | null; /** Call one of this object class's custom actions in the event sheet. */ callCustomAction(name: string, instances: Iterable, ...params: CallFunctionParameter[]): Promise; }