import { z } from 'zod';
export declare const coverageSchema: z.ZodObject<{
    resourceType: z.ZodLiteral<"Coverage">;
    order: z.ZodNumber;
    status: z.ZodString;
    type: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    subscriber: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    subscriberId: z.ZodOptional<z.ZodString>;
    beneficiary: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    relationship: z.ZodRecord<z.ZodString, z.ZodAny>;
    period: z.ZodObject<{
        start: z.ZodEffects<z.ZodDate, string, Date>;
        end: z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>;
    }, "strip", z.ZodTypeAny, {
        start: string;
        end?: string | undefined;
    }, {
        start: Date;
        end?: Date | undefined;
    }>;
    payor: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">;
    class: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>;
}, "strip", z.ZodTypeAny, {
    status: string;
    resourceType: "Coverage";
    period: {
        start: string;
        end?: string | undefined;
    };
    relationship: Record<string, any>;
    order: number;
    subscriber: {
        reference: string;
    };
    beneficiary: {
        reference: string;
    };
    payor: Record<string, any>[];
    type?: Record<string, any> | undefined;
    subscriberId?: string | undefined;
    class?: Record<string, any>[] | undefined;
}, {
    status: string;
    resourceType: "Coverage";
    period: {
        start: Date;
        end?: Date | undefined;
    };
    relationship: Record<string, any>;
    order: number;
    subscriber: {
        reference: string;
    };
    beneficiary: {
        reference: string;
    };
    payor: Record<string, any>[];
    type?: Record<string, any> | undefined;
    subscriberId?: string | undefined;
    class?: Record<string, any>[] | undefined;
}>;
export declare const coverageWithIdSchema: z.ZodObject<{
    resourceType: z.ZodLiteral<"Coverage">;
    order: z.ZodNumber;
    status: z.ZodString;
    type: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    subscriber: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    subscriberId: z.ZodOptional<z.ZodString>;
    beneficiary: z.ZodObject<{
        reference: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reference: string;
    }, {
        reference: string;
    }>;
    relationship: z.ZodRecord<z.ZodString, z.ZodAny>;
    period: z.ZodObject<{
        start: z.ZodEffects<z.ZodDate, string, Date>;
        end: z.ZodOptional<z.ZodEffects<z.ZodDate, string, Date>>;
    }, "strip", z.ZodTypeAny, {
        start: string;
        end?: string | undefined;
    }, {
        start: Date;
        end?: Date | undefined;
    }>;
    payor: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">;
    class: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>;
} & {
    id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: string;
    id: string;
    resourceType: "Coverage";
    period: {
        start: string;
        end?: string | undefined;
    };
    relationship: Record<string, any>;
    order: number;
    subscriber: {
        reference: string;
    };
    beneficiary: {
        reference: string;
    };
    payor: Record<string, any>[];
    type?: Record<string, any> | undefined;
    subscriberId?: string | undefined;
    class?: Record<string, any>[] | undefined;
}, {
    status: string;
    id: string;
    resourceType: "Coverage";
    period: {
        start: Date;
        end?: Date | undefined;
    };
    relationship: Record<string, any>;
    order: number;
    subscriber: {
        reference: string;
    };
    beneficiary: {
        reference: string;
    };
    payor: Record<string, any>[];
    type?: Record<string, any> | undefined;
    subscriberId?: string | undefined;
    class?: Record<string, any>[] | undefined;
}>;
export type Coverage = z.infer<typeof coverageSchema>;
export type CoverageWithId = z.infer<typeof coverageWithIdSchema>;
