/**
 * Behavioral engine — multi-batch matcher and relational resolver.
 *
 * Import from the existing guideline-service.ts:
 *   import { MultiBatchMatcher } from './behavioral/matching.js';
 *   import { RelationalResolver } from './behavioral/resolver.js';
 */

// matching.ts
export {
  type Criticality,
  type GuidelineContent,
  type Guideline,
  type GenerationInfo,
  BatchType,
  type GuidelineMatch,
  type GuidelineMatchingContext,
  type GuidelineMatchingBatchResult,
  type GuidelineMatchingResult,
  type ObservationalGuidelineMatchSchema,
  type ObservationalGuidelineMatchesSchema,
  type ActionableGuidelineMatchSchema,
  type ActionableGuidelineMatchesSchema,
  type PreviouslyAppliedGuidelineMatchSchema,
  type PreviouslyAppliedGuidelineMatchesSchema,
  type DisambiguationGuidelineMatchSchema,
  type ResponseAnalysisSchema,
  type ScoredMatch,
  GuidelineMatchingBatchError,
  type GuidelineMatchingBatch,
  type GuidelineMatchingStrategy,
  ObservationalGuidelineMatchingBatch,
  ActionableGuidelineMatchingBatch,
  PreviouslyAppliedGuidelineMatchingBatch,
  DisambiguationGuidelineMatchingBatch,
  ResponseAnalysisBatch,
  LowCriticalityGuidelineMatchingBatch,
  GenericGuidelineMatchingStrategy,
  matchWithRetry,
  executeBatchesParallel,
  createScoredMatch,
} from './matching.js';

// resolver.ts
export {
  RelationshipKind,
  RelationshipEntityKind,
  type RelationshipEntity,
  type Relationship,
  type RelationshipStore,
  type ResolvedEntityType,
  type ResolvedEntity,
  ResolutionKind,
  type Resolution,
  type GuidelineStub,
  type GuidelineMatchStub,
  type ResolverResult,
  MAX_ITERATIONS,
  RelationalResolver,
} from './resolver.js';

// generation.ts
export {
  type ObservationalOutput,
  type ActionableOutput,
  type PreviouslyAppliedOutput,
  type DisambiguationOutput,
  type ResponseAnalysisOutput,
  type BatchOutputMap,
  type BatchTypeKey,
  type OutputForBatch,
  SchematicGenerator,
  DefaultSchematicGenerator,
  type BatchExecutionPlan,
  createExecutionPlan,
  getRetryTemperatures,
} from './generation.js';
