import React from 'react';
import * as THREE from 'three';
import { DrawingID, ObjectID } from '@buerli.io/core';
import { FlipType, ReorientedType } from '@buerli.io/classcad';
export declare type CustomCSys = {
    drawingId: DrawingID;
    matrix: THREE.Matrix4;
    userData: {
        csysId: ObjectID;
        matePath: ObjectID[];
    };
};
export declare type CSysUserData = {
    matePath: ObjectID[];
    csysId: ObjectID;
    flip?: FlipType;
    reoriented?: ReorientedType;
    isSelected?: boolean;
    isActive?: boolean;
};
export declare const CSysWrapper: React.FC<{
    drawingId: DrawingID;
    csys?: React.FC<CustomCSys>;
    onPointerMove?: (csysId_: ObjectID, matePath_: ObjectID[]) => void;
    onPointerOut?: (csysId_: ObjectID, matePath_: ObjectID[]) => void;
    userData: CSysUserData;
}>;
export declare const CSysDisplay: React.FC<{
    drawingId: DrawingID;
    csys?: React.FC<CustomCSys>;
    hoveredOnly?: boolean;
}>;
