/**
 * Main exports for the blocks module
 */

// Core interfaces and base classes
export { 
  type IBlockHandler, 
  type IBlockEventHandlers, 
  BaseBlockHandler 
} from './block.base.js';

// Block registry for registration and retrieval
export { BlockRegistry } from './block.registry.js';

// Common styles and helpers
export { 
  commonBlockStyles,
  getBlockClasses,
  getBlockDataAttributes 
} from './block.styles.js';

// Text block handlers
export { ParagraphBlockHandler } from './text/paragraph.block.js';
export { HeadingBlockHandler } from './text/heading.block.js';
export { QuoteBlockHandler } from './text/quote.block.js';
export { CodeBlockHandler } from './text/code.block.js';
export { ListBlockHandler } from './text/list.block.js';

// Media block handlers
export { ImageBlockHandler } from './media/image.block.js';
export { YouTubeBlockHandler } from './media/youtube.block.js';
export { AttachmentBlockHandler } from './media/attachment.block.js';

// Content block handlers
export { DividerBlockHandler } from './content/divider.block.js';
export { MarkdownBlockHandler } from './content/markdown.block.js';
export { HtmlBlockHandler } from './content/html.block.js';

// Utilities
// TODO: Export when implemented
// export * from './utils/file.utils.js';
// export * from './utils/media.utils.js';
// export * from './utils/markdown.utils.js';