import { D as DepsConflictResolverOptions, d as PluginHooks, a as AliasPathMapping, b as AnalysisResult, R as ResolvedOptions } from './config.types-FhZrFXHQ.cjs'; /** * 依赖解析器 * 整合所有核心模块,提供统一的 API */ declare class DepsConflictResolver { private options; private userOptions; private hooks; private environmentDetector; private analyzer; private aliasManager; private installer; private analysisResult; private initialized; constructor(userOptions: DepsConflictResolverOptions, hooks?: PluginHooks); /** * 解析配置,填充默认值(异步,支持自动检测) */ private resolveOptions; /** * 初始化解析器 */ initialize(): Promise; /** * 输出第一层依赖中缺失的 peer 依赖警告(不自动安装,仅提示) * * 放在 initialize 阶段统一输出,避免各插件重复打印,且在 autoInstall=false 时也能看到提示。 */ private logMissingFirstLevelPeers; /** * 安装所需依赖 * * 安装策略(按用户需求): * 1. 只自动安装「主工程已声明的依赖 & peerDeps 要求版本与主工程版本冲突」的别名版本 * 2. 缺失的 peer 依赖(主工程未声明):不自动安装,只警告 * 3. 内部依赖冲突(子依赖之间的版本冲突):不自动安装,只做编译时重定向 * * 这样可以避免"什么依赖都自动安装"的问题,用户可以根据警告自行决定是否安装缺失的依赖 */ installDependencies(): Promise; /** * 解析模块请求 * @returns 解析后的模块名,如果不需要重定向则返回 null */ resolveModule(request: string, importer?: string): string | null; /** * 获取别名路径映射 * 返回别名名称到实际路径的映射,供构建工具插件转换为各自的格式 */ getAliasPathMappings(): AliasPathMapping[]; /** * 获取分析结果 */ getAnalysisResult(): AnalysisResult | null; /** * 获取配置 */ getOptions(): ResolvedOptions; } /** * 创建依赖解析器实例 */ declare function createResolver(options: DepsConflictResolverOptions, hooks?: PluginHooks): Promise; export { DepsConflictResolver as D, createResolver as c };