// Shared types between extension, container, and SDK. Keep in sync with // shell.iface.xml. See design ยง8. export type Theme = 'light' | 'dark'; export interface SystemInfo { theme: Theme; battery?: { level: number; charging: boolean }; network?: { connected: boolean; type: 'wifi' | 'ethernet' | 'cellular' | 'none' }; brightness?: number; } export interface LayoutEntry { instanceId: string; widgetId: string; x: number; y: number; w: number; h: number; } export interface LayoutFile { widgets: LayoutEntry[]; } export interface WidgetManifest { id: string; name: string; version: string; entry: string; icon?: string; size: { w: number; h: number; minW?: number; minH?: number; maxW?: number; maxH?: number }; permissions: WidgetPermission[]; configSchema?: Record; } export type WidgetPermission = | 'timer' | 'battery' | 'network' | 'brightness' | 'notifications';