export interface ThemeTypographyConfig {
  primaryFontFamily: string;
  headingFontFamily?: string;
  baseFontSize: number;
}

export interface ThemeSpacingConfig {
  unit: number;
  scale: number[];
}

export interface ThemePaletteConfig {
  primary: string;
  secondary: string;
  accent: string;
  success: string;
  warning: string;
  danger: string;
  info: string;
  textPrimary: string;
  textSecondary: string;
  backgroundPrimary: string;
  backgroundSecondary: string;
  border: string;
}

export interface ThemeConfig {
  themeId: string;
  mode: 'light' | 'dark' | 'system';
  palette: ThemePaletteConfig;
  typography: ThemeTypographyConfig;
  spacing: ThemeSpacingConfig;
  borderRadiusScale: Record<string, string>;
  shadows: Record<string, string>;
  iconSet: string;
}
