import { default as React, ReactNode } from 'react'; import { CoursesApiEndpoints } from '@mui-toolpad-extended-tuni/core'; export interface CourseMicroserviceProps { children?: ReactNode; /** API endpoint configuration for the courses microservice */ apiEndpoints?: CoursesApiEndpoints; } /** * CourseMicroservice Component * * @version 3.0.0 * * Fully self-contained microservice that handles all course-related functionality: * - Course data fetching and management (via CourseManager) * - Course navigation building * - Course code and instance routing (/:code, /:code/:instance) * - Course tools display * - Course microservice registration and routing (/:code/:instance/:microservice) * - Route registration with NavigationRegistry (via CourseRoutesProvider) * * Course microservices (like EduTest) are passed as children and register * themselves through the CourseMicroserviceContext. * * Routes handled: * - /:code - Course code selection (CourseCodeLoader + CourseInstanceSelector) * - /:code/:instance - Course instance (CourseInstanceLoader + CourseTools) * - /:code/:instance/:microservice/* - Course microservice routes * * @breaking-changes * - v3.0.0: Now fully self-contained - includes CourseManager and CourseRoutesProvider * - v2.0.0: Uses local state instead of Zustand store * - Context provides allCourseMicroserviceNavigation array * - Integrates with useNavigationStore to notify about course microservices * - v3.1.0: Context logic extracted to separate context file * * @example * ```tsx * * * * * ``` */ declare const CourseMicroservice: React.FC; export default CourseMicroservice;