/** * CLR Schemas * * Zod schemas for the CLR (Comprehensive Learner Record) v2.0 API. */ import { z } from 'zod/v4'; /** * Schema for upserting a CLR credential. * * Validates the required structure per the CLR v2.0 specification: * - `@context`: at least 3 JSON-LD context URLs (W3C, CLR, OB), W3C credentials context first * - `id`: credential URI (valid URL format) * - `type`: array including "VerifiableCredential" and "ClrCredential" * - `issuer`: profile with required `id` (URL) and `type` including "Profile" * - `name`: display name * - `validFrom`: ISO 8601 datetime string (Z suffix required) * - `validUntil`: optional ISO 8601 datetime string * - `credentialSubject`: must include `type` with "ClrSubject" and at least one `verifiableCredential` */ export declare const ClrCredentialInput: z.ZodObject<{ '@context': z.ZodArray; id: z.ZodURL; type: z.ZodArray; issuer: z.ZodObject<{ id: z.ZodURL; type: z.ZodArray; name: z.ZodOptional; url: z.ZodOptional; phone: z.ZodOptional; description: z.ZodOptional; image: z.ZodOptional; caption: z.ZodOptional; }, z.core.$strip>>; email: z.ZodOptional; }, z.core.$strip>; name: z.ZodString; description: z.ZodOptional; validFrom: z.ZodISODateTime; validUntil: z.ZodOptional; credentialSubject: z.ZodObject<{ id: z.ZodOptional; type: z.ZodArray; identifier: z.ZodOptional; identityHash: z.ZodString; identityType: z.ZodString; hashed: z.ZodBoolean; salt: z.ZodOptional; }, z.core.$strip>>>; achievement: z.ZodOptional; name: z.ZodString; description: z.ZodString; criteria: z.ZodObject<{ id: z.ZodOptional; narrative: z.ZodOptional; }, z.core.$strip>; image: z.ZodOptional; caption: z.ZodOptional; }, z.core.$strip>>; achievementType: z.ZodOptional; creator: z.ZodOptional; name: z.ZodOptional; url: z.ZodOptional; phone: z.ZodOptional; description: z.ZodOptional; image: z.ZodOptional; caption: z.ZodOptional; }, z.core.$strip>>; email: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>>; verifiableCredential: z.ZodArray; id: z.ZodURL; type: z.ZodArray; issuer: z.ZodObject<{ id: z.ZodURL; type: z.ZodArray; name: z.ZodOptional; url: z.ZodOptional; phone: z.ZodOptional; description: z.ZodOptional; image: z.ZodOptional; caption: z.ZodOptional; }, z.core.$strip>>; email: z.ZodOptional; }, z.core.$strip>; validFrom: z.ZodISODateTime; validUntil: z.ZodOptional; credentialSubject: z.ZodObject<{ id: z.ZodOptional; }, z.core.$strip>; proof: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>>; association: z.ZodOptional; associationType: z.ZodEnum<{ exactMatchOf: "exactMatchOf"; isChildOf: "isChildOf"; isParentOf: "isParentOf"; isPartOf: "isPartOf"; isPeerOf: "isPeerOf"; isRelatedTo: "isRelatedTo"; precedes: "precedes"; replacedBy: "replacedBy"; }>; sourceId: z.ZodURL; targetId: z.ZodURL; }, z.core.$strip>>>; }, z.core.$strip>; proof: z.ZodOptional; }, z.core.$strip>>>; credentialSchema: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; export type ClrCredentialInput = z.infer; //# sourceMappingURL=clr.d.ts.map