import type { MergeStrategy } from '../types';
export declare class Merger {
    private strategies;
    constructor(customStrategies?: Record<string, MergeStrategy>);
    getStrategy(filePath: string): MergeStrategy;
    merge(templatePath: string, currentPath: string, targetPath: string): Promise<{
        success: boolean;
        message: string;
    }>;
    private smartMerge;
    private mergePackageJson;
    private mergeJson;
    private deepMerge;
    setStrategy(pattern: string, strategy: MergeStrategy): void;
}
