import { TreeItem } from '@zeainc/zea-engine';
import { MeasureDistance } from '.';
import { Change } from '../UndoRedo/index';
/**
 * Represents a Measurement change.
 *
 * @extends Change
 */
declare class MeasurementChange extends Change {
    measurement: MeasureDistance;
    measurementType: string;
    parentItem: TreeItem;
    parentItemPath: Array<string>;
    childIndex: number;
    /**
     * Creates an instance of MeasurementChange.
     *
     * @param measurement - The parent that the measurement will be added to.
     */
    constructor(measurement: TreeItem);
    /**
     *
     *
     * @param data - An object containing potentially the start and end positions.
     * @memberof MeasurementChange
     */
    update(data: Record<string, any>): void;
    /**
     *
     */
    end(): void;
    /**
     * Removes recently created geometry from its parent.
     */
    undo(): void;
    /**
     * Restores recently created geometry and adds it to the specified parent tree item.
     */
    redo(): void;
    /**
     * Serializes the change as a JSON object.
     *
     * @param context - The context value
     * @return {Record<any,any>} - The serialized change
     */
    toJSON(context: Record<any, any>): Record<string, any>;
    /**
     * Restores geometry from using the specified JSON
     *
     * @param j - The j param.
     * @param context - The appData param.
     */
    fromJSON(j: Record<string, any>, context: Record<string, any>): void;
    /**
     * Removes geometry item reference from change change.
     */
    destroy(): void;
}
export { MeasurementChange };
//# sourceMappingURL=MeasurementChange.d.ts.map