import { Paginated } from './Paginated';

export interface PerformanceNote {
  id: string;
  author_id: string;
  subject_id: string;
  notes: string;
  note_type?: string | null;
  visibility?: string | null;
  related_goal_id?: string | null;
  date_observed?: string | null;
  author?: Record<string, unknown> | null;
  subject?: Record<string, unknown> | null;
  related_goal?: Record<string, unknown> | null;
  created_at?: Date | null;
  updated_at?: Date | null;
}

export interface CreatePerformanceNotePayload {
  author_id: string;
  subject_id: string;
  notes: string;
  note_type?: string | null;
  visibility?: string | null;
  related_goal_id?: string | null;
  date_observed?: string | null;
}

export interface UpdatePerformanceNotePayload {
  notes?: string;
  note_type?: string | null;
  visibility?: string | null;
  related_goal_id?: string | null;
  date_observed?: string | null;
}

export interface PerformanceNoteResponse {
  data: PerformanceNote;
}

export type PaginatedPerformanceNotes = Paginated<PerformanceNote>;
