import type { ReactElement } from 'react';
import type { ApplicationDetailDto, ApplicationModuleDto, ModuleSectionDto } from '@/services/api/adminApi';
interface ApplicationModulesTabProps {
    readonly application: ApplicationDetailDto;
    readonly expandedModules: Set<string>;
    readonly moduleSections: Map<string, ModuleSectionDto[]>;
    readonly loadingSections: Set<string>;
    readonly reordering: boolean;
    readonly editingModule: ApplicationModuleDto | null;
    readonly moduleFormData: {
        readonly code: string;
        readonly label: string;
        readonly description: string;
        readonly icon: string;
        readonly route: string;
        readonly displayOrder: number;
    };
    readonly showModuleForm: boolean;
    readonly saving: boolean;
    readonly onToggleExpand: (moduleId: string) => void;
    readonly onStartEdit: (module: ApplicationModuleDto) => void;
    readonly onSaveModule: (e: React.FormEvent) => Promise<void>;
    readonly onCancelEdit: () => void;
    readonly onModulesReorder: (modules: (ApplicationModuleDto & {
        id: string;
    })[]) => Promise<void>;
    readonly onSectionsReorder: (moduleId: string, sections: ModuleSectionDto[]) => Promise<void>;
    readonly setModuleFormData: React.Dispatch<React.SetStateAction<{
        readonly code: string;
        readonly label: string;
        readonly description: string;
        readonly icon: string;
        readonly route: string;
        readonly displayOrder: number;
    }>>;
}
export declare function ApplicationModulesTab({ application, expandedModules, moduleSections, loadingSections, reordering, editingModule, moduleFormData, showModuleForm, saving, onToggleExpand, onStartEdit, onSaveModule, onCancelEdit, onModulesReorder, onSectionsReorder, setModuleFormData, }: ApplicationModulesTabProps): ReactElement;
export {};
//# sourceMappingURL=ApplicationModulesTab.d.ts.map