/**
 * 群组模块统一导出
 */

// ==================== Store ====================
export {
  useGroupManagerStore,
  type GroupManagerState,
  type GroupManagerActions,
  type GroupManagerStore,
} from './groupStore';

// ==================== Manager ====================
export { groupManager, GroupManager } from './GroupManager';

// ==================== Hooks ====================
export {
  useGroups,
  useGroup,
  useGroupMembers,
  type UseGroupsResult,
  type UseGroupResult,
  type UseGroupMembersResult,
} from './hooks';

// ==================== 数据源 ====================
export {
  GROUP_LIST_PAGE_SIZE,
  GROUP_MEMBER_LIST_PAGE_SIZE,
  type GroupListPage,
  type IGroupListPagedSource,
  type GroupMemberListPage,
  type IGroupMemberListPagedSource,
  type GroupMemberListSourceKind,
  type ICursorGroupMemberListPagedSource,
  type RemoteGroupListSourceKind,
  NetworkCursorGroupListPagedSource,
  NetworkOffsetGroupListPagedSource,
  SqliteGroupListPagedSource,
  NetworkCursorGroupMemberListPagedSource,
  NetworkOffsetGroupMemberListPagedSource,
  SqliteGroupMemberListPagedSource,
  CursorGroupMemberListSource,
  OffsetGroupMemberListSource,
  createRemoteGroupListSource,
  createRemoteGroupMemberListSource,
  createCursorGroupMemberListSource,
} from './sources';

// ==================== 工具 ====================
export { enrichGroupMembersWithUserProfiles } from './profileResolver';

// ==================== 默认导出 ====================
export { default } from './GroupManager';