export interface CSVValidationRow {
  row_number: number;
  student_name: string;
  email: string;
  status: "valid" | "error" | "warning";
  issue?: string;
}

export interface CSVValidationReport {
  total_rows: number;
  valid_count: number;
  error_count: number;
  warning_count: number;
  rows: CSVValidationRow[];
  validate_session_id?: string;
}

export interface BulkCreateResult {
  created_count: number;
  accounts: EntityStudent[];
}

export interface EntityStudent {
  id: number;
  name: string;
  email: string;
  account_status: "pending_first_login" | "active" | "password_reset_required";
  email_sent: boolean;
  email_sent_at?: string;
  first_login_at?: string;
  placement_status: "not_started" | "in_progress" | "completed" | "bypassed";
}

export interface CredentialStatus {
  student_id: number;
  name: string;
  email: string;
  account_status: string;
  email_sent: boolean;
  email_sent_at?: string;
  first_login: boolean;
  first_login_at?: string;
  placement_status: string;
}

export interface CredentialFilters {
  account_status?: string;
  email_sent?: boolean;
  placement_status?: string;
  date_from?: string;
  date_to?: string;
}
