import type { ProtractorElement, ProtractorTool } from './component/Protractor'; import type { RulerElement, RulerTool } from './component/Ruler'; import type { Triangle30Element, Triangle30Tool, Triangle45Element, Triangle45Tool } from './component/Triangle'; export declare enum MathsKitType { /** 直尺 */ Ruler = "Ruler", /** 45度三角形 */ Triangle45 = "Triangle45", /** 30度三角形 */ Triangle30 = "Triangle30", /** 量角器 */ Protractor = "Protractor", /** 圆规 */ Compass = "Compass" } export interface MathsKitState { type: MathsKitType; /** 元素的x坐标, 相对于container宽度的归一化数据 */ x: number; /** 元素的y坐标, 相对于container高度的归一化数据 */ y: number; /** 元素的宽度 */ width: number; /** 元素的高度 */ height: number; /** 元素的矩阵, 用于计算元素的变换 */ matrix: number[]; /** 元素的zIndex */ zIndex: number; custom?: Record; } export type MathsKitTool = RulerTool | Triangle45Tool | Triangle30Tool | ProtractorTool; export type MathsKitElement = RulerElement | Triangle45Element | Triangle30Element | ProtractorElement;