import 'reflect-metadata'; import type { EggProtoImplClass, MetaDataKey } from '@eggjs/tegg-types'; export declare class MetadataUtil { static deleteMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass): void; static defineMetaData(metadataKey: MetaDataKey, metadataValue: T, clazz: EggProtoImplClass): void; static getOwnMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass): T | undefined; static hasMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass, propKey?: PropertyKey): boolean; static getMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass, propKey?: PropertyKey): T | undefined; static getBooleanMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass): boolean; static getOwnBooleanMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass): boolean; static getArrayMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass): Array; /** * init array metadata * not inherit parent metadata * return value true means use default value * return value false means use map value */ static initArrayMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass, defaultValue: Array): Array; /** * init own array metadata * if parent metadata exists, inherit * if parent metadata not exits, use default value * return value true means use default value * return value false means use map value */ static initOwnArrayMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass, defaultValue: Array): Array; /** * init own map metadata * if parent metadata exists, inherit * if parent metadata not exits, use default value * return value true means use default value * return value false means use map value */ static initOwnMapMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass, defaultValue: Map): Map; static getOrStoreMetaData(metadataKey: MetaDataKey, clazz: EggProtoImplClass, metadataValue: T): T; }