import { StyleDefinition, StylesDocumentProperties } from '../../../../../../../layout-engine/style-engine/src/ooxml/index.js';
import { AttributesDiff } from './attributes-diffing.js';
/**
 * Structured diff for style document metadata and style definitions.
 */
export interface StylesDiff {
    /** Diff for `docDefaults`. */
    docDefaultsDiff: AttributesDiff | null;
    /** Diff for `latentStyles`. */
    latentStylesDiff: AttributesDiff | null;
    /** Styles present only in the new style snapshot. */
    addedStyles: Record<string, StyleDefinition>;
    /** Styles present only in the old style snapshot. */
    removedStyles: Record<string, StyleDefinition>;
    /** Diffs for style definitions present in both snapshots. */
    modifiedStyles: Record<string, AttributesDiff>;
}
/**
 * Computes a diff between two style snapshots.
 *
 * @param oldStyles Previous style snapshot.
 * @param newStyles Updated style snapshot.
 * @returns Style diff or `null` when no changes are detected.
 */
export declare function diffStyles(oldStyles: StylesDocumentProperties | null | undefined, newStyles: StylesDocumentProperties | null | undefined): StylesDiff | null;
//# sourceMappingURL=styles-diffing.d.ts.map