/** * StudentFee 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) * - studentFeeConfig (memoised on locale + drawer change only; size changes * based on drawer type so the component type produced by createGenericModulePage * may change at runtime, but this is acceptable for drawer-based sizing) * - permission guard * * Exported utilities: * - `StudentFeePage` — root component that wraps with StudentFeeProvider */ import { FC } from "react"; import { USER_ROLE } from "../../type"; interface ConfigProps { clearFilters: () => void; drawerButtonCancel: string; drawerButtonSave: string; drawerFilterDescription: string; drawerFilterTitle: string; drawerFormDescription: string; drawerFormTitle: string; drawerMisc1Description?: string; drawerMisc1Title?: string; drawerMisc2Description?: string; drawerMisc2Title?: string; drawerMoreActionsDescription: string; drawerMoreActionsTitle: string; drawerViewDescription: string; drawerViewTitle: string; tableColumnHeaderActions: string; tableColumnHeaderAmount: string; tableColumnHeaderAmountDue: string; tableColumnHeaderAmountPaid: string; tableColumnHeaderFine: string; tableColumnHeaderDueDate: string; tableColumnHeaderFeeStructure: string; tableColumnHeaderId: string; tableColumnHeaderRemarks: string; tableColumnHeaderStatus: string; tableColumnHeaderStudent: string; tableDescription: string; tableSearchPlaceholder: string; tableTitle: string; } interface Props extends Omit { userRole: USER_ROLE; } export declare const StudentFeePage: FC; export {};