/**
 * Support FAQ Module
 * Centralized exports for FAQ management
 */

// Constants
export {
  FAQ_CATEGORIES,
  FAQ_ADMIN_ROLES,
  FAQ_ERRORS,
  FAQ_SUCCESS,
  FAQ_DEFAULTS,
  FAQ_PUBLIC_SELECT,
  FAQ_DEFAULT_ORDER,
  FAQ_PUBLIC_ORDER,
} from './constants';

// Types
export type {
  CreateFAQInput,
  UpdateFAQInput,
  FAQListFilters,
  FAQStats,
  PublicFAQ,
  StaffSession,
  ValidationResult,
  SearchCondition,
  FAQWhereClause,
} from './types';

// Validators
export {
  isValidCategory,
  hasAdminPermission,
  validateCreateInput,
  validateUpdateInput,
  sanitizeString,
  buildUpdateData,
} from './validator';

// Service
export type { PublicFAQOptions } from './service';
export {
  listFAQs,
  getFAQStats,
  getPublishedFAQs,
  getFAQById,
  createFAQ,
  updateFAQ,
  deleteFAQ,
  faqExists,
} from './service';
