import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { NullableJsonNullValueInputSchema } from '../enums/NullableJsonNullValueInput.schema';
import { UserCreateNestedOneWithoutTwilioSettingsInputObjectSchema as UserCreateNestedOneWithoutTwilioSettingsInputObjectSchema } from './UserCreateNestedOneWithoutTwilioSettingsInput.schema'

import { JsonValueSchema as jsonSchema } from '../../helpers/json-helpers';

const makeSchema = () => z.object({
  accountSid: z.string(),
  authToken: z.string(),
  phoneNumber: z.string(),
  greetingMessage: z.string().optional().nullable(),
  templates: z.union([NullableJsonNullValueInputSchema, jsonSchema]).optional(),
  user: z.lazy(() => UserCreateNestedOneWithoutTwilioSettingsInputObjectSchema)
}).strict();
export const TwilioSettingsCreateInputObjectSchema: z.ZodType<Prisma.TwilioSettingsCreateInput> = makeSchema() as unknown as z.ZodType<Prisma.TwilioSettingsCreateInput>;
export const TwilioSettingsCreateInputObjectZodSchema = makeSchema();
