import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { IntWithAggregatesFilterObjectSchema as IntWithAggregatesFilterObjectSchema } from './IntWithAggregatesFilter.schema';
import { StringWithAggregatesFilterObjectSchema as StringWithAggregatesFilterObjectSchema } from './StringWithAggregatesFilter.schema';
import { EnumPdfTitleKeyWithAggregatesFilterObjectSchema as EnumPdfTitleKeyWithAggregatesFilterObjectSchema } from './EnumPdfTitleKeyWithAggregatesFilter.schema';
import { PdfTitleKeySchema } from '../enums/PdfTitleKey.schema';
import { DateTimeWithAggregatesFilterObjectSchema as DateTimeWithAggregatesFilterObjectSchema } from './DateTimeWithAggregatesFilter.schema'

const pdfgroupscalarwherewithaggregatesinputSchema = z.object({
  AND: z.union([z.lazy(() => PdfGroupScalarWhereWithAggregatesInputObjectSchema), z.lazy(() => PdfGroupScalarWhereWithAggregatesInputObjectSchema).array()]).optional(),
  OR: z.lazy(() => PdfGroupScalarWhereWithAggregatesInputObjectSchema).array().optional(),
  NOT: z.union([z.lazy(() => PdfGroupScalarWhereWithAggregatesInputObjectSchema), z.lazy(() => PdfGroupScalarWhereWithAggregatesInputObjectSchema).array()]).optional(),
  id: z.union([z.lazy(() => IntWithAggregatesFilterObjectSchema), z.number().int()]).optional(),
  title: z.union([z.lazy(() => StringWithAggregatesFilterObjectSchema), z.string()]).optional(),
  titleKey: z.union([z.lazy(() => EnumPdfTitleKeyWithAggregatesFilterObjectSchema), PdfTitleKeySchema]).optional(),
  createdAt: z.union([z.lazy(() => DateTimeWithAggregatesFilterObjectSchema), z.coerce.date()]).optional(),
  patientId: z.union([z.lazy(() => IntWithAggregatesFilterObjectSchema), z.number().int()]).optional()
}).strict();
export const PdfGroupScalarWhereWithAggregatesInputObjectSchema: z.ZodType<Prisma.PdfGroupScalarWhereWithAggregatesInput> = pdfgroupscalarwherewithaggregatesinputSchema as unknown as z.ZodType<Prisma.PdfGroupScalarWhereWithAggregatesInput>;
export const PdfGroupScalarWhereWithAggregatesInputObjectZodSchema = pdfgroupscalarwherewithaggregatesinputSchema;
