import { Color, Xfo, Vec3, Parameter, XfoParameter, ZeaPointerEvent, ZeaMouseEvent } from '@zeainc/zea-engine';
import Handle from './Handle';
import './Shaders/HandleShader';
import { ParameterValueChange } from '../UndoRedo/Changes/ParameterValueChange';
import HandleMaterial from './Shaders/HandleMaterial';
/**
 * Class representing an axial rotation scene widget.
 *
 * @extends Handle
 */
declare class SphericalRotationHandle extends Handle {
    param: XfoParameter;
    radius: number;
    vec0: Vec3;
    baseXfo: Xfo;
    deltaXfo: Xfo;
    offsetXfo: Xfo;
    change: ParameterValueChange;
    maskMat: HandleMaterial;
    /**
     * Create an axial rotation scene widget.
     *
     * @param name - The name value.
     * @param radius - The radius value.
     * @param color - The color value.
     */
    constructor(name: string, radius: number, color?: Color);
    /**
     * Sets global xfo target parameter.
     *
     * @param param - The parameter that will be modified during manipulation
     */
    setTargetParam(param: XfoParameter): void;
    /**
     * Returns target's global xfo parameter.
     *
     * @return {Parameter} - returns handle's target global Xfo.
     */
    getTargetParam(): XfoParameter | Parameter<unknown>;
    /**
     * Handles pointer interaction with the handle.
     *
     * @param event - The event param.
     * @return {boolean} - The return value.
     */
    handlePointerDown(event: ZeaPointerEvent): boolean;
    /**
     * Handles mouse move interaction with the handle.
     *
     * @param event - The event param
     * @return {boolean} - The return value
     */
    handlePointerMove(event: ZeaMouseEvent): void;
    /**
     * Handles mouse up interaction with the handle.
     *
     * @param event - The event param.
     * @return {boolean} - The return value.
     */
    handlePointerUp(event: ZeaMouseEvent): void;
    /**
     * Handles the initially drag of the handle.
     *
     * @param event - The event param.
     */
    onDragStart(event: ZeaPointerEvent): void;
    /**
     * Handles drag action of the handle.
     *
     * @param event - The event param.
     */
    onDrag(event: ZeaPointerEvent): void;
    /**
     * Handles the end of dragging the handle.
     *
     * @param event - The event param.
     */
    onDragEnd(event: ZeaPointerEvent): void;
}
export default SphericalRotationHandle;
export { SphericalRotationHandle };
//# sourceMappingURL=SphericalRotationHandle.d.ts.map