import { IFieldDiffer, DiffResult } from './integration-field-diff.protocol.js';
import 'zod';

interface DeepEqualDifferOptions {
    /**
     * Extra field names to ignore in addition to the defaults. Consumers can
     * pass `['integration_version']` etc. to augment the base list; values here are
     * merged (not replaced) with `DEFAULT_IGNORE_FIELDS`.
     */
    readonly ignore?: readonly string[];
}
declare class DeepEqualDiffer<T extends Record<string, unknown>> implements IFieldDiffer<T> {
    private readonly ignore;
    constructor(opts?: DeepEqualDifferOptions);
    diff(existing: T | null, incoming: T, providerChangedFields?: string[]): DiffResult;
}

export { DeepEqualDiffer, type DeepEqualDifferOptions };
