export interface IReplaceAliasOptions { /** 项目根目录(绝对路径) */ rootDir: string; /** alias 映射关系:alias => 对应的真实目录(相对于项目根目录) */ aliasMap: Record; /** 需要扫描的目录列表(相对于项目根目录) */ scanDirs: Array; /** 需要扫描的根目录文件(相对于项目根目录) */ scanRootFiles?: Array; /** 支持的文件扩展名,默认 ['.vue', '.js', '.ts', '.less', '.css', '.scss'] */ supportedExtensions?: Array; } interface IReplaceResult { replaced: boolean; error: string | null; } /** * 递归获取目录下所有匹配扩展名的文件 */ export declare function getAllFiles(dirPath: string, extensions?: Array, fileList?: Array): Array; /** * 将 alias 路径转换为相对路径 */ export declare function toRelativePath(filePath: string, alias: string, subPath: string, rootDir: string, aliasMap: Record): string; /** * 替换单个文件中的 alias 引入为相对路径 */ export declare function replaceAliasInFile(filePath: string, rootDir: string, aliasMap: Record): IReplaceResult; /** * 收集所有需要扫描的文件列表 */ export declare function collectFiles(options: IReplaceAliasOptions): Array; /** * 执行 alias 路径替换 * @param options - 替换配置 * @returns 替换统计信息 */ export declare function replaceAlias(options: IReplaceAliasOptions): { replacedCount: number; errorCount: number; }; export {};