export type {
  DesktopTheme,
  ThemePaletteColors,
  ThemeSeedColors,
  ThemeVariant,
  HexColor,
  OklchColor,
  ResolvedTheme,
  ColorValue,
  CssVarRef,
} from "./types"

export {
  hexToRgb,
  rgbToHex,
  hexToOklch,
  oklchToHex,
  rgbToOklch,
  oklchToRgb,
  generateScale,
  generateNeutralScale,
  generateAlphaScale,
  fitOklch,
  blend,
  mixColors,
  shift,
  lighten,
  darken,
  withAlpha,
} from "./color"

export { resolveThemeVariant, resolveTheme, themeToCss } from "./resolve"
export { applyTheme, loadThemeFromUrl, getActiveTheme, removeTheme, setColorScheme } from "./loader"
export { ThemeProvider, useTheme, type ColorScheme } from "./context"

export {
  DEFAULT_THEMES,
  oc2Theme,
  amoledTheme,
  auraTheme,
  ayuTheme,
  carbonfoxTheme,
  catppuccinTheme,
  catppuccinFrappeTheme,
  catppuccinMacchiatoTheme,
  cobalt2Theme,
  cursorTheme,
  draculaTheme,
  everforestTheme,
  flexokiTheme,
  githubTheme,
  gruvboxTheme,
  kanagawaTheme,
  lucentOrngTheme,
  materialTheme,
  matrixTheme,
  mercuryTheme,
  monokaiTheme,
  nightowlTheme,
  nordTheme,
  oneDarkTheme,
  oneDarkProTheme,
  opencodeTheme,
  orngTheme,
  osakaJadeTheme,
  palenightTheme,
  rosepineTheme,
  shadesOfPurpleTheme,
  solarizedTheme,
  synthwave84Theme,
  tokyonightTheme,
  vercelTheme,
  vesperTheme,
  zenburnTheme,
} from "./default-themes"
