import { Color, Parameter, XfoParameter, ZeaPointerEvent } from '@zeainc/zea-engine';
import BaseLinearMovementHandle from './BaseLinearMovementHandle';
import './Shaders/HandleShader';
import SelectionGroup from '../SelectionGroup';
/**
 * Class representing a linear movement scene widget.
 *
 * @extends BaseLinearMovementHandle
 */
declare class LinearMovementHandle extends BaseLinearMovementHandle {
    private handleMat;
    private baseXfo;
    private change;
    param: XfoParameter;
    selectionGroup: SelectionGroup;
    /**
     * Create a linear movement scene widget.
     *
     * @param name - The name value.
     * @param length - The length value.
     * @param thickness - The thickness value.
     * @param color - The color value.
     */
    constructor(name?: string, length?: number, thickness?: 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: Parameter<any>): void;
    /**
     * Returns target's global xfo parameter.
     *
     * @return - returns handle's target global Xfo.
     */
    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 LinearMovementHandle;
export { LinearMovementHandle };
//# sourceMappingURL=LinearMovementHandle.d.ts.map