// Generated by smithplates HTTP codegen. Do not edit.
import { CategorySummary } from "generated/petstore/api/categorySummary";
import { OwnerSummary } from "generated/petstore/api/ownerSummary";
import { PetAttribute } from "generated/petstore/api/petAttribute";
import { PetProfileSummary } from "generated/petstore/api/petProfileSummary";
import { PetSpecies } from "generated/petstore/api/petSpecies";
import { PetStatus } from "generated/petstore/api/petStatus";
import { StoreSummary } from "generated/petstore/api/storeSummary";

export interface PetDetail {
  id: string;
  name: string;
  status: PetStatus;
  species: PetSpecies;
  category_id: string;
  owner_id?: string | null;
  tag_count: number;
  tags: string[];
  attributes: PetAttribute[];
  photo?: Uint8Array | null;
  metadata?: unknown | null;
  adopted_at?: string | null;
  created_at: string;
  updated_at: string;
  category: CategorySummary;
  store: StoreSummary;
  owner?: OwnerSummary | null;
  profile?: PetProfileSummary | null;
}

export function parsePetDetail(value: unknown): PetDetail {
  return value as PetDetail;
}

export function serializePetDetail(value: PetDetail): Record<string, unknown> {
  return { ...value };
}
