import { AccessLevel, EggPrototypeInfo, ObjectInitTypeLike, QualifierInfo } from '../../core-decorator'; import { ProtoDescriptorType } from '../enum/ProtoDescriptorType'; export type ProtoDescriptorTypeLike = ProtoDescriptorType | string; export interface InjectObjectDescriptor { refName: PropertyKey; objName: PropertyKey; qualifiers: QualifierInfo[]; } 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; }