export type ShapeType = | 'rectangle' | 'ellipse' | 'line' | 'arrow' | 'polygon' | 'star' | 'triangle'; export interface ShapeSettings { type: ShapeType; fill: boolean; fillColor: string; stroke: boolean; strokeColor: string; strokeWidth: number; cornerRadius: number; // For rounded rectangles sides: number; // For polygons and stars innerRadius: number; // For stars (0-1, percentage of outer radius) arrowHeadSize: number; // For arrows arrowHeadAngle: number; // For arrows (degrees) } export interface ShapeState { settings: ShapeSettings; } export interface ShapeStore extends ShapeState { setShapeType: (type: ShapeType) => void; setFill: (fill: boolean) => void; setFillColor: (color: string) => void; setStroke: (stroke: boolean) => void; setStrokeColor: (color: string) => void; setStrokeWidth: (width: number) => void; setCornerRadius: (radius: number) => void; setSides: (sides: number) => void; setInnerRadius: (radius: number) => void; setArrowHeadSize: (size: number) => void; setArrowHeadAngle: (angle: number) => void; updateSettings: (settings: Partial) => void; }