export interface PermissionDef {
    key: string;
    description: string;
    module: string;
  }

  export const DEFAULT_PERMISSIONS: PermissionDef[] = [
    // Users
    { key: 'users.view', description: 'View users', module: 'users' },
    { key: 'users.create', description: 'Create users', module: 'users' },
    { key: 'users.update', description: 'Update users', module: 'users' },
    { key: 'users.delete', description: 'Delete users', module: 'users' },
    // Roles
    { key: 'roles.view', description: 'View roles', module: 'roles' },
    { key: 'roles.create', description: 'Create roles', module: 'roles' },
    { key: 'roles.update', description: 'Update roles', module: 'roles' },
    { key: 'roles.delete', description: 'Delete roles', module: 'roles' },
    { key: 'roles.assign', description: 'Assign permissions/roles', module: 'roles' },
    // Offices
    { key: 'offices.view', description: 'View offices', module: 'offices' },
    { key: 'offices.create', description: 'Create offices', module: 'offices' },
    { key: 'offices.update', description: 'Update offices', module: 'offices' },
    { key: 'offices.delete', description: 'Delete offices', module: 'offices' },
    // Branches
    { key: 'branches.view', description: 'View branches', module: 'branches' },
    { key: 'branches.create', description: 'Create branches', module: 'branches' },
    { key: 'branches.update', description: 'Update branches', module: 'branches' },
    { key: 'branches.delete', description: 'Delete branches', module: 'branches' },
    // Members
    { key: 'members.view', description: 'View members', module: 'members' },
    { key: 'members.create', description: 'Create members', module: 'members' },
    { key: 'members.update', description: 'Update members', module: 'members' },
    { key: 'members.delete', description: 'Delete members', module: 'members' },
    // Applications
    { key: 'applications.view', description: 'View loan applications', module: 'applications' },
    { key: 'applications.create', description: 'Create loan applications', module: 'applications' },
    { key: 'applications.update', description: 'Update loan applications', module: 'applications' },
    { key: 'applications.delete', description: 'Delete loan applications', module: 'applications' },
    { key: 'applications.approve', description: 'Approve loan applications', module: 'applications' },
    // Reports
    { key: 'reports.view', description: 'View reports', module: 'reports' },
    { key: 'reports.export', description: 'Export reports', module: 'reports' },
    // Darta Chalani
    { key: 'darta-chalani.view', description: 'View darta chalani', module: 'darta-chalani' },
    { key: 'darta-chalani.create', description: 'Create darta chalani entries', module: 'darta-chalani' },
    { key: 'darta-chalani.update', description: 'Update darta chalani', module: 'darta-chalani' },
    // File Manager
    { key: 'files.view', description: 'View files', module: 'files' },
    { key: 'files.upload', description: 'Upload files', module: 'files' },
    { key: 'files.delete', description: 'Delete files', module: 'files' },
    // Letters & Templates
    { key: 'letters.view', description: 'View letters', module: 'letters' },
    { key: 'letters.create', description: 'Create letters', module: 'letters' },
    // Minutes
    { key: 'minutes.view', description: 'View minute book', module: 'minutes' },
    { key: 'minutes.create', description: 'Create minutes', module: 'minutes' },
    // Auctions
    { key: 'auctions.view', description: 'View auctions', module: 'auctions' },
    { key: 'auctions.create', description: 'Create auctions', module: 'auctions' },
    // Documents
    { key: 'documents.view', description: 'View documents', module: 'documents' },
    { key: 'documents.create', description: 'Upload documents', module: 'documents' },
    { key: 'documents.update', description: 'Update documents', module: 'documents' },
    { key: 'documents.delete', description: 'Delete documents', module: 'documents' },
    // Physical Examinations
    { key: 'physical-exams.view', description: 'View physical exams', module: 'physical-exams' },
    { key: 'physical-exams.create', description: 'Record physical exams', module: 'physical-exams' },
    { key: 'physical-exams.update', description: 'Update physical exams', module: 'physical-exams' },
    { key: 'physical-exams.delete', description: 'Delete physical exams', module: 'physical-exams' },
  ];
  