/**
 * Suppression System
 * Allows users to suppress findings via config files and inline comments
 */

// Main exports
export { SuppressionManager, type SuppressionManagerOptions } from './manager'

// Types
export type {
  SuppressionConfig,
  RuleSuppression,
  FindingSuppression,
  InlineSuppression,
  SuppressionMatch,
  SuppressedVulnerability,
  SuppressionResult,
} from './types'
export { SUPPRESSION_CONFIG_FILES, DEFAULT_SUPPRESSION_CONFIG } from './types'

// Hash utilities
export {
  computeFindingHash,
  computeHashFromComponents,
  normalizePathForHash,
  normalizeContentForHash,
  isValidHash,
  formatHashForDisplay,
} from './hash'

// Config utilities
export {
  loadSuppressionConfig,
  loadConfigFromPath,
  findConfigFile,
  writeSuppressionConfig,
  addFindingSuppression,
  removeFindingSuppression,
  addRuleSuppression,
  listSuppressions,
  isExpired,
  type ConfigLoadResult,
} from './config-loader'

// Inline comment utilities
export {
  parseInlineSuppressions,
  isLineSuppressed,
  extractSuppressionReasons,
  generateSuppressionComment,
} from './inline-parser'
