// packages/feature_game_mathquiz/lib/models/math_quiz_models.dart

/// 개별 빈칸의 타입을 정의
enum PuzzleBlankType { number, operator }

/// 검증해야 할 단일 방정식을 정의
class MathQuizEquation {
  final List<int> expressionIndices;
  final int resultIndex;

  MathQuizEquation({
    required this.expressionIndices,
    required this.resultIndex,
  });
}

/// 퍼즐 한 판의 데이터 구조
class MathQuizPuzzle {
  final List<String> gridCells;
  final int gridCrossAxisCount;
  final List<String> options;
  final List<MathQuizEquation> equations;
  final List<String> solutions;
  
  /// 빈칸의 타입 목록 (solutions와 1:1 매칭)
  final List<PuzzleBlankType> blankTypes;

  MathQuizPuzzle({
    required this.gridCells,
    required this.gridCrossAxisCount,
    required this.options,
    required this.equations,
    required this.solutions,
    required this.blankTypes, // 👈 [추가]
  });
}