import * as StubbyArrow from '../ProcoreGeometries/StubbyArrow';
import * as ProcoreArrow from '../ProcoreGeometries/ProcoreArrow';
declare const meshFactories: {
    StubbyArrow: typeof StubbyArrow;
    ProcoreArrow: typeof ProcoreArrow;
};
type MeshName = keyof typeof meshFactories;
export declare class SectionControlArrow {
    arrowControl: Map<string, THREE.Mesh[]>;
    currentMeshFactoryName: MeshName;
    constructor(names: Array<string>);
    createArrowControlMesh(name: string, meshFactoryName: MeshName): void;
    updateArrowControlMesh(scene: THREE.Scene, meshFactoryName: MeshName): void;
    setArrowControlPosition(name: string, centerPoint: THREE.Vector3, rotateMatrix: THREE.Matrix4, scale: THREE.Vector3): void;
    setArrowControlColor(params: {
        body: number;
        edge: number;
    }): void;
    addArrowsToScene(scene: THREE.Scene): void;
    clearArrowsFromScene(scene: THREE.Scene): void;
}
export {};
