import * as THREE from 'three';
import { PerspectiveCamera, Scene } from 'three';
import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js';
export interface ITransformControlService {
    readonly controller: TransformControls;
    setTransformController(): void;
    attachObjectToControl(isDragging: boolean, clickedObject: THREE.Object3D<THREE.Event> | null | undefined): void;
}
declare class TransformControlService implements ITransformControlService {
    #private;
    constructor({ camera, canvas, scene }: {
        camera: PerspectiveCamera;
        canvas: HTMLCanvasElement;
        scene: Scene;
    });
    get controller(): TransformControls;
    setTransformController(): void;
    attachObjectToControl(isDragging: boolean, clickedObject: THREE.Object3D<THREE.Event> | null | undefined): void;
}
export default TransformControlService;
