import * as THREE from "three";
/**
 * Dxf change type, which can be "Added", "Removed" or "Modified".
 *
 * Note that a "Modified" change can be represented as a "Removed" and an "Added" types.
 *
 * The system can display "Added" object in a specific color (green, etc.),
 * and "Removed" in another color (red, etc.).
 */
export declare enum DxfChangeType {
    Added = "Added",
    Removed = "Removed",
    Modified = "Modified",
    NoChange = "NoChange"
}
/**
 * Dxf compare detail changes.
 * It supports:
 * - color
 * - lineType
 * - constantWidth (polyline width)
 */
export type DxfDetailChanges = {
    [propName: string]: {
        /**
         * The old value.
         */
        old: unknown;
        /**
         * The new value.
         */
        new: unknown;
    };
};
/**
 * Describes a dxf change
 */
export interface DxfChange {
    /**
     * An integer type id. It is unique in the lifecycle of a Viewer2d.
     */
    id: number;
    /**
     * Change type, which can be "Added", "Removed", "Modified" or "NoChange".
     */
    type: DxfChangeType;
    /**
     * AutoCAD entity handle as hex string.
     */
    handle: string;
    /**
     * AutoCAD entity handle as hex string.
     * @hidden
     */
    parentHandles?: string[];
    /**
     * @hidden
     */
    box?: THREE.Box3;
    detailChanges?: DxfDetailChanges;
}
