import { z } from 'zod';
export declare const taskSchema: z.ZodObject<{
    resourceType: z.ZodLiteral<"Task">;
    extension: z.ZodOptional<z.ZodArray<z.ZodObject<{
        url: z.ZodString;
        valueReference: z.ZodObject<{
            reference: z.ZodOptional<z.ZodString>;
            display: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            display?: string | undefined;
            reference?: string | undefined;
        }, {
            display?: string | undefined;
            reference?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }, {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }>, "many">>;
    status: z.ZodEnum<["draft", "requested", "received", "accepted", "rejected", "ready", "cancelled", "in-progress", "on-hold", "failed", "completed", "entered-in-error"]>;
    requester: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    description: z.ZodOptional<z.ZodString>;
    for: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    owner: z.ZodOptional<z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>>;
    authoredOn: z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>;
    restriction: z.ZodOptional<z.ZodObject<{
        period: z.ZodObject<{
            end: z.ZodEffects<z.ZodDate, string, Date>;
        }, "strip", z.ZodTypeAny, {
            end: string;
        }, {
            end: Date;
        }>;
    }, "strip", z.ZodTypeAny, {
        period: {
            end: string;
        };
    }, {
        period: {
            end: Date;
        };
    }>>;
    note: z.ZodOptional<z.ZodArray<z.ZodObject<{
        text: z.ZodString;
        time: z.ZodEffects<z.ZodDate, string, Date>;
        authorReference: z.ZodObject<{
            reference: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            reference: string;
        }, {
            reference: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        time: string;
        text: string;
        authorReference: {
            reference: string;
        };
    }, {
        time: Date;
        text: string;
        authorReference: {
            reference: string;
        };
    }>, "many">>;
    input: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodObject<{
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
        }, {
            text: string;
        }>;
        valueString: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: {
            text: string;
        };
        valueString: string;
    }, {
        type: {
            text: string;
        };
        valueString: string;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    status: "received" | "completed" | "cancelled" | "accepted" | "rejected" | "draft" | "requested" | "ready" | "in-progress" | "on-hold" | "failed" | "entered-in-error";
    resourceType: "Task";
    requester: {
        reference: string;
    };
    for: {
        reference: string;
    };
    input?: {
        type: {
            text: string;
        };
        valueString: string;
    }[] | undefined;
    description?: string | undefined;
    extension?: {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }[] | undefined;
    owner?: {
        reference: string;
    } | undefined;
    authoredOn?: string | undefined;
    restriction?: {
        period: {
            end: string;
        };
    } | undefined;
    note?: {
        time: string;
        text: string;
        authorReference: {
            reference: string;
        };
    }[] | undefined;
}, {
    status: "received" | "completed" | "cancelled" | "accepted" | "rejected" | "draft" | "requested" | "ready" | "in-progress" | "on-hold" | "failed" | "entered-in-error";
    resourceType: "Task";
    requester: {
        reference: string;
    };
    for: {
        reference: string;
    };
    input?: {
        type: {
            text: string;
        };
        valueString: string;
    }[] | undefined;
    description?: string | undefined;
    extension?: {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }[] | undefined;
    owner?: {
        reference: string;
    } | undefined;
    authoredOn?: Date | undefined;
    restriction?: {
        period: {
            end: Date;
        };
    } | undefined;
    note?: {
        time: Date;
        text: string;
        authorReference: {
            reference: string;
        };
    }[] | undefined;
}>;
export declare const taskWithIdSchema: z.ZodObject<z.objectUtil.extendShape<{
    resourceType: z.ZodLiteral<"Task">;
    extension: z.ZodOptional<z.ZodArray<z.ZodObject<{
        url: z.ZodString;
        valueReference: z.ZodObject<{
            reference: z.ZodOptional<z.ZodString>;
            display: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            display?: string | undefined;
            reference?: string | undefined;
        }, {
            display?: string | undefined;
            reference?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }, {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }>, "many">>;
    status: z.ZodEnum<["draft", "requested", "received", "accepted", "rejected", "ready", "cancelled", "in-progress", "on-hold", "failed", "completed", "entered-in-error"]>;
    requester: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    description: z.ZodOptional<z.ZodString>;
    for: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    owner: z.ZodOptional<z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>>;
    authoredOn: z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>;
    restriction: z.ZodOptional<z.ZodObject<{
        period: z.ZodObject<{
            end: z.ZodEffects<z.ZodDate, string, Date>;
        }, "strip", z.ZodTypeAny, {
            end: string;
        }, {
            end: Date;
        }>;
    }, "strip", z.ZodTypeAny, {
        period: {
            end: string;
        };
    }, {
        period: {
            end: Date;
        };
    }>>;
    note: z.ZodOptional<z.ZodArray<z.ZodObject<{
        text: z.ZodString;
        time: z.ZodEffects<z.ZodDate, string, Date>;
        authorReference: z.ZodObject<{
            reference: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            reference: string;
        }, {
            reference: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        time: string;
        text: string;
        authorReference: {
            reference: string;
        };
    }, {
        time: Date;
        text: string;
        authorReference: {
            reference: string;
        };
    }>, "many">>;
    input: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodObject<{
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
        }, {
            text: string;
        }>;
        valueString: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: {
            text: string;
        };
        valueString: string;
    }, {
        type: {
            text: string;
        };
        valueString: string;
    }>, "many">>;
}, {
    id: z.ZodString;
}>, "strip", z.ZodTypeAny, {
    status: "received" | "completed" | "cancelled" | "accepted" | "rejected" | "draft" | "requested" | "ready" | "in-progress" | "on-hold" | "failed" | "entered-in-error";
    id: string;
    resourceType: "Task";
    requester: {
        reference: string;
    };
    for: {
        reference: string;
    };
    input?: {
        type: {
            text: string;
        };
        valueString: string;
    }[] | undefined;
    description?: string | undefined;
    extension?: {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }[] | undefined;
    owner?: {
        reference: string;
    } | undefined;
    authoredOn?: string | undefined;
    restriction?: {
        period: {
            end: string;
        };
    } | undefined;
    note?: {
        time: string;
        text: string;
        authorReference: {
            reference: string;
        };
    }[] | undefined;
}, {
    status: "received" | "completed" | "cancelled" | "accepted" | "rejected" | "draft" | "requested" | "ready" | "in-progress" | "on-hold" | "failed" | "entered-in-error";
    id: string;
    resourceType: "Task";
    requester: {
        reference: string;
    };
    for: {
        reference: string;
    };
    input?: {
        type: {
            text: string;
        };
        valueString: string;
    }[] | undefined;
    description?: string | undefined;
    extension?: {
        url: string;
        valueReference: {
            display?: string | undefined;
            reference?: string | undefined;
        };
    }[] | undefined;
    owner?: {
        reference: string;
    } | undefined;
    authoredOn?: Date | undefined;
    restriction?: {
        period: {
            end: Date;
        };
    } | undefined;
    note?: {
        time: Date;
        text: string;
        authorReference: {
            reference: string;
        };
    }[] | undefined;
}>;
export type Task = z.infer<typeof taskSchema>;
export type TaskWithId = z.infer<typeof taskWithIdSchema>;
