import 'reflect-metadata';
import { TConstructor } from '../../../types';
export declare abstract class IAutoManager<T = any> {
    abstract clazz: TConstructor<T>;
    abstract keys: symbol[];
    entities: Map<symbol, Set<TConstructor<T>>>;
    /**
     * 将实体添加到指定的键下
     * @param entity 要添加的实体
     */
    collection(entity: Function): void;
    /**
     * 识别目标是否包含指定装饰器
     * @param entity 目标类
     * @returns {boolean} 如果目标类上含有任何一个指定装饰器，则返回 true
     */
    identify(entity: Function): boolean;
    abstract execute(): Promise<Map<symbol, Map<string, T>>>;
}
