import { Vector3, Matrix4, Object3D, Group } from 'three'; export interface RotationStartParams { axis: 0 | 1 | 2; dir1: Vector3; dir2: Vector3; flipAxis1: boolean; flipAxis2: boolean; clickDir: Vector3; } export interface TransformControlConfig { onDragStart: (info: { component: string; axis?: 0 | 1 | 2; origin?: Vector3; directions?: Vector3[]; }) => void; onDrag: (mdW: Matrix4) => void; onDragEnd: () => void; onRotationStart?: (params: RotationStartParams) => void; onRotationUpdate?: (angle: number) => void; onRotationEnd?: () => void; translation: { current: [number, number, number]; }; translationLimits?: [ [ number, number ] | undefined, [ number, number ] | undefined, [ number, number ] | undefined ]; rotationLimits?: [ [ number, number ] | undefined, [ number, number ] | undefined, [ number, number ] | undefined ]; scaleLimits?: [ [ number, number ] | undefined, [ number, number ] | undefined, [ number, number ] | undefined ]; worldMode: boolean; axisColors: [string | number, string | number, string | number]; hoveredColor: string | number; opacity: number; scale: number; lineWidth: number; fixed: boolean; depthTest: boolean; userData?: { [key: string]: any; }; annotations?: boolean; annotationsClass?: string; targetObject?: Object3D | Group; } export declare const context: import('react').Context; export declare const WORLD_X: Vector3; export declare const WORLD_Y: Vector3; export declare const WORLD_Z: Vector3;