import { z } from 'zod';
export declare const appointmentSchema: z.ZodObject<{
    resourceType: z.ZodLiteral<"Appointment">;
    reasonCode: z.ZodOptional<z.ZodArray<z.ZodObject<{
        coding: z.ZodArray<z.ZodObject<{
            system: z.ZodLiteral<"INTERNAL">;
            code: z.ZodString;
            display: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            code: string;
            system: "INTERNAL";
            display: string;
        }, {
            code: string;
            system: "INTERNAL";
            display: string;
        }>, "many">;
        text: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }, {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }>, "many">>;
    description: z.ZodOptional<z.ZodString>;
    participant: z.ZodOptional<z.ZodArray<z.ZodObject<{
        actor: z.ZodObject<{
            reference: z.ZodUnion<[z.ZodString, z.ZodString]>;
        }, "strip", z.ZodTypeAny, {
            reference: string;
        }, {
            reference: string;
        }>;
        status: z.ZodLiteral<"accepted">;
    }, "strip", z.ZodTypeAny, {
        status: "accepted";
        actor: {
            reference: string;
        };
    }, {
        status: "accepted";
        actor: {
            reference: string;
        };
    }>, "many">>;
    appointmentType: z.ZodObject<{
        coding: z.ZodArray<z.ZodObject<{
            system: z.ZodLiteral<"http://snomed.info/sct">;
            code: z.ZodString;
            display: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }, {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    }, {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    }>;
    start: z.ZodEffects<z.ZodDate, string, Date>;
    end: z.ZodEffects<z.ZodDate, string, Date>;
    supportingInformation: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>, z.ZodObject<{
        reference: z.ZodLiteral<"#appointment-meeting-endpoint">;
        type: z.ZodLiteral<"Endpoint">;
    }, "strip", z.ZodTypeAny, {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    }, {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    }>]>, "many">;
    contained: z.ZodOptional<z.ZodArray<z.ZodObject<{
        resourceType: z.ZodLiteral<"Endpoint">;
        id: z.ZodString;
        status: z.ZodString;
        connectionType: z.ZodObject<{
            code: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            code: string;
        }, {
            code: string;
        }>;
        payloadType: z.ZodArray<z.ZodObject<{
            coding: z.ZodArray<z.ZodObject<{
                code: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                code: string;
            }, {
                code: string;
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            coding: {
                code: string;
            }[];
        }, {
            coding: {
                code: string;
            }[];
        }>, "many">;
        address: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }, {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }>, "many">>;
    status: z.ZodOptional<z.ZodLiteral<"proposed">>;
}, "strip", z.ZodTypeAny, {
    start: string;
    end: string;
    resourceType: "Appointment";
    appointmentType: {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    };
    supportingInformation: ({
        reference: string;
    } | {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    })[];
    status?: "proposed" | undefined;
    description?: string | undefined;
    reasonCode?: {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }[] | undefined;
    participant?: {
        status: "accepted";
        actor: {
            reference: string;
        };
    }[] | undefined;
    contained?: {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }[] | undefined;
}, {
    start: Date;
    end: Date;
    resourceType: "Appointment";
    appointmentType: {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    };
    supportingInformation: ({
        reference: string;
    } | {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    })[];
    status?: "proposed" | undefined;
    description?: string | undefined;
    reasonCode?: {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }[] | undefined;
    participant?: {
        status: "accepted";
        actor: {
            reference: string;
        };
    }[] | undefined;
    contained?: {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }[] | undefined;
}>;
export declare const appointmentWithIdSchema: z.ZodObject<z.objectUtil.extendShape<{
    resourceType: z.ZodLiteral<"Appointment">;
    reasonCode: z.ZodOptional<z.ZodArray<z.ZodObject<{
        coding: z.ZodArray<z.ZodObject<{
            system: z.ZodLiteral<"INTERNAL">;
            code: z.ZodString;
            display: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            code: string;
            system: "INTERNAL";
            display: string;
        }, {
            code: string;
            system: "INTERNAL";
            display: string;
        }>, "many">;
        text: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }, {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }>, "many">>;
    description: z.ZodOptional<z.ZodString>;
    participant: z.ZodOptional<z.ZodArray<z.ZodObject<{
        actor: z.ZodObject<{
            reference: z.ZodUnion<[z.ZodString, z.ZodString]>;
        }, "strip", z.ZodTypeAny, {
            reference: string;
        }, {
            reference: string;
        }>;
        status: z.ZodLiteral<"accepted">;
    }, "strip", z.ZodTypeAny, {
        status: "accepted";
        actor: {
            reference: string;
        };
    }, {
        status: "accepted";
        actor: {
            reference: string;
        };
    }>, "many">>;
    appointmentType: z.ZodObject<{
        coding: z.ZodArray<z.ZodObject<{
            system: z.ZodLiteral<"http://snomed.info/sct">;
            code: z.ZodString;
            display: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }, {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    }, {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    }>;
    start: z.ZodEffects<z.ZodDate, string, Date>;
    end: z.ZodEffects<z.ZodDate, string, Date>;
    supportingInformation: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>, z.ZodObject<{
        reference: z.ZodLiteral<"#appointment-meeting-endpoint">;
        type: z.ZodLiteral<"Endpoint">;
    }, "strip", z.ZodTypeAny, {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    }, {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    }>]>, "many">;
    contained: z.ZodOptional<z.ZodArray<z.ZodObject<{
        resourceType: z.ZodLiteral<"Endpoint">;
        id: z.ZodString;
        status: z.ZodString;
        connectionType: z.ZodObject<{
            code: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            code: string;
        }, {
            code: string;
        }>;
        payloadType: z.ZodArray<z.ZodObject<{
            coding: z.ZodArray<z.ZodObject<{
                code: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                code: string;
            }, {
                code: string;
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            coding: {
                code: string;
            }[];
        }, {
            coding: {
                code: string;
            }[];
        }>, "many">;
        address: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }, {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }>, "many">>;
    status: z.ZodOptional<z.ZodLiteral<"proposed">>;
}, {
    id: z.ZodString;
}>, "strip", z.ZodTypeAny, {
    id: string;
    start: string;
    end: string;
    resourceType: "Appointment";
    appointmentType: {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    };
    supportingInformation: ({
        reference: string;
    } | {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    })[];
    status?: "proposed" | undefined;
    description?: string | undefined;
    reasonCode?: {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }[] | undefined;
    participant?: {
        status: "accepted";
        actor: {
            reference: string;
        };
    }[] | undefined;
    contained?: {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }[] | undefined;
}, {
    id: string;
    start: Date;
    end: Date;
    resourceType: "Appointment";
    appointmentType: {
        coding: {
            code: string;
            system: "http://snomed.info/sct";
            display: string;
        }[];
    };
    supportingInformation: ({
        reference: string;
    } | {
        type: "Endpoint";
        reference: "#appointment-meeting-endpoint";
    })[];
    status?: "proposed" | undefined;
    description?: string | undefined;
    reasonCode?: {
        text: string;
        coding: {
            code: string;
            system: "INTERNAL";
            display: string;
        }[];
    }[] | undefined;
    participant?: {
        status: "accepted";
        actor: {
            reference: string;
        };
    }[] | undefined;
    contained?: {
        status: string;
        id: string;
        address: string;
        resourceType: "Endpoint";
        connectionType: {
            code: string;
        };
        payloadType: {
            coding: {
                code: string;
            }[];
        }[];
    }[] | undefined;
}>;
export type Appointment = z.infer<typeof appointmentSchema>;
export type AppointmentWithId = z.infer<typeof appointmentWithIdSchema>;
