import { Color, Parameter, ZeaPointerEvent, XfoParameter } from '@zeainc/zea-engine';
import BaseLinearMovementHandle from './BaseLinearMovementHandle';
import './Shaders/HandleShader';
import SelectionGroup from '../SelectionGroup';
/**
 * Class representing a linear scale scene widget.
 *
 * @extends BaseLinearMovementHandle
 */
declare class LinearScaleHandle extends BaseLinearMovementHandle {
    private handleMat;
    private oriXfo;
    private tmplocalXfo;
    private baseXfo;
    private change;
    param: Parameter<unknown>;
    selectionGroup: SelectionGroup;
    /**
     * Create a linear scale 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 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 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 LinearScaleHandle;
export { LinearScaleHandle };
//# sourceMappingURL=LinearScaleHandle.d.ts.map