import { Camera, EventDispatcher, Intersection, Object3D, Plane, Raycaster, Vector3 } from 'three'; import { ObjectHTML } from '../ObjectHTML'; type DefaultObject3D = Object3D; export type DragStartEvent = { type: 'dragstart'; object: DefaultObject3D; }; export type DragEvent = { type: 'drag'; object: DefaultObject3D; position: Vector3; }; export type DragEndEvent = { type: 'dragend'; object: DefaultObject3D; }; declare class DragControls extends EventDispatcher { private camera; private domElement; private getPlane; enabled: boolean; intersections: Intersection[]; selected: Object3D | null; hovered: Object3D | null; objects: Set; private pointer; private offset; private intersection; private worldPosition; private inverseMatrix; constructor(camera: Camera, domElement: HTMLElement, getPlane: (object: Object3D) => Plane); attach(object: Object3D): void; detach(object: Object3D): void; activate(): void; deactivate(): void; dispose(): void; getObjects(): Object3D[]; getRaycaster(): Raycaster; onPointerMove: (event: PointerEvent) => void; findContainer(intersection: Intersection): never; findIntersectedObject(intersections: Intersection[]): ObjectHTML; onPointerDown: (event: MouseEvent) => void; onPointerCancel: () => void; updatePointer: (event: MouseEvent) => void; } export { DragControls }; //# sourceMappingURL=DragControls.d.ts.map