import { LucideIcon } from 'lucide-react';

export type UserRole = 
  | 'CEO' 
  | 'HR' 
  | 'Finance' 
  | 'Engineering' 
  | 'ProjectManager' 
  | 'Recruiter' 
  | 'Sales' 
  | 'Support' 
  | 'Employee' 
  | 'Client';

export interface Module {
  id: string;
  name: string;
  description: string;
  actions: string[];
}

export interface Permission {
  id: string;
  moduleId: string;
  action: string;
  name: string;
}

export interface Role {
  id: string;
  name: string;
  description: string;
  permissions: string[];
}

export interface NavItem {
  title: string;
  href: string;
  icon: LucideIcon;
  roles?: UserRole[];
  items?: NavItem[];
  permission?: string;
}

export interface NavGroup {
  label: string;
  items: NavItem[];
}

export interface DashboardWidget {
  id: string;
  title: string;
  type: 'kpi' | 'chart' | 'list' | 'timeline';
  size: 'sm' | 'md' | 'lg' | 'full';
}
