/**
 * 差异更新模块
 * 提供消息列表和帖子列表的增量更新功能，减少 UI 重渲染次数
 */

// ==================== Message 相关 ====================

// 类型定义
export {
  MessageUpdateType,
  MessageIdentifier,
  BaseMessageUpdate,
  AddMessageUpdate,
  UpdateMessageUpdate,
  DeleteMessageUpdate,
  MoveMessageUpdate,
  BatchAddMessageUpdate,
  BatchUpdateMessageUpdate,
  BatchDeleteMessageUpdate,
  ResetMessageUpdate,
  MessageUpdate,
  DiffConfig,
  DiffResult,
  BatchUpdateListener,
  MessageComparator,
  MessageSorter,
  DEFAULT_DIFF_CONFIG,
} from './types';

// 差异计算器
export {
  MessageDiffCalculator,
  createMessageDiffCalculator,
} from './MessageDiffCalculator';

// 批量处理器
export {
  MessageUpdateBatcher,
  createMessageUpdateBatcher,
  BatcherOptions,
  DEFAULT_BATCHER_OPTIONS,
} from './MessageUpdateBatcher';

// ==================== Post 相关 ====================

// 类型定义
export {
  PostChangeType,
  PostUpdateType,
  PostIdentifier,
  PostChange,
  PostDiffResult,
  BasePostUpdate,
  AddPostUpdate,
  UpdatePostUpdate,
  DeletePostUpdate,
  MovePostUpdate,
  BatchAddPostUpdate,
  BatchUpdatePostUpdate,
  BatchDeletePostUpdate,
  ResetPostUpdate,
  PostUpdate,
  PostUpdateBatch,
  PostDiffConfig,
  PostBatchUpdateListener,
  PostComparator,
  PostSorter,
  PostDiffStats,
  DEFAULT_POST_DIFF_CONFIG,
} from './postTypes';

// 差异计算器
export {
  PostDiffCalculator,
  createPostDiffCalculator,
} from './PostDiffCalculator';

// 批量处理器
export {
  PostUpdateBatcher,
  createPostUpdateBatcher,
  PostBatcherOptions,
  DEFAULT_POST_BATCHER_OPTIONS,
} from './PostUpdateBatcher';
