import { type Question } from "./types"; type InitialQuestion = Omit, "onChange">; type ReturnedQuestion = Question & { onChange: (selectedAnswer: AnswerT) => void; }; export interface UseQuizProps { initialQuestions: InitialQuestion[]; validationMessages: { correct: string; incorrect: string; }; passingPercent: number; onSuccess?: () => void; onFailure?: () => void; showCorrectAnswersOnSuccess?: boolean; } type ValidationData = { validated: true; grade: number; correctAnswerCount: number; } | { validated: false; grade?: never; correctAnswerCount?: never; }; export type UseQuizResult = ValidationData & { questions: ReturnedQuestion[]; validateAnswers: () => void; }; export declare const useQuiz: ({ initialQuestions, validationMessages, onSuccess, onFailure, passingPercent, showCorrectAnswersOnSuccess, }: UseQuizProps) => UseQuizResult; export {};