import { QuizSubmissionRepository } from "../repositories/QuizSubmissionRepository"; import { QuizSubmission, CreateQuizSubmissionData } from "../models/QuizSubmission"; export declare class QuizSubmissionService { private quizSubmissionRepository; constructor(quizSubmissionRepository: QuizSubmissionRepository); /** * Creates a new quiz submission. * Performs validation before calling the repository. * @param submissionData - Data for the submission. * @returns The created QuizSubmission object. * @throws Error if creation fails. */ createSubmission(submissionData: CreateQuizSubmissionData): Promise; /** * Retrieves submissions for a specific student. * @param studentId - The ID of the student. * @returns An array of QuizSubmission objects. */ getSubmissionsByStudent(studentId: string): Promise; /** * Retrieves submissions for a specific quiz. * @param quizId - The ID of the quiz. * @returns An array of QuizSubmission objects. */ getSubmissionsByQuiz(quizId: string): Promise; /** * Retrieves a specific submission by its ID. * @param submissionId - The ID of the submission. * @returns The QuizSubmission object or null if not found. */ getSubmissionById(submissionId: string): Promise; }