/**
 * Gerbil colour-genetics engine — public API.
 *
 * Pure TypeScript domain module (no React, no API calls). The UI layer (FEAT-5)
 * consumes `breed()` and resolves warning CODES to German text via de.ts.
 */
export { breed } from './breed'
export type {
  BreedingResult,
  OffspringGenotype,
  FarbschlagShare,
  Probability,
} from './breed'

export {
  makeGenotype,
  wildType,
  toDisplayString,
  fromDisplayString,
  toJSON,
  fromJSON,
  hasUnknown,
  WILDCARD,
} from './genotype'
export type { Genotype, AllelePair } from './genotype'

export { LOCI, LOCUS_ORDER } from './loci'
export type { LocusKey, LocusDef } from './loci'

export { phenotypeTokens } from './phenotype'
export type { PhenotypeTokens } from './phenotype'

export {
  farbschlagFor,
  genotypeToFarbschlag,
  representativeGenotype,
  farbschlagImageUrl,
  findVariety,
  BASE_COLORS,
  CATALOG,
  CATALOG_SIZE,
  UNKNOWN_FARBSCHLAG,
} from './catalog'
export type { FarbschlagEntry, FarbschlagMatch, ColorVarietySeed } from './catalog'

export { GeneticsWarningCode } from './warnings'
export type { GeneticsWarning } from './warnings'

export type { Fraction } from './fraction'
