/** * Course Page Component * * Thin wrapper around GenericModulePage. All handlers, header actions, and row * actions live in context.tsx — this file only owns: * - tableBodyCols (static, module-level constant) * - courseConfig (memoised on locale change only; size fixed to "full" so * the component type produced by createGenericModulePage never changes at * runtime, preventing the infinite-remount re-render loop) * - permission guard * * Exported utilities: `CoursePage` */ import { FC } from "react"; import { USER_ROLE } from "../../type"; interface Props { cancelLabel: string; drawerFilterDescription: string; drawerFilterTitle: string; drawerFormDescription: string; drawerFormTitle: string; drawerMoreActionsDescription: string; drawerMoreActionsTitle: string; drawerViewDescription: string; drawerViewTitle: string; labelActions: string; labelClass: string; labelCode: string; labelEnabled: string; labelId: string; labelSection: string; labelSubject: string; labelTeacher: string; saveLabel: string; searchPlaceholder: string; tableDescription: string; tableTitle: string; userRole: USER_ROLE; } export declare const CoursePage: FC; export {};