/**
 * Output Formatters
 * Export all formatting utilities for different workflows
 */

// Grouping utilities
export {
  groupByTheme,
  limitPerGroup,
  sortBySeverity,
  getBlockingIssues,
  getActionableIssues,
  getRiskTheme,
  THEME_CONFIG,
  type RiskTheme,
  type GroupedFindings,
} from './grouping'

// AI Context formatter
export {
  formatAIContext,
  type AIContextOptions,
} from './ai-context'

// IDE integrations
export {
  formatCursorRules,
  formatWindsurfRules,
  formatClaudeCodeSection,
  detectIDEConfigs,
  writeIDEFile,
  updateClaudeMdSection,
  clearIDEFiles,
  getIDEFilePath,
  OCULUM_SECTION_START,
  OCULUM_SECTION_END,
  IDE_FILE_PATHS,
  type IDEType,
  type WriteIDEFileResult,
  type ClearIDEFilesResult,
} from './ide'

// GitHub comment formatter
export {
  formatGitHubComment,
  formatShortStatus,
  formatAnnotation,
  type GitHubCommentOptions,
} from './github-comment'

// VS Code diagnostic formatter
export {
  formatDiagnostic,
  formatDiagnosticsByFile,
  generateCodeAction,
  formatForProblemsPanel,
  DiagnosticSeverity,
  type Diagnostic,
  type DiagnosticsByFile,
  type CodeAction,
  type Position,
  type Range,
} from './vscode-diagnostic'

// CLI terminal formatter
export {
  formatTerminalOutput,
  formatSimpleList,
  formatJSON,
  formatSARIF,
  formatCompactSummary,
  getNumberedFindings,
  formatFindingDetail,
  type CompactSummaryOptions,
} from './cli-terminal'
