// Verbs
export { list, listForModeration, getById, post, edit, setStatus, remove, count } from './store.js'

// Types
export type {
  CommentTarget,
  CommentAuthor,
  CommentStatus,
  Comment,
  CommentInput,
  Sanitize,
  Actor,
  EntityRef,
  ListQuery,
  Page,
  StoreOpts,
} from './types.js'

// Errors
export {
  CommentValidationError,
  CommentNotFoundError,
  CommentAuthzError,
  CommentSanitizationError,
  InvalidCursorError,
  isCommentError,
} from './errors.js'

// Schema + DDL
export { comments, commentsSchema, commentsTableSql, type CommentsSchema } from './schema.js'

// Model
export { normalizeCommentInput, MAX_BODY_LEN } from './model.js'

// Authz helpers
export { assertCanModify, assertCanModerate } from './authz.js'

// Cursor utilities (useful for host adapter testing)
export { encodeCursor, decodeCursor, clampLimit, type Keyset, type ClampLimitOptions } from './cursor.js'
