export interface GridCell {
  id: string;
  x: number; // pixels
  y: number; // pixels
  width: number; // pixels
  height: number; // pixels
}

export interface GridTemplate {
  id: string;
  name: string;
  description: string;
  cells: GridCell[];
  background?: string; // CSS background
  width?: number; // Optional container width
  height?: number; // Optional container height
}

export interface GridComponent {
  template: GridTemplate;
  Component: any; // Solid component that renders the grid
}

export interface DashboardGridConfig {
  templateId: string | null;
  widgetPlacements: {
    widgetId: string;
    cellId: string;
  }[];
}
