import { EggPrototypeName } from "../../core-decorator/model/EggPrototypeInfo.js"; import { LoadUnit } from "../../metadata/model/LoadUnit.js"; import { EggPrototype } from "../../metadata/model/EggPrototype.js"; import { EggRuntimeContext } from "./EggContext.js"; import { LoadUnitInstance } from "./LoadUnitInstance.js"; import { LifecycleContext, LifecycleObject } from "../../lifecycle/LifecycleHook.js"; //#region src/runtime/model/EggObject.d.ts export declare const EggObjectStatus: { readonly PENDING: "PENDING"; readonly READY: "READY"; readonly ERROR: "ERROR"; readonly DESTROYING: "DESTROYING"; readonly DESTROYED: "DESTROYED"; }; export type EggObjectStatus = (typeof EggObjectStatus)[keyof typeof EggObjectStatus]; export interface EggObjectLifeCycleContext extends LifecycleContext { readonly loadUnit: LoadUnit; readonly loadUnitInstance: LoadUnitInstance; } export interface EggObject extends LifecycleObject { readonly isReady: boolean; readonly obj: Record; readonly proto: EggPrototype; readonly name: EggPrototypeName; readonly ctx?: EggRuntimeContext; injectProperty(name: string, descriptor: PropertyDescriptor): void; } //#endregion