import type { ForYouContentPreset } from '../api/forYouFetch'; export interface QuizHookQuestion { id: string | number; question: string; thumbnail?: string; options: Array<{ text: string; points: number; }>; correctIndex?: number; explanation?: string; } export interface QuizHookResult { title: string; description: string; minPoints: number; maxPoints: number; } export interface QuizHookItem { id: string | number; title: string; description?: string; thumbnail?: string; contentsId: string; } export interface QuizHookConfig { apiUrl?: string; apiBaseUrl?: string; questionsApiUrl?: string; tags?: string[]; includeIds?: number[]; locale?: string; initialCount?: number; loadMoreCount?: number; website_id?: string; contents?: ForYouContentPreset[]; } export interface UseQuizOptions { config?: Partial; onQuizStart?: (quiz: QuizHookItem) => void; onQuizComplete?: (score: number, totalQuestions: number) => void; } export declare const DEFAULT_QUIZ_CONFIG: QuizHookConfig; export declare function useQuiz({ config, onQuizStart, onQuizComplete }?: UseQuizOptions): { quizItems: QuizHookItem[]; visibleItems: QuizHookItem[]; isLoading: boolean; hasMore: boolean; activeQuiz: QuizHookItem | null; activeQuestions: QuizHookQuestion[]; activeResults: QuizHookResult[]; loadingQuestions: boolean; currentQuestionIndex: number; answers: number[]; score: number | null; isFinished: boolean; currentResult: QuizHookResult | null; loadMore: () => void; handleOpenQuiz: (quiz: QuizHookItem) => Promise; handleCloseQuiz: () => void; handleAnswer: (optionIndex: number) => void; handlePrevious: () => void; handleRetry: () => void; }; //# sourceMappingURL=useQuiz.d.ts.map