export interface ThemeColors {
  bg: {
    base: string;
    surface: string;
    surfaceMuted: string;
  };
  border: {
    default: string;
    muted: string;
  };
  text: {
    high: string;
    med: string;
    low: string;
  };
  intent: {
    primary: string;
    telemetry: string;
    warning: string;
    success: string;
    critical: string;
  };
}

export interface ThemeRadii {
  none: string;
  sm: string;
  md: string;
  lg: string;
  xl: string;
  '2xl': string;
  full: string;
}

export interface ThemeShadows {
  none: string;
  sm: string;
  md: string;
  lg: string;
  xl: string;
  focus: string;
}

export interface ThemeTypography {
  fontFamily: {
    sans: string;
    mono: string;
  };
}

export interface ThemeSpacing {
  0: string;
  0.5: string;
  1: string;
  1.5: string;
  2: string;
  2.5: string;
  3: string;
  3.5: string;
  4: string;
  5: string;
  6: string;
  7: string;
  8: string;
  9: string;
  10: string;
  11: string;
  12: string;
  14: string;
  16: string;
  20: string;
  24: string;
  28: string;
  32: string;
  36: string;
  40: string;
  44: string;
  48: string;
  52: string;
  56: string;
  60: string;
  64: string;
  72: string;
  80: string;
  96: string;
}

export interface Theme {
  id: string;
  name: string;
  colors: ThemeColors;
  radii: ThemeRadii;
  shadows: ThemeShadows;
  typography: ThemeTypography;
  spacing: ThemeSpacing;
}
