import { AViewerPluginSync, ThreeViewer } from '../../viewer';
import { PickingPlugin } from './PickingPlugin';
import { JSUndoManager } from 'ts-browser-helpers';
import { Vector3 } from 'three';
/**
 * PivotEditPlugin provides interactive pivot point (origin) editing for objects.
 * Toggle "Edit Pivot" mode to show a translate-only gizmo at the object's pivot.
 * Dragging moves only the pivot while the object mesh stays visually in place.
 *
 * Works alongside both TransformControlsPlugin and PivotControlsPlugin.
 *
 * @category Plugins - Interaction
 */
export declare class PivotEditPlugin extends AViewerPluginSync {
    static readonly PluginType = "PivotEditPlugin";
    dependencies: (typeof PickingPlugin)[];
    enabled: boolean;
    editPivot: boolean;
    showPivotMarker: boolean;
    markerScale: number;
    markerColor: number;
    constructor(enabled?: boolean);
    toJSON: any;
    private _pivotGizmo;
    private _markerRoot;
    private _markerWidget;
    private _pivotMarker;
    private _selectedObject;
    undoManager?: JSUndoManager;
    protected _viewerListeners: {
        preFrame: () => void;
    };
    private _onKeyDown;
    onAdded(viewer: ThreeViewer): void;
    onRemove(viewer: ThreeViewer): void;
    pivotToCenter(): void;
    pivotToBottom(): void;
    pivotToOrigin(): void;
    pivotToPoint(point: Vector3): void;
    private _applyPivot;
    private _updateMarker;
    private _onEditPivotChange;
    private _attachGizmo;
    private _detachGizmo;
    private _destroyGizmo;
    private _setTransformControlsEnabled;
    private _onEnabledChange;
    private _refreshAfterPivotChange;
    private _onDirty;
    private _onMarkerColorChange;
    private _recordUndo;
}
//# sourceMappingURL=../../src/plugins/interaction/PivotEditPlugin.d.ts.map