export declare type DrawableMeshIndex = "box" | "sphere" | "line";
export interface DrawingState {
    color?: string;
    meshScale?: number;
    drawObject?: DrawableMeshIndex;
    is3dMode?: boolean;
}
export default class DrawingManager {
    color: string;
    drawObject: DrawableMeshIndex;
    is3dMode: boolean;
    meshScale: number;
    private MAX_POINTS;
    private isDrawing;
    private field;
    private activeCamera;
    private canvas;
    private cloneArray;
    private activeLinePointIndex;
    private drawableMeshes;
    private constructor();
    clearDrawings: () => void;
    setColor: (newColor: string) => void;
    private readonly getDrawableMeshes;
    private readonly getCanvas;
    private readonly onMouseDown;
    private readonly onMouseMove;
    private readonly onMouseUp;
    private handleDrawing;
    private readonly getMouseVector;
    private readonly drawLine;
    private readonly drawMesh;
    private readonly removeClones;
    private readonly refreshFrame;
    private readonly isPaused;
    private readonly updateSize;
    private readonly onCameraChange;
    /**
     * ========================================
     * Managers are singletons
     * ========================================
     */
    private static instance?;
    static getInstance(): DrawingManager;
    static init(state?: DrawingState): DrawingManager;
    static destruct(): void;
}
