import { FileConfig, TemplateSyncerOptions, BatchResults } from './types';
/**
 * 智能模板同步工具
 * 用于将项目与模板仓库保持同步
 */
export declare class TemplateSyncer {
    private tempDir;
    private templateRepo;
    private branch;
    private configFile;
    private changes;
    private verbose;
    private ignorePatterns;
    private fileTypeConfig;
    private specialFiles;
    constructor(options?: TemplateSyncerOptions);
    /**
     * 创建 Git 备份
     */
    createBackup(): void;
    /**
     * 克隆模板仓库
     */
    cloneTemplate(): Promise<void>; /**
     * 获取或设置模板仓库
     */
    getTemplateRepo(): Promise<string>;
    /**
     * 测试仓库连接
     */
    testRepository(repo: string): Promise<boolean>;
    /**
     * 扫描模板文件
     */
    scanTemplateFiles(): Promise<FileConfig[]>;
    /**
     * 扫描当前项目文件
     */
    scanCurrentFiles(): Promise<FileConfig[]>;
    /**
     * 分析文件类型和特征
     */
    private analyzeFile;
    /**
     * 对比文件并生成变更列表
     */
    compareFiles(templateFiles: FileConfig[], currentFiles: FileConfig[]): Promise<FileConfig[]>;
    /**
     * 交互式选择要应用的变更
     */
    selectChangesToApply(changes: FileConfig[]): Promise<FileConfig[]>;
    /**
     * 按分类选择文件
     */
    private selectByCategory;
    /**
     * 逐一选择文件
     */
    private selectIndividually;
    /**
     * 批量更新文件
     */
    batchUpdateFiles(files: FileConfig[]): Promise<BatchResults>;
    /**
     * 更新单个文件
     */
    private updateSingleFile;
    /**
     * 智能合并 package.json
     */
    private mergePackageJson;
    /**
     * 显示操作摘要
     */
    showSummary(results: BatchResults): void;
    /**
     * 清理临时文件
     */
    cleanup(): void;
    /**
     * 加载配置文件
     */
    private loadConfig;
    /**
     * 保存配置文件
     */
    private saveConfig;
    /**
     * 主同步流程
     */
    sync(options?: TemplateSyncerOptions): Promise<void>;
    /**
     * 初始化配置向导
     */
    initConfig(): Promise<void>;
    /**
     * 批量处理模式
     */
    batchProcess(): Promise<void>;
    /**
     * 生成智能推荐
     */
    private generateRecommendations;
    /**
     * 预览所有差异
     */
    previewAllDifferences(files: FileConfig[]): Promise<void>;
    /**
     * 智能同步模式
     */
    intelligentSync(): Promise<void>;
    /**
     * 选择分支
     */
    private selectBranch;
}
//# sourceMappingURL=index.d.ts.map