import { AccessLevel } from "../../core-decorator/enum/AccessLevel.js"; import { ObjectInitTypeLike } from "../../core-decorator/enum/ObjectInitType.js"; import { QualifierInfo } from "../../core-decorator/model/QualifierInfo.js"; import { EggPrototypeInfo } from "../../core-decorator/model/EggPrototypeInfo.js"; import { ProtoDescriptorType } from "../enum/ProtoDescriptorType.js"; //#region src/metadata/model/ProtoDescriptor.d.ts export type ProtoDescriptorTypeLike = ProtoDescriptorType | string; export interface InjectObjectDescriptor { refName: PropertyKey; objName: PropertyKey; qualifiers: QualifierInfo[]; optional?: boolean; } export interface ProtoDescriptor extends EggPrototypeInfo { name: PropertyKey; accessLevel: AccessLevel; initType: ObjectInitTypeLike; qualifiers: QualifierInfo[]; injectObjects: InjectObjectDescriptor[]; protoImplType: string; properQualifiers: Record; defineModuleName: string; defineUnitPath: string; instanceModuleName: string; instanceDefineUnitPath: string; equal(protoDescriptor: ProtoDescriptor): boolean; } //#endregion