/**
 * ModuleService — 多语言统一模块扫描服务
 *
 * 通过 DiscovererRegistry 自动检测项目类型，
 * 统一 SPM / Node / Go / JVM / Python / Generic 等语言的模块扫描、依赖分析、AI 提取管线。
 * 语言特有操作（如 SPM 依赖管理）由对应的 Discoverer / Service 直接暴露，不经此类代理。
 */
export declare class ModuleService {
    #private;
    constructor(projectRoot: string, options?: {
        agentFactory?: Record<string, unknown> | null;
        container?: Record<string, unknown> | null;
        qualityScorer?: Record<string, unknown> | null;
        recipeExtractor?: Record<string, unknown> | null;
        guardCheckEngine?: Record<string, unknown> | null;
        violationsStore?: Record<string, unknown> | null;
    });
    /** 自动检测项目类型并加载所有匹配的 Discoverer */
    load(): Promise<void>;
    /** 清除缓存，重新检测 */
    reload(): Promise<void>;
    /** 列出所有模块/Target（合并所有 Discoverer 的结果） */
    listTargets(): Promise<Record<string, unknown>[]>;
    /** 获取 Target 的文件列表 */
    getTargetFiles(target: string | Record<string, unknown>): Promise<{
        name: string;
        path: string;
        relativePath: string;
        language: string;
    }[]>;
    /**
     * 获取依赖关系图
     * @param [options]
     * @returns [] }>}
     */
    getDependencyGraph(options?: {
        level?: 'package' | 'target';
    }): Promise<{
        nodes: Record<string, unknown>[];
        edges: {
            from: string;
            to: string;
            type: string;
            source: string;
        }[];
        projectRoot: string;
        generatedAt: string;
    }>;
    /** 项目信息摘要 */
    getProjectInfo(): {
        projectRoot: string;
        projectName: string;
        primaryLanguage: string;
        discoverers: {
            id: string;
            name: string;
            confidence: number;
        }[];
        languages: string[];
        hasSpm: boolean;
    };
    /**
     * AI 扫描 Target 发现候选项
     * 完整管线: 读文件 → AI 提取 → Header 解析 → 工具增强
     */
    scanTarget(target: string | Record<string, unknown>, options?: {
        onProgress?: (event: Record<string, unknown>) => void;
    }): Promise<Record<string, unknown>>;
    /** 全项目扫描 — 遍历所有 Target，AI 提取候选 + Guard 审计 */
    scanProject(options?: {
        maxFiles?: number;
        batchSize?: number;
        batchTimeout?: number;
        totalTimeout?: number;
    }): Promise<{
        targets: unknown[];
        recipes: never[];
        guardAudit: null;
        scannedFiles: never[];
        message: string;
        partial?: undefined;
    } | {
        targets: unknown[];
        recipes: Record<string, unknown>[];
        guardAudit: Record<string, unknown> | null;
        scannedFiles: {
            name: unknown;
            path: unknown;
            targetName: unknown;
        }[];
        partial: boolean;
        message?: undefined;
    }>;
    /** 刷新模块映射（替代 updateDependencyMap） */
    updateModuleMap(options?: Record<string, unknown>): Promise<{
        success: boolean;
        message: string;
        targets: number;
        edges: number;
        projectRoot: string;
    }>;
    /**
     * 浏览项目目录结构 — 供前端目录选择器使用
     * @param [basePath=''] 相对于项目根目录的起始路径
     * @param [maxDepth=2] 最大递归深度
     * @returns >>}
     */
    browseDirectories(basePath?: string, maxDepth?: number): Promise<{
        name: string;
        path: string;
        depth: number;
        language: string;
        sourceFileCount: number;
        hasSourceFiles: boolean;
    }[]>;
    /**
     * 扫描任意文件夹 — 创建虚拟 Target 并走标准 AI 管线
     * 用于 Discoverer 未覆盖的目录（自定义目录名、新语言等）
     * @param folderPath 相对/绝对路径
     * @param [options] scanTarget options (onProgress 等)
     * @returns >}
     */
    scanFolder(folderPath: string, options?: {
        onProgress?: (event: Record<string, unknown>) => void;
    }): Promise<Record<string, unknown>>;
    /** 静态语义标准化 */
    static normalizeSemanticFields(recipe: Record<string, unknown>): Record<string, unknown>;
}
