import { Point, Vector3 } from '@vertexvis/geometry';
import { Color } from '@vertexvis/utils';
import { ShapeProps } from 'regl-shape';
import { CreateShape } from '../../lib/transforms/shape';
import { Drawable, DrawablePoints } from './drawable';
export declare class AxisLinePoints implements DrawablePoints {
    valid: boolean;
    worldOrigin: Vector3.Vector3;
    worldEnd: Vector3.Vector3;
    origin: Point.Point;
    end: Point.Point;
    constructor(valid: boolean, worldOrigin: Vector3.Vector3, worldEnd: Vector3.Vector3, origin: Point.Point, end: Point.Point);
    shortestDistanceFrom(vector: Vector3.Vector3): number;
    toWorldArray(): Vector3.Vector3[];
    toArray(): Point.Point[];
}
export declare class AxisLine extends Drawable<AxisLinePoints> {
    constructor(createShape: CreateShape, identifier: string, points: AxisLinePoints, outlineColor?: Color.Color | string, fillColor?: Color.Color | string, shapeProps?: Partial<ShapeProps>);
}
export declare class RotationLinePoints implements DrawablePoints {
    valid: boolean;
    world: Vector3.Vector3[];
    ndc: Vector3.Vector3[];
    constructor(valid: boolean, world: Vector3.Vector3[], ndc: Vector3.Vector3[]);
    shortestDistanceFrom(vector: Vector3.Vector3): number;
    toWorldArray(): Vector3.Vector3[];
    toArray(): Point.Point[];
}
export declare class RotationLine extends Drawable<RotationLinePoints> {
    disabled: boolean;
    constructor(createShape: CreateShape, identifier: string, points: RotationLinePoints, outlineColor?: Color.Color | string, shapeProps?: Partial<ShapeProps>, disabled?: boolean);
    setDisabled(disabled: boolean): void;
}
