/**
 * Theme type definitions
 * Same shape for light and dark palettes
 */

export interface GlassStyle {
  backgroundColor: string
  borderColor: string
  borderWidth: number
}

export interface ShadowStyle {
  shadowColor: string
  shadowOffset: { width: number; height: number }
  shadowOpacity: number
  shadowRadius: number
  elevation: number
}

export interface ThemeColors {
  bg: {
    base: string
    surface: string
    elevated: string
    overlay1: string
    overlay2: string
    overlay3: string
    scrim: string
  }
  text: {
    primary: string
    secondary: string
    tertiary: string
    muted: string
    hint: string
    disabled: string
  }
  glass: {
    base: GlassStyle
    elevated: GlassStyle
    inset: GlassStyle
    tinted: GlassStyle
    successTinted: GlassStyle
    blurTint: 'dark' | 'light'
    blurLight: number
    blurMedium: number
    blurHeavy: number
    blurUltra: number
  }
  shadow: {
    sm: ShadowStyle
    md: ShadowStyle
    lg: ShadowStyle
    xl: ShadowStyle
    BRAND_GLOW: ShadowStyle
    BRAND_GLOW_SUBTLE: ShadowStyle
    LIQUID_GLOW: ShadowStyle
  }
  border: {
    glass: string
    glassLight: string
    glassStrong: string
    brand: string
    success: string
  }
  gradients: {
    videoOverlay: readonly string[]
    videoTop: readonly string[]
    glassShimmer: readonly string[]
  }
  colorScheme: 'dark' | 'light'
  statusBarStyle: 'light' | 'dark'
}
