/**
 * Card recognition module exports.
 */

// Recognition service
export {
  recognizeCard,
  computeImageHash,
  calculateConfidence,
  createRecognitionService,
  type RecognitionOptions,
  type RecognitionResult,
  type CardMatch,
  type CardHashEntry,
} from "./recognitionService";

// Card detection
export {
  detectCard,
  type CardDetectionResult,
} from "./cardDetector";

// Perspective correction
export {
  warpPerspective,
  OUTPUT_WIDTH,
  OUTPUT_HEIGHT,
} from "./perspectiveCorrection";

// CLAHE preprocessing
export { applyCLAHE } from "./clahe";

// Perceptual hashing
export {
  computeColorHash,
  hammingDistance,
  hashToHex,
  hexToHash,
  HASH_VERSION,
  MATCH_THRESHOLD,
  HASH_BITS,
} from "./perceptualHash";

// Image utilities
export {
  resizeImage,
  rotateImage,
  toGrayscale,
  grayscaleToRgba,
  gaussianBlur,
  distance,
  type Point,
  type Size,
} from "./imageUtils";

// Image loading
export {
  loadImageForRecognition,
  loadImageAsBase64,
} from "./imageLoader";

// Skia image decoding
export {
  decodeImageBase64,
  decodeImageFromUri,
  useDecodedImage,
} from "./skiaDecoder";
