<?php

namespace App\Interfaces;

interface ScoreCalculatorInterface
{
    /**
     * Calculate score for a student
     *
     * @param int $studentId
     * @param string $semester
     * @param string $schoolYear
     * @return array Associative array of score data to merge
     * @throws \RuntimeException If calculation fails
     */
    public function calculate(int $studentId, string $semester, string $schoolYear, ?int $classSectionId = null): array;
}
