/**
 * Zod schema for PaginatedDeviceListResponseList
 *
 * This schema provides runtime validation and type inference.
 *  */
import { z } from 'zod'
import { DeviceListResponseSchema } from './DeviceListResponse.schema'

export const PaginatedDeviceListResponseListSchema = 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(DeviceListResponseSchema),
})

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