import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { UserArgsObjectSchema as UserArgsObjectSchema } from './UserArgs.schema';
import { CloudFolderArgsObjectSchema as CloudFolderArgsObjectSchema } from './CloudFolderArgs.schema';
import { CloudFileChunkFindManySchema as CloudFileChunkFindManySchema } from '../findManyCloudFileChunk.schema';
import { CloudFileCountOutputTypeArgsObjectSchema as CloudFileCountOutputTypeArgsObjectSchema } from './CloudFileCountOutputTypeArgs.schema'

const makeSchema = () => z.object({
  user: z.union([z.boolean(), z.lazy(() => UserArgsObjectSchema)]).optional(),
  folder: z.union([z.boolean(), z.lazy(() => CloudFolderArgsObjectSchema)]).optional(),
  chunks: z.union([z.boolean(), z.lazy(() => CloudFileChunkFindManySchema)]).optional(),
  _count: z.union([z.boolean(), z.lazy(() => CloudFileCountOutputTypeArgsObjectSchema)]).optional()
}).strict();
export const CloudFileIncludeObjectSchema: z.ZodType<Prisma.CloudFileInclude> = makeSchema() as unknown as z.ZodType<Prisma.CloudFileInclude>;
export const CloudFileIncludeObjectZodSchema = makeSchema();
