/**
 * CMS Components Index
 * Central export point for all Component-Based CMS components
 */

// Core Components
export { ContentZone } from "./ContentZone.js";
export { ComponentLibrary } from "./ComponentLibrary.js";
export { LayoutEngine } from "./LayoutEngine.js";
export {
  ThemeSystem,
  ThemeControls,
  ColorPalette,
  useTheme,
} from "./ThemeSystem.js";

// Types
export type {
  ContentZoneProps,
  DraggableComponentProps,
} from "./ContentZone.js";

export type {
  ComponentLibraryProps,
  ComponentTemplateProps,
} from "./ComponentLibrary.js";

export type {
  LayoutEngineProps,
  GridLayoutProps,
  ResponsiveLayoutProps,
} from "./LayoutEngine.js";

export type {
  ThemeSystemProps,
  ThemeControlsProps,
  ColorPaletteProps,
  TypographyControlsProps,
  ThemeContextValue,
} from "./ThemeSystem.js";

// Re-export types from components module
export type {
  ComponentCategory,
  ComponentType,
  CMSComponent,
  ContentZone as ContentZoneType,
  LayoutConfig,
  StyleConfig,
  ThemeConfig,
  RenderContext,
  ComponentProps,
  ComponentValidation,
  PreviewConfig,
  ZoneConstraints,
  ComponentMetadata,
  GridConfig,
  ResponsiveConfig,
  SpacingConfig,
} from "../types/components.js";
