/** @format */
import React from 'react';
export interface MicroserviceConfig {
    path: string;
    Component: React.ComponentType;
    fetchHooks?: Array<(courseId: string) => void>;
    buildNavigation: (courseId: string, isTeacher: boolean) => any[];
}
interface MicroserviceRoutesProps {
    microservices: MicroserviceConfig[];
}
/**
 * Component responsible for managing and rendering microservice routes within the LMS.
 *
 * @version 2.1.0
 * @breaking-changes
 * - Navigation structure now requires course code and instance properties
 * - Updated configuration interface for better TypeScript support
 * - Changed route structure to support course instances
 * - Added support for course code level navigation
 * - Improved handling of microservice-specific navigation items
 *
 * @component
 * @param {MicroserviceRoutesProps} props - Component properties
 * @param {MicroserviceConfig[]} props.microservices - Array of microservice configurations
 *
 * @example
 * ```tsx
 * const microservices = [{
 *   path: 'assignments',
 *   Component: AssignmentsTool,
 *   fetchHooks: [(courseId) => fetchAssignmentData(courseId)],
 *   buildNavigation: (courseId, isTeacher) => ([{
 *     kind: 'page',
 *     segment: 'assignments',
 *     title: 'Assignments',
 *     description: 'Course assignments',
 *     forRoles: ['teacher', 'student']
 *   }])
 * }];
 * ```
 */
declare const MicroserviceRoutes: React.FC<MicroserviceRoutesProps>;
export default MicroserviceRoutes;
