/**
 * Diff Engine
 * Generates diffs between two configuration states
 */
import { DiffChange, DiffOptions } from './types';
export declare class DiffEngine {
    /**
     * Generate diff between two configurations
     */
    generateDiff(oldConfig: any, newConfig: any, options?: DiffOptions): DiffChange[];
    /**
     * Recursively compare two objects
     */
    private compareObjects;
    /**
     * Compare two arrays
     */
    private compareArrays;
    /**
     * Check if two values are equal
     */
    private areEqual;
    /**
     * Check if value is a plain object
     */
    private isObject;
    /**
     * Check if key should be ignored
     */
    private shouldIgnore;
    /**
     * Apply a diff to a configuration
     */
    applyDiff(config: any, diff: DiffChange[]): any;
    /**
     * Apply a single change
     */
    private applyChange;
    /**
     * Get summary of changes
     */
    getSummary(diff: DiffChange[]): {
        added: number;
        removed: number;
        modified: number;
    };
    /**
     * Determine which files would be affected by changes
     */
    getAffectedFiles(diff: DiffChange[]): string[];
}
//# sourceMappingURL=diff-engine.d.ts.map