import 'reflect-metadata';
export declare class Scanner {
    static excludeDirs: string[];
    static services: Map<symbol, Function[]>;
    static scan(callback: (filePath: string) => Promise<void>, dir?: string): Promise<void>;
    /**
     * 扫描指定目录下所有符合条件的服务
     * @param key 指定的元数据键
     * @param dir 指定的目录，默认从 `src` 目录开始扫描
     * @param refresh 是否刷新服务缓存
     */
    static getServicesBySymbol(key: symbol, dir?: string, refresh?: boolean): Promise<Function[]>;
    /**
     * 扫描指定目录下所有服务
     * @param dir 指定目录，默认从 `src` 目录开始扫描
     * @param refresh 是否刷新服务缓存
     */
    static getAllServices(dir?: string, refresh?: boolean): Promise<Map<symbol, Function[]>>;
}
