/**
 * Canvas Elements Module
 *
 * Exports all element-related components and utilities.
 */

// Main renderer
export {ElementRenderer} from "./ElementRenderer";

// Base element wrapper
export {BaseElement} from "./BaseElement";

// Individual renderers (for direct use or extension)
export {PriceElementRenderer} from "./PriceElementRenderer";
export {CurrencyElementRenderer} from "./CurrencyElementRenderer";
export {DiscountBadgeRenderer} from "./DiscountBadgeRenderer";
export {TextElementRenderer} from "./TextElementRenderer";
export {VariablePriceRangeRenderer} from "./VariablePriceRangeRenderer";
export {DefaultElementRenderer} from "./DefaultElementRenderer";

// Renderer registry (for 3rd party extensions)
export {
  registerRenderer,
  unregisterRenderer,
  getRenderer,
  hasRenderer,
  subscribeToRendererRegistry,
  getRegisteredTypes,
  type ElementRendererProps,
  type ElementRendererComponent,
} from "./rendererRegistry";
