/**
 * Options for file merging
 */
export declare enum MergeOption {
    OVERWRITE = "overwrite",
    KEEP_BOTH = "keep-both",
    SKIP = "skip"
}
/**
 * File merger utility to handle merging files from this package into a parent project
 */
export declare class FileMerger {
    /**
     * Merge a file from the source directory to the target directory
     *
     * @param sourcePath Source file path
     * @param targetPath Target file path
     * @param defaultOption Default option if not in interactive mode
     * @param interactive Whether to prompt the user for confirmation
     * @returns Promise resolving to true if the file was merged successfully
     */
    static mergeFile(sourcePath: string, targetPath: string, defaultOption?: MergeOption, interactive?: boolean): Promise<boolean>;
    /**
     * Prompt the user for what to do with an existing file
     *
     * @param targetPath Target file path
     * @returns Promise resolving to the selected merge option
     */
    private static promptUser;
    /**
     * Generate a backup path for a file
     *
     * @param filePath Original file path
     * @returns Backup file path with .new extension
     */
    private static generateBackupPath;
    /**
     * Merge multiple files from source directory to target directory
     *
     * @param files Map of source files to target files
     * @param defaultOption Default option if not in interactive mode
     * @param interactive Whether to prompt the user for confirmation
     * @returns Promise resolving to number of successfully merged files
     */
    static mergeFiles(files: Map<string, string>, defaultOption?: MergeOption, interactive?: boolean): Promise<number>;
}
export default FileMerger;
//# sourceMappingURL=file-merger.d.ts.map