//#region src/canvas/api/types.d.ts /** * Core types for the canvas system. */ /** * Selection state enumeration. */ type SelectionState = "none" | "single" | "multiple" | "box-selecting"; /** * Element bounds interface - elements can implement this to override default bounding rect. * This allows elements to provide custom hit testing areas or account for visual bounds * that differ from DOM bounds. */ interface CanvasElementBounds { getCanvasBounds(): DOMRect; } /** * Canvas element metadata for API/manipulation. * Positions and dimensions are in canvas coordinate space. */ interface CanvasElementData { id: string; element: HTMLElement; x: number; y: number; width: number; height: number; rotation?: number; } /** * Canvas data structure for export/import. */ interface CanvasData { elements: CanvasElementData[]; groups: Array<{ id: string; elementIds: string[]; }>; } //#endregion export { CanvasData, CanvasElementBounds, CanvasElementData, SelectionState }; //# sourceMappingURL=types.d.ts.map