import { FileType } from './Shared';

export interface DisciplinaryAction {
  id: string;
  employee_id: string;
  action_type: 'warning' | 'suspension' | 'query' | 'demotion' | 'other';
  description: string;
  start_date: string;
  end_date?: string | null;
  status: 'active' | 'resolved' | 'appealed';
  issued_by?: string;
  document_path?: string | null;
  created_at: string;
  updated_at: string;
}

export interface CreateDisciplinaryActionPayload {
  id?: string;
  action_type: 'warning' | 'suspension' | 'query' | 'demotion' | 'other';
  description: string;
  start_date: string;
  end_date?: string;
  status?: 'active' | 'resolved' | 'appealed';
  document_path?: FileType;
}

export type UpdateDisciplinaryActionPayload = {
  employee_id?: string;
} & CreateDisciplinaryActionPayload;

export interface DeleteDisciplinaryActionPayload {
  employee_id: string;
  disciplinary_action_id: string;
}

export interface DeleteDisciplinaryActionResponse {
  message: string;
  id?: string;
}
