/**
 * Content Bounded Context
 *
 * Handles notes, reactions, reposts, and other content types.
 */

// Entities
export { Note } from './Note'
export type { NoteType, NoteMention, NoteReference } from './Note'

export { Reaction } from './Reaction'
export type { ReactionType, CustomEmoji } from './Reaction'

export { Repost } from './Repost'

// Errors
export {
  InvalidContentError,
  NoteOperationError,
  CannotReactToOwnContentError,
  NoteNotFoundError,
  ContentTooLargeError
} from './errors'

// Adapters for migration
export {
  // Note adapters
  toNote,
  tryToNote,
  isNoteEvent,
  toNotes,
  // Reaction adapters
  toReaction,
  tryToReaction,
  isReactionEvent,
  toReactions,
  groupReactionsByEmoji,
  countLikes,
  // Repost adapters
  toRepost,
  tryToRepost,
  isRepostEvent,
  toReposts,
  // Content type detection
  getContentType,
  parseContentEvent
} from './adapters'
