export interface Patient {
  id: string;
  firstName: string;
  lastName: string;
  mobile: string;
  email?: string | null;
  dateOfBirth?: string | null;
  notes?: string | null;
  isActive: boolean;
  createdByOrganizationId?: string | null;
  createdAt: string;
  updatedAt: string;
}

export interface CreatePatientInput {
  firstName: string;
  lastName: string;
  mobile: string;
  email?: string;
  dateOfBirth?: string;
  notes?: string;
}

export interface PatientsListResponse {
  success: boolean;
  data: {
    items: Patient[];
    pagination: {
      page: number;
      limit: number;
      total: number;
      totalPages: number;
    };
  };
}

export interface CreatePatientResponse {
  success: boolean;
  data: Patient;
  existing?: boolean;
}

export interface PatientAppointmentHistoryItem {
  id: string;
  startAt: string;
  endAt: string;
  purpose: string;
  providerUserId: string;
  providerName: string;
}

export interface PatientAppointmentHistoryResponse {
  success: boolean;
  data: PatientAppointmentHistoryItem[];
}
