import type { AccessLevel, EggObjectFactory, EggPrototype, EggProtoImplClass, EggPrototypeInfo, EggPrototypeLifecycleContext, EggPrototypeName, InjectObjectProto, LoadUnit, MetaDataKey, ObjectInitTypeLike, QualifierInfo, QualifierValue, Id } from '@eggjs/tegg-types';
export declare const EGG_OBJECT_FACTORY_PROTO_IMPLE_TYPE = "EGG_OBJECT_FACTORY_PROTOTYPE";
export declare class EggObjectFactoryPrototype implements EggPrototype {
    readonly clazz: EggProtoImplClass<EggObjectFactory>;
    readonly accessLevel: AccessLevel;
    readonly id: Id;
    readonly initType: ObjectInitTypeLike;
    readonly injectObjects: InjectObjectProto[];
    readonly loadUnitId: string;
    readonly name: EggPrototypeName;
    readonly qualifiers: QualifierInfo[];
    constructor(clazz: EggProtoImplClass<EggObjectFactory>, loadUnit: LoadUnit, prototypeInfo: EggPrototypeInfo);
    constructEggObject(): EggObjectFactory;
    getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
    verifyQualifier(qualifier: QualifierInfo): boolean;
    getQualifier(attribute: string): QualifierValue | undefined;
    verifyQualifiers(qualifiers: QualifierInfo[]): boolean;
    static create(ctx: EggPrototypeLifecycleContext): EggObjectFactoryPrototype;
}
