import { XfoParameter, ZeaPointerEvent, NumberParameter, Color } from '@zeainc/zea-engine';
import Handle from './Handle';
import SelectionGroup from '../SelectionGroup';
/**
 * Class representing an axial rotation scene widget.
 *
 * @extends Handle
 */
declare class AxialRotationHandle extends Handle {
    param: XfoParameter;
    radiusParam: NumberParameter;
    private baseXfo;
    private handleXfo;
    snapIncrementAngle: number;
    enableAngleSnapping: boolean;
    private handleToTargetXfo;
    private vec0;
    private change;
    private handleMat;
    private handle;
    selectionGroup: SelectionGroup;
    /**
     * Create an axial rotation scene widget.
     *
     * @param name - The name value.
     */
    constructor(name: string, radius: number, thickness: number, radians?: number, color?: Color);
    /**
     * highlight the handle to indicate it is under the mouse.
     */
    highlight(): void;
    /**
     * Removes the highlight from the handle once the mouse moves away.
     */
    unhighlight(): void;
    /**
     * Sets selectionGroup so this handle can modify the items.
     *
     * @param selectionGroup - The SelectionGroup.
     */
    setSelectionGroup(selectionGroup: SelectionGroup): void;
    /**
     * Sets the target parameter for this manipulator.
     * This parameter will be modified by interactions on the manipulator.
     *
     * @param param - The parameter that will be modified during manipulation
     */
    setTargetParam(param: XfoParameter): void;
    /**
     * Returns target's global xfo parameter.
     *
     * @return {Parameter} - returns parameter
     */
    getTargetParam(): XfoParameter;
    /**
     * 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 AxialRotationHandle;
export { AxialRotationHandle };
//# sourceMappingURL=AxialRotationHandle.d.ts.map