import { z } from 'zod';
export declare const CREDENTIAL_RECORD_COLLECTION = "credential-record";
export declare const MongoCredentialRecordValidator: z.ZodObject<z.extendShape<z.extendShape<{
    encryptedRecord: z.ZodObject<{
        protected: z.ZodString;
        iv: z.ZodString;
        ciphertext: z.ZodString;
        tag: z.ZodString;
        aad: z.ZodOptional<z.ZodString>;
        recipients: z.ZodOptional<z.ZodArray<z.ZodObject<{
            header: z.ZodObject<{
                alg: z.ZodString;
                iv: z.ZodString;
                tag: z.ZodString;
                epk: z.ZodOptional<z.ZodObject<{
                    kty: z.ZodOptional<z.ZodString>;
                    crv: z.ZodOptional<z.ZodString>;
                    x: z.ZodOptional<z.ZodString>;
                    y: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                    n: z.ZodOptional<z.ZodOptional<z.ZodString>>;
                    d: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                }, {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                }>>;
                kid: z.ZodOptional<z.ZodString>;
                apv: z.ZodOptional<z.ZodString>;
                apu: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            }, {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            }>;
            encrypted_key: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            header: {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            };
            encrypted_key: string;
        }, {
            header: {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            };
            encrypted_key: string;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        aad?: string | undefined;
        recipients?: {
            header: {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            };
            encrypted_key: string;
        }[] | undefined;
        iv: string;
        tag: string;
        protected: string;
        ciphertext: string;
    }, {
        aad?: string | undefined;
        recipients?: {
            header: {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            };
            encrypted_key: string;
        }[] | undefined;
        iv: string;
        tag: string;
        protected: string;
        ciphertext: string;
    }>;
    fields: z.ZodArray<z.ZodString, "many">;
}, {
    id: z.ZodString;
}>, {
    did: z.ZodString;
    cursor: z.ZodString;
    created: z.ZodDate;
    modified: z.ZodDate;
}>, "strip", z.ZodAny, {
    [x: string]: any;
    id: string;
    did: string;
    encryptedRecord: {
        aad?: string | undefined;
        recipients?: {
            header: {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            };
            encrypted_key: string;
        }[] | undefined;
        iv: string;
        tag: string;
        protected: string;
        ciphertext: string;
    };
    fields: string[];
    cursor: string;
    created: Date;
    modified: Date;
}, {
    [x: string]: any;
    id: string;
    did: string;
    encryptedRecord: {
        aad?: string | undefined;
        recipients?: {
            header: {
                epk?: {
                    kty?: string | undefined;
                    crv?: string | undefined;
                    x?: string | undefined;
                    y?: string | undefined;
                    n?: string | undefined;
                    d?: string | undefined;
                } | undefined;
                kid?: string | undefined;
                apv?: string | undefined;
                apu?: string | undefined;
                alg: string;
                iv: string;
                tag: string;
            };
            encrypted_key: string;
        }[] | undefined;
        iv: string;
        tag: string;
        protected: string;
        ciphertext: string;
    };
    fields: string[];
    cursor: string;
    created: Date;
    modified: Date;
}>;
export type MongoCredentialRecordType = z.infer<typeof MongoCredentialRecordValidator>;
