/**
 * Zod schema for PaginatedDeviceListList
 *
 * This schema provides runtime validation and type inference.
 *  */
import { z } from 'zod'
import { DeviceListSchema } from './DeviceList.schema'

export const PaginatedDeviceListListSchema = z.object({
  count: z.int(),
  page: z.int(),
  pages: z.int(),
  page_size: z.int(),
  has_next: z.boolean(),
  has_previous: z.boolean(),
  next_page: z.int().nullable().optional(),
  previous_page: z.int().nullable().optional(),
  results: z.array(DeviceListSchema),
})

/**
 * Infer TypeScript type from Zod schema
 */
export type PaginatedDeviceListList = z.infer<typeof PaginatedDeviceListListSchema>