export interface ActivityLog {
  id: string;
  action: string;
  description: string;
  performedBy: {
    name: string;
    email: string;
    avatar?: string;
    department?: string;
  };
  timestamp: string;
  module: string;
  resourceId?: string;
  resourceName?: string;
  status: "success" | "failure" | "pending" | "warning";
  details?: string;
  ipAddress?: string;
  location?: string;
  severity: "low" | "medium" | "high" | "critical";
  raw?: unknown;
}

export type UserSummary = {
  name: string;
  email: string;
  phone: string;
  status: string;
  userType: string;
  roles: string[];
  employeeInfo: Array<{
    unit: string;
    positions: Array<{
      name: string;
      rank: number | string;
      permissions: string[];
    }>;
  }>;
  registrationComplete: boolean;
  passwordSet: boolean;
};

export type AuditLogPageProps = {
  /** required: determines which backend module route you call */
  moduleKey: string;

  /** optional UI */
  title?: string;
  subtitle?: string;

  /** optional pagination defaults */
  initialPage?: number;
  limit?: number;
};
