import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
export declare const CommunicationWhereInputObjectSchema: z.ZodType<Prisma.CommunicationWhereInput>;
export declare const CommunicationWhereInputObjectZodSchema: z.ZodObject<{
    AND: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.CommunicationWhereInput, z.ZodTypeDef, Prisma.CommunicationWhereInput>>, z.ZodArray<z.ZodLazy<z.ZodType<Prisma.CommunicationWhereInput, z.ZodTypeDef, Prisma.CommunicationWhereInput>>, "many">]>>;
    OR: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<Prisma.CommunicationWhereInput, z.ZodTypeDef, Prisma.CommunicationWhereInput>>, "many">>;
    NOT: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.CommunicationWhereInput, z.ZodTypeDef, Prisma.CommunicationWhereInput>>, z.ZodArray<z.ZodLazy<z.ZodType<Prisma.CommunicationWhereInput, z.ZodTypeDef, Prisma.CommunicationWhereInput>>, "many">]>>;
    id: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.IntFilter<never>, z.ZodTypeDef, Prisma.IntFilter<never>>>, z.ZodNumber]>>;
    patientId: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.IntFilter<never>, z.ZodTypeDef, Prisma.IntFilter<never>>>, z.ZodNumber]>>;
    userId: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.IntNullableFilter<never>, z.ZodTypeDef, Prisma.IntNullableFilter<never>>>, z.ZodNumber]>>>;
    channel: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.EnumCommunicationChannelFilter<never>, z.ZodTypeDef, Prisma.EnumCommunicationChannelFilter<never>>>, z.ZodEnum<["sms", "voice"]>]>>;
    direction: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.EnumCommunicationDirectionFilter<never>, z.ZodTypeDef, Prisma.EnumCommunicationDirectionFilter<never>>>, z.ZodEnum<["outbound", "inbound"]>]>>;
    status: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.EnumCommunicationStatusFilter<never>, z.ZodTypeDef, Prisma.EnumCommunicationStatusFilter<never>>>, z.ZodEnum<["queued", "sent", "delivered", "failed", "completed", "busy", "no_answer"]>]>>;
    body: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.StringNullableFilter<never>, z.ZodTypeDef, Prisma.StringNullableFilter<never>>>, z.ZodString]>>>;
    callDuration: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.IntNullableFilter<never>, z.ZodTypeDef, Prisma.IntNullableFilter<never>>>, z.ZodNumber]>>>;
    twilioSid: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.StringNullableFilter<never>, z.ZodTypeDef, Prisma.StringNullableFilter<never>>>, z.ZodString]>>>;
    createdAt: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.DateTimeFilter<never>, z.ZodTypeDef, Prisma.DateTimeFilter<never>>>, z.ZodDate]>>;
    patient: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.PatientScalarRelationFilter, z.ZodTypeDef, Prisma.PatientScalarRelationFilter>>, z.ZodLazy<z.ZodType<Prisma.PatientWhereInput, z.ZodTypeDef, Prisma.PatientWhereInput>>]>>;
    user: z.ZodOptional<z.ZodUnion<[z.ZodLazy<z.ZodType<Prisma.UserNullableScalarRelationFilter, z.ZodTypeDef, Prisma.UserNullableScalarRelationFilter>>, z.ZodLazy<z.ZodType<Prisma.UserWhereInput, z.ZodTypeDef, Prisma.UserWhereInput>>]>>;
}, "strict", z.ZodTypeAny, {
    status?: "queued" | "sent" | "delivered" | "failed" | "completed" | "busy" | "no_answer" | Prisma.EnumCommunicationStatusFilter<never> | undefined;
    createdAt?: Date | Prisma.DateTimeFilter<never> | undefined;
    id?: number | Prisma.IntFilter<never> | undefined;
    userId?: number | Prisma.IntNullableFilter<never> | null | undefined;
    AND?: Prisma.CommunicationWhereInput | Prisma.CommunicationWhereInput[] | undefined;
    OR?: Prisma.CommunicationWhereInput[] | undefined;
    NOT?: Prisma.CommunicationWhereInput | Prisma.CommunicationWhereInput[] | undefined;
    user?: Prisma.UserNullableScalarRelationFilter | Prisma.UserWhereInput | undefined;
    patientId?: number | Prisma.IntFilter<never> | undefined;
    patient?: Prisma.PatientWhereInput | Prisma.PatientScalarRelationFilter | undefined;
    channel?: "sms" | "voice" | Prisma.EnumCommunicationChannelFilter<never> | undefined;
    direction?: "outbound" | "inbound" | Prisma.EnumCommunicationDirectionFilter<never> | undefined;
    body?: string | Prisma.StringNullableFilter<never> | null | undefined;
    callDuration?: number | Prisma.IntNullableFilter<never> | null | undefined;
    twilioSid?: string | Prisma.StringNullableFilter<never> | null | undefined;
}, {
    status?: "queued" | "sent" | "delivered" | "failed" | "completed" | "busy" | "no_answer" | Prisma.EnumCommunicationStatusFilter<never> | undefined;
    createdAt?: Date | Prisma.DateTimeFilter<never> | undefined;
    id?: number | Prisma.IntFilter<never> | undefined;
    userId?: number | Prisma.IntNullableFilter<never> | null | undefined;
    AND?: Prisma.CommunicationWhereInput | Prisma.CommunicationWhereInput[] | undefined;
    OR?: Prisma.CommunicationWhereInput[] | undefined;
    NOT?: Prisma.CommunicationWhereInput | Prisma.CommunicationWhereInput[] | undefined;
    user?: Prisma.UserNullableScalarRelationFilter | Prisma.UserWhereInput | undefined;
    patientId?: number | Prisma.IntFilter<never> | undefined;
    patient?: Prisma.PatientWhereInput | Prisma.PatientScalarRelationFilter | undefined;
    channel?: "sms" | "voice" | Prisma.EnumCommunicationChannelFilter<never> | undefined;
    direction?: "outbound" | "inbound" | Prisma.EnumCommunicationDirectionFilter<never> | undefined;
    body?: string | Prisma.StringNullableFilter<never> | null | undefined;
    callDuration?: number | Prisma.IntNullableFilter<never> | null | undefined;
    twilioSid?: string | Prisma.StringNullableFilter<never> | null | undefined;
}>;
//# sourceMappingURL=CommunicationWhereInput.schema.d.ts.map