import { Course } from "../models/Course"; import { UpdateCoursePayloadDTO } from "../services/CourseService"; interface CourseWithDetails extends Course { sectionCount: number; lectureCount: number; } export interface CourseDetail extends Course { sections: { id: string; title: string; description: string; orderIndex: number; lectures: { id: string; title: string; content: string; type: string; orderIndex: number; }[]; quiz?: { id: string; title: string; description: string; questions: { id: string; question: string; options: string[]; answer: string; explanation: string; }[]; }; }[]; } export declare function useCourses(teacherId?: string, apiBaseUrl?: string): { courses: CourseWithDetails[]; isLoading: boolean; error: string | null; fetchCourses: (forced?: boolean) => Promise; fetchCourseDetail: (courseId: string) => Promise; createCourse: (courseData: Partial) => Promise; updateCourse: (courseId: string, courseData: UpdateCoursePayloadDTO) => Promise; deleteCourse: (courseId: string) => Promise; }; export {};