/**
 * Widget configuration types for user layouts
 */

/**
 * Base widget interface
 */
export interface Widget {
  id: string;
  type: string;
  x: number;
  y: number;
  w: number;
  h: number;
  minW?: number;
  minH?: number;
  maxW?: number;
  maxH?: number;
  isDraggable?: boolean;
  isResizable?: boolean;
  isBounded?: boolean;
  static?: boolean;
}

/**
 * Widget with configuration
 */
export interface ConfiguredWidget extends Widget {
  config?: Record<string, unknown>;
}

/**
 * Layout configuration type
 */
export type Layout = ConfiguredWidget[];
