export type ToolType =
  | 'select'
  | 'frame'
  | 'rectangle'
  | 'ellipse'
  | 'line'
  | 'polygon'
  | 'path'
  | 'text'
  | 'hand'

export interface ViewportState {
  zoom: number
  panX: number
  panY: number
}

export interface SelectionState {
  selectedIds: string[]
  activeId: string | null
  hoveredId: string | null
  enteredFrameId: string | null
  enteredFrameStack: string[]
}

export interface CanvasInteraction {
  isDrawing: boolean
  isPanning: boolean
  isDragging: boolean
  drawStartPoint: { x: number; y: number } | null
}
