import { DrawingID, ObjectID, IStructureObject } from '@buerli.io/core';
import { FlipType, ReorientedType } from '@buerli.io/classcad';
/**
 * Implies the following data structure:
 * data: {
 *   matePath: ObjectID[],
 *   csys: IStructureObject,
 *   flip: FlipType,
 *   reoriented: ReorientedType,
 * }
 */
export declare const MateScope = "HLConstraintScope";
export declare const createMateItem: (matePath: ObjectID[], csys: IStructureObject, flip: FlipType, reoriented: ReorientedType) => {
    id: string;
    scope: string;
    data: {
        matePath: number[];
        csys: IStructureObject;
        flip: FlipType;
        reoriented: ReorientedType;
    };
    label: string;
};
export declare function useIsSelected(drawingId: DrawingID, matePath: ObjectID[], csys: IStructureObject): boolean;
export declare function useMateSelection(drawingId: DrawingID, matePath: ObjectID[], csysId: ObjectID): {
    isHovered: boolean;
    isSelected: boolean;
    handlers: {};
};
