import { Paginated } from './Paginated';

export interface AppraisalRating {
  id: string;
  appraisal_submission_id: string;
  ratable_type: string;
  ratable_id: string;
  self_rating?: number | null;
  self_comment?: string | null;
  manager_rating?: number | null;
  manager_comment?: string | null;
  final_rating?: number | null;
  final_comment?: string | null;
  weight: number;
  weighted_score?: number | null;
  ratable?: Record<string, unknown> | null;
  submission?: Record<string, unknown> | null;
  created_at?: string | null;
  updated_at?: string | null;
}

export interface CreateAppraisalRatingPayload {
  appraisal_submission_id: string;
  ratable_type: string;
  ratable_id: string;
  self_rating?: number | null;
  self_comment?: string | null;
  manager_rating?: number | null;
  manager_comment?: string | null;
  final_rating?: number | null;
  final_comment?: string | null;
  weight?: number;
}

export interface DeleteAppraisalRatingPayload {
  message: string;
  id: string;
}

export interface AppraisalRatingResponse {
  data: AppraisalRating;
}

export type PaginatedAppraisalRatings = Paginated<AppraisalRating>;
