import { z } from 'zod';
export declare const VCSchema: z.ZodObject<{
    id: z.ZodString;
    type: z.ZodArray<z.ZodString, "many">;
    issuer: z.ZodString;
    subject: z.ZodString;
    credentialSubject: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    issuanceDate: z.ZodString;
    expirationDate: z.ZodOptional<z.ZodString>;
    proof: z.ZodOptional<z.ZodObject<{
        type: z.ZodString;
        created: z.ZodString;
        proofPurpose: z.ZodString;
        verificationMethod: z.ZodString;
        jws: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: string;
        created: string;
        proofPurpose: string;
        verificationMethod: string;
        jws: string;
    }, {
        type: string;
        created: string;
        proofPurpose: string;
        verificationMethod: string;
        jws: string;
    }>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    type: string[];
    issuer: string;
    subject: string;
    credentialSubject: Record<string, unknown>;
    issuanceDate: string;
    proof?: {
        type: string;
        created: string;
        proofPurpose: string;
        verificationMethod: string;
        jws: string;
    } | undefined;
    expirationDate?: string | undefined;
}, {
    id: string;
    type: string[];
    issuer: string;
    subject: string;
    credentialSubject: Record<string, unknown>;
    issuanceDate: string;
    proof?: {
        type: string;
        created: string;
        proofPurpose: string;
        verificationMethod: string;
        jws: string;
    } | undefined;
    expirationDate?: string | undefined;
}>;
export type VC = z.infer<typeof VCSchema>;
export declare const IssueVCSchema: z.ZodObject<{
    subject: z.ZodString;
    credentialSubject: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    expirationDate: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    subject: string;
    credentialSubject: Record<string, unknown>;
    expirationDate?: string | undefined;
}, {
    subject: string;
    credentialSubject: Record<string, unknown>;
    expirationDate?: string | undefined;
}>;
export type IssueVC = z.infer<typeof IssueVCSchema>;
export declare const VerifyVCSchema: z.ZodObject<{
    credential: z.ZodObject<{
        id: z.ZodString;
        type: z.ZodArray<z.ZodString, "many">;
        issuer: z.ZodString;
        subject: z.ZodString;
        credentialSubject: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        issuanceDate: z.ZodString;
        expirationDate: z.ZodOptional<z.ZodString>;
        proof: z.ZodOptional<z.ZodObject<{
            type: z.ZodString;
            created: z.ZodString;
            proofPurpose: z.ZodString;
            verificationMethod: z.ZodString;
            jws: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: string;
            created: string;
            proofPurpose: string;
            verificationMethod: string;
            jws: string;
        }, {
            type: string;
            created: string;
            proofPurpose: string;
            verificationMethod: string;
            jws: string;
        }>>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        type: string[];
        issuer: string;
        subject: string;
        credentialSubject: Record<string, unknown>;
        issuanceDate: string;
        proof?: {
            type: string;
            created: string;
            proofPurpose: string;
            verificationMethod: string;
            jws: string;
        } | undefined;
        expirationDate?: string | undefined;
    }, {
        id: string;
        type: string[];
        issuer: string;
        subject: string;
        credentialSubject: Record<string, unknown>;
        issuanceDate: string;
        proof?: {
            type: string;
            created: string;
            proofPurpose: string;
            verificationMethod: string;
            jws: string;
        } | undefined;
        expirationDate?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    credential: {
        id: string;
        type: string[];
        issuer: string;
        subject: string;
        credentialSubject: Record<string, unknown>;
        issuanceDate: string;
        proof?: {
            type: string;
            created: string;
            proofPurpose: string;
            verificationMethod: string;
            jws: string;
        } | undefined;
        expirationDate?: string | undefined;
    };
}, {
    credential: {
        id: string;
        type: string[];
        issuer: string;
        subject: string;
        credentialSubject: Record<string, unknown>;
        issuanceDate: string;
        proof?: {
            type: string;
            created: string;
            proofPurpose: string;
            verificationMethod: string;
            jws: string;
        } | undefined;
        expirationDate?: string | undefined;
    };
}>;
export type VerifyVC = z.infer<typeof VerifyVCSchema>;
//# sourceMappingURL=vc.d.ts.map