import React from 'react'; import * as THREE from 'three'; import { DrawingID, ObjectID, SelectedItem } from '@buerli.io/core'; import { FlipType, ReorientedType } from '@buerli.io/classcad'; export declare type CustomCSys = { drawingId: DrawingID; matrix: THREE.Matrix4; userData: { csysId: ObjectID; path: ObjectID[]; }; }; export declare type CSysUserData = { path: ObjectID[]; csysId: ObjectID; flip?: FlipType; reorient?: ReorientedType; isSelected?: boolean; isActive?: boolean; onHUD?: boolean; }; export declare enum CSysDisplayMode { DisplayAll = 0, DisplayHovered = 1, DisplayVisible = 2 } export declare type CSysDisplayContextProps = { drawingId: DrawingID; displayMode: CSysDisplayMode; includeSelected: boolean; selItems: SelectedItem[]; activeSelItems: SelectedItem[]; activeRigidsets: ObjectID[]; csysComponent: React.FC | undefined; }; export declare const CSysDisplayContext: React.Context; export declare const CSysWrapper: React.FC<{ drawingId: DrawingID; csys?: React.FC; onPointerMove?: (csysId_: ObjectID, path_: ObjectID[]) => void; onPointerOut?: (csysId_: ObjectID, path_: ObjectID[]) => void; userData: CSysUserData; }>; export declare const CSysDisplay: React.FC<{ drawingId: DrawingID; csys?: React.FC; displayMode?: CSysDisplayMode; instances?: ObjectID[]; includeSelected?: boolean; }>;