@learncard/types 5.16.0 → 5.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,116 @@
1
+ import { z } from 'zod';
2
+ import type { VC } from './vc';
3
+ /**
4
+ * Wire-format identifier for a credential at rest in the wallet.
5
+ *
6
+ * Introduced by ADR-0001 (format-tagged credential storage). Phase 1
7
+ * adds this as OPTIONAL metadata on `CredentialRecord`; existing W3C
8
+ * records continue to work without it. Format-aware code paths use
9
+ * this value to dispatch on the correct wire-form representation.
10
+ *
11
+ * Values follow OID4VCI / OID4VP draft-16 conventions:
12
+ * - `w3c-vc-2.0` — JSON-LD VC, VCDM 2.0 `@context`
13
+ * - `w3c-vc-1.1` — JSON-LD VC, VCDM 1.1 `@context` (legacy)
14
+ * - `jwt-vc-json` — compact JWS string, VCDM §6.3.1 payload shape
15
+ * - `dc+sd-jwt` — SD-JWT-VC compact form (draft-16 canonical name)
16
+ * - `vc+sd-jwt` — SD-JWT-VC compact form (legacy alias accepted on read)
17
+ * - `mso_mdoc` — ISO 18013-5 mDoc, CBOR-encoded (stored base64)
18
+ */
19
+ export declare const CredentialFormatValidator: z.ZodEnum<{
20
+ "w3c-vc-2.0": "w3c-vc-2.0";
21
+ "w3c-vc-1.1": "w3c-vc-1.1";
22
+ "jwt-vc-json": "jwt-vc-json";
23
+ "dc+sd-jwt": "dc+sd-jwt";
24
+ "vc+sd-jwt": "vc+sd-jwt";
25
+ mso_mdoc: "mso_mdoc";
26
+ }>;
27
+ export type CredentialFormat = z.infer<typeof CredentialFormatValidator>;
28
+ /**
29
+ * Format-discriminated read view over a stored credential. Returned
30
+ * by `toStoredCredential(record)` in `@learncard/helpers`.
31
+ *
32
+ * The `data` field carries the correct wire-form representation for
33
+ * the credential's format:
34
+ * - W3C VCs: the JSON-LD VC object (also what `record.vc` holds)
35
+ * - JWT-VC: the compact JWS string (extracted from `record.vc.proof.jwt`
36
+ * if the record uses the legacy LDP-around-JWT envelope, otherwise
37
+ * the raw string from `record.rawWireForm`)
38
+ * - SD-JWT-VC: the compact `<JWT>~<disclosures>~` string
39
+ * - mDoc: base64url-encoded CBOR bytes (stored as a string for
40
+ * LearnCloud's JSON-only encrypted store; consumers base64-decode
41
+ * when they need raw bytes)
42
+ *
43
+ * Format-aware consumers pattern-match on `format` and use `data`.
44
+ * Legacy consumers continue to read `record.vc` directly — the
45
+ * projector is opt-in, never required.
46
+ */
47
+ export type StoredCredential = {
48
+ format: 'w3c-vc-2.0';
49
+ data: VC;
50
+ } | {
51
+ format: 'w3c-vc-1.1';
52
+ data: VC;
53
+ } | {
54
+ format: 'jwt-vc-json';
55
+ data: string;
56
+ } | {
57
+ format: 'dc+sd-jwt';
58
+ data: string;
59
+ } | {
60
+ format: 'vc+sd-jwt';
61
+ data: string;
62
+ } | {
63
+ format: 'mso_mdoc';
64
+ data: string;
65
+ };
66
+ /**
67
+ * Unified display projection for any credential format. Returned by
68
+ * the `toDisplayViewModel(stored, learnCard)` adapter that lands in
69
+ * Phase 2 of the ADR-0001 migration (per-format adapters: W3C, JWT-VC,
70
+ * SD-JWT-VC, mDoc).
71
+ *
72
+ * UI components consume this shape regardless of underlying format,
73
+ * so the same BoostEarnedCard / category view / search index works
74
+ * across all credential types. The format-specific decoding logic
75
+ * lives in the adapter, not the UI.
76
+ *
77
+ * Phase 1 ships this interface only; the adapter implementation lands
78
+ * in Phase 2. UI code can start importing the type immediately so the
79
+ * Phase 2 PRs are pure additions.
80
+ */
81
+ export interface CredentialDisplayViewModel {
82
+ /** Source format of the underlying credential. */
83
+ format: CredentialFormat;
84
+ /** Best-effort issuer display name (resolved DID document or HTTPS metadata). */
85
+ issuerName?: string;
86
+ /** Raw DID or URL identifier of the issuer. */
87
+ issuerDid?: string;
88
+ /** Human-readable title (from credential `name`, derived from vct, or humanized type). */
89
+ title?: string;
90
+ /** Wallet category (e.g., `'Achievement'`, `'ID'`) used by the wallet's category tabs. */
91
+ category?: string;
92
+ /** Issuance time, if present in the credential. */
93
+ issuedAt?: Date;
94
+ /** Expiration time, if present. */
95
+ expiresAt?: Date;
96
+ /**
97
+ * Reconstructed claims. For W3C VCs this mirrors `credentialSubject`;
98
+ * for SD-JWT this is the payload + reconstructed disclosable claims;
99
+ * for mDoc it's the decoded namespace tree projected as a flat record.
100
+ */
101
+ claims: Record<string, unknown>;
102
+ /**
103
+ * Whether the credential supports selective disclosure at presentation
104
+ * time. SD-JWT-VC and mDoc → true; W3C VCs → false. UI components use
105
+ * this to decide whether to show per-claim consent checkboxes.
106
+ */
107
+ isSelectivelyDisclosable: boolean;
108
+ /**
109
+ * The on-the-wire form for re-serialization at egress time. Apps
110
+ * preparing outbound presentations should NEVER reconstruct from
111
+ * `claims` — always re-serialize from this field via
112
+ * `serializeForWire(stored)` (Phase 3).
113
+ */
114
+ rawWireForm: string | VC;
115
+ }
116
+ //# sourceMappingURL=credential-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-format.d.ts","sourceRoot":"","sources":["../src/credential-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB;;;;;;;EAOpC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,gBAAgB,GACtB;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,EAAE,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,EAAE,CAAA;CAAE,GAClC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,0BAA0B;IACvC,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,mCAAmC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC;CAC5B"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './vc';
2
2
  export * from './did';
3
3
  export * from './obv3';
4
4
  export * from './clr';
5
+ export * from './credential-format';
5
6
  export * from './learncard';
6
7
  export * from './learncloud';
7
8
  export * from './lcn';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,MAAM,CAAC;AACrB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,MAAM,CAAC;AACrB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC"}
package/dist/lcn.d.ts CHANGED
@@ -3828,6 +3828,408 @@ export declare const ConsentFlowTransactionValidator: z.ZodObject<{
3828
3828
  uris: z.ZodOptional<z.ZodArray<z.ZodString>>;
3829
3829
  }, z.core.$strip>;
3830
3830
  export type ConsentFlowTransaction = z.infer<typeof ConsentFlowTransactionValidator>;
3831
+ export declare const HolderExportConsentRecordValidator: z.ZodObject<{
3832
+ termsUri: z.ZodString;
3833
+ status: z.ZodEnum<{
3834
+ live: "live";
3835
+ stale: "stale";
3836
+ withdrawn: "withdrawn";
3837
+ }>;
3838
+ contract: z.ZodObject<{
3839
+ contract: z.ZodObject<{
3840
+ read: z.ZodPrefault<z.ZodObject<{
3841
+ anonymize: z.ZodOptional<z.ZodBoolean>;
3842
+ credentials: z.ZodPrefault<z.ZodObject<{
3843
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3844
+ required: z.ZodBoolean;
3845
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
3846
+ }, z.core.$strip>>>;
3847
+ }, z.core.$strip>>;
3848
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3849
+ required: z.ZodBoolean;
3850
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
3851
+ }, z.core.$strip>>>;
3852
+ }, z.core.$strip>>;
3853
+ write: z.ZodPrefault<z.ZodObject<{
3854
+ credentials: z.ZodPrefault<z.ZodObject<{
3855
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3856
+ required: z.ZodBoolean;
3857
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
3858
+ }, z.core.$strip>>>;
3859
+ }, z.core.$strip>>;
3860
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3861
+ required: z.ZodBoolean;
3862
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
3863
+ }, z.core.$strip>>>;
3864
+ }, z.core.$strip>>;
3865
+ }, z.core.$strip>;
3866
+ owner: z.ZodObject<{
3867
+ profileId: z.ZodString;
3868
+ displayName: z.ZodDefault<z.ZodString>;
3869
+ shortBio: z.ZodDefault<z.ZodString>;
3870
+ bio: z.ZodDefault<z.ZodString>;
3871
+ did: z.ZodString;
3872
+ isPrivate: z.ZodOptional<z.ZodBoolean>;
3873
+ profileVisibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3874
+ public: "public";
3875
+ connections_only: "connections_only";
3876
+ private: "private";
3877
+ }>>>;
3878
+ showEmail: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3879
+ allowConnectionRequests: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3880
+ anyone: "anyone";
3881
+ invite_only: "invite_only";
3882
+ }>>>;
3883
+ email: z.ZodOptional<z.ZodString>;
3884
+ image: z.ZodOptional<z.ZodString>;
3885
+ heroImage: z.ZodOptional<z.ZodString>;
3886
+ websiteLink: z.ZodOptional<z.ZodString>;
3887
+ isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3888
+ type: z.ZodOptional<z.ZodString>;
3889
+ notificationsWebhook: z.ZodOptional<z.ZodString>;
3890
+ display: z.ZodOptional<z.ZodObject<{
3891
+ backgroundColor: z.ZodOptional<z.ZodString>;
3892
+ backgroundImage: z.ZodOptional<z.ZodString>;
3893
+ fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3894
+ repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3895
+ fontColor: z.ZodOptional<z.ZodString>;
3896
+ accentColor: z.ZodOptional<z.ZodString>;
3897
+ accentFontColor: z.ZodOptional<z.ZodString>;
3898
+ idBackgroundImage: z.ZodOptional<z.ZodString>;
3899
+ fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3900
+ idBackgroundColor: z.ZodOptional<z.ZodString>;
3901
+ repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3902
+ }, z.core.$strip>>;
3903
+ highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
3904
+ role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3905
+ dob: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3906
+ country: z.ZodOptional<z.ZodString>;
3907
+ approved: z.ZodOptional<z.ZodBoolean>;
3908
+ }, z.core.$strip>;
3909
+ name: z.ZodString;
3910
+ subtitle: z.ZodOptional<z.ZodString>;
3911
+ description: z.ZodOptional<z.ZodString>;
3912
+ reasonForAccessing: z.ZodOptional<z.ZodString>;
3913
+ image: z.ZodOptional<z.ZodString>;
3914
+ uri: z.ZodString;
3915
+ needsGuardianConsent: z.ZodOptional<z.ZodBoolean>;
3916
+ redirectUrl: z.ZodOptional<z.ZodString>;
3917
+ frontDoorBoostUri: z.ZodOptional<z.ZodString>;
3918
+ createdAt: z.ZodString;
3919
+ updatedAt: z.ZodString;
3920
+ expiresAt: z.ZodOptional<z.ZodString>;
3921
+ autoBoosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
3922
+ writers: z.ZodOptional<z.ZodArray<z.ZodObject<{
3923
+ profileId: z.ZodString;
3924
+ displayName: z.ZodDefault<z.ZodString>;
3925
+ shortBio: z.ZodDefault<z.ZodString>;
3926
+ bio: z.ZodDefault<z.ZodString>;
3927
+ did: z.ZodString;
3928
+ isPrivate: z.ZodOptional<z.ZodBoolean>;
3929
+ profileVisibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3930
+ public: "public";
3931
+ connections_only: "connections_only";
3932
+ private: "private";
3933
+ }>>>;
3934
+ showEmail: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3935
+ allowConnectionRequests: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
3936
+ anyone: "anyone";
3937
+ invite_only: "invite_only";
3938
+ }>>>;
3939
+ email: z.ZodOptional<z.ZodString>;
3940
+ image: z.ZodOptional<z.ZodString>;
3941
+ heroImage: z.ZodOptional<z.ZodString>;
3942
+ websiteLink: z.ZodOptional<z.ZodString>;
3943
+ isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
3944
+ type: z.ZodOptional<z.ZodString>;
3945
+ notificationsWebhook: z.ZodOptional<z.ZodString>;
3946
+ display: z.ZodOptional<z.ZodObject<{
3947
+ backgroundColor: z.ZodOptional<z.ZodString>;
3948
+ backgroundImage: z.ZodOptional<z.ZodString>;
3949
+ fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3950
+ repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3951
+ fontColor: z.ZodOptional<z.ZodString>;
3952
+ accentColor: z.ZodOptional<z.ZodString>;
3953
+ accentFontColor: z.ZodOptional<z.ZodString>;
3954
+ idBackgroundImage: z.ZodOptional<z.ZodString>;
3955
+ fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3956
+ idBackgroundColor: z.ZodOptional<z.ZodString>;
3957
+ repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
3958
+ }, z.core.$strip>>;
3959
+ highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
3960
+ role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3961
+ dob: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3962
+ country: z.ZodOptional<z.ZodString>;
3963
+ approved: z.ZodOptional<z.ZodBoolean>;
3964
+ }, z.core.$strip>>>;
3965
+ }, z.core.$strip>;
3966
+ terms: z.ZodObject<{
3967
+ read: z.ZodPrefault<z.ZodObject<{
3968
+ anonymize: z.ZodOptional<z.ZodBoolean>;
3969
+ credentials: z.ZodPrefault<z.ZodObject<{
3970
+ shareAll: z.ZodOptional<z.ZodBoolean>;
3971
+ sharing: z.ZodOptional<z.ZodBoolean>;
3972
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3973
+ sharing: z.ZodOptional<z.ZodBoolean>;
3974
+ shared: z.ZodOptional<z.ZodArray<z.ZodString>>;
3975
+ shareAll: z.ZodOptional<z.ZodBoolean>;
3976
+ shareUntil: z.ZodOptional<z.ZodString>;
3977
+ }, z.core.$strip>>>;
3978
+ }, z.core.$strip>>;
3979
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
3980
+ }, z.core.$strip>>;
3981
+ write: z.ZodPrefault<z.ZodObject<{
3982
+ credentials: z.ZodPrefault<z.ZodObject<{
3983
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
3984
+ }, z.core.$strip>>;
3985
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
3986
+ }, z.core.$strip>>;
3987
+ deniedWriters: z.ZodOptional<z.ZodArray<z.ZodString>>;
3988
+ }, z.core.$strip>;
3989
+ transactions: z.ZodArray<z.ZodObject<{
3990
+ expiresAt: z.ZodOptional<z.ZodString>;
3991
+ oneTime: z.ZodOptional<z.ZodBoolean>;
3992
+ terms: z.ZodOptional<z.ZodObject<{
3993
+ read: z.ZodPrefault<z.ZodObject<{
3994
+ anonymize: z.ZodOptional<z.ZodBoolean>;
3995
+ credentials: z.ZodPrefault<z.ZodObject<{
3996
+ shareAll: z.ZodOptional<z.ZodBoolean>;
3997
+ sharing: z.ZodOptional<z.ZodBoolean>;
3998
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
3999
+ sharing: z.ZodOptional<z.ZodBoolean>;
4000
+ shared: z.ZodOptional<z.ZodArray<z.ZodString>>;
4001
+ shareAll: z.ZodOptional<z.ZodBoolean>;
4002
+ shareUntil: z.ZodOptional<z.ZodString>;
4003
+ }, z.core.$strip>>>;
4004
+ }, z.core.$strip>>;
4005
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
4006
+ }, z.core.$strip>>;
4007
+ write: z.ZodPrefault<z.ZodObject<{
4008
+ credentials: z.ZodPrefault<z.ZodObject<{
4009
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
4010
+ }, z.core.$strip>>;
4011
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
4012
+ }, z.core.$strip>>;
4013
+ deniedWriters: z.ZodOptional<z.ZodArray<z.ZodString>>;
4014
+ }, z.core.$strip>>;
4015
+ id: z.ZodString;
4016
+ action: z.ZodEnum<{
4017
+ write: "write";
4018
+ consent: "consent";
4019
+ update: "update";
4020
+ sync: "sync";
4021
+ withdraw: "withdraw";
4022
+ }>;
4023
+ date: z.ZodString;
4024
+ uris: z.ZodOptional<z.ZodArray<z.ZodString>>;
4025
+ }, z.core.$strip>>;
4026
+ }, z.core.$strip>;
4027
+ export type HolderExportConsentRecord = z.infer<typeof HolderExportConsentRecordValidator>;
4028
+ export declare const HolderExportMetadataValidator: z.ZodObject<{
4029
+ consentRecords: z.ZodArray<z.ZodObject<{
4030
+ termsUri: z.ZodString;
4031
+ status: z.ZodEnum<{
4032
+ live: "live";
4033
+ stale: "stale";
4034
+ withdrawn: "withdrawn";
4035
+ }>;
4036
+ contract: z.ZodObject<{
4037
+ contract: z.ZodObject<{
4038
+ read: z.ZodPrefault<z.ZodObject<{
4039
+ anonymize: z.ZodOptional<z.ZodBoolean>;
4040
+ credentials: z.ZodPrefault<z.ZodObject<{
4041
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4042
+ required: z.ZodBoolean;
4043
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
4044
+ }, z.core.$strip>>>;
4045
+ }, z.core.$strip>>;
4046
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4047
+ required: z.ZodBoolean;
4048
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
4049
+ }, z.core.$strip>>>;
4050
+ }, z.core.$strip>>;
4051
+ write: z.ZodPrefault<z.ZodObject<{
4052
+ credentials: z.ZodPrefault<z.ZodObject<{
4053
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4054
+ required: z.ZodBoolean;
4055
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
4056
+ }, z.core.$strip>>>;
4057
+ }, z.core.$strip>>;
4058
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4059
+ required: z.ZodBoolean;
4060
+ defaultEnabled: z.ZodOptional<z.ZodBoolean>;
4061
+ }, z.core.$strip>>>;
4062
+ }, z.core.$strip>>;
4063
+ }, z.core.$strip>;
4064
+ owner: z.ZodObject<{
4065
+ profileId: z.ZodString;
4066
+ displayName: z.ZodDefault<z.ZodString>;
4067
+ shortBio: z.ZodDefault<z.ZodString>;
4068
+ bio: z.ZodDefault<z.ZodString>;
4069
+ did: z.ZodString;
4070
+ isPrivate: z.ZodOptional<z.ZodBoolean>;
4071
+ profileVisibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
4072
+ public: "public";
4073
+ connections_only: "connections_only";
4074
+ private: "private";
4075
+ }>>>;
4076
+ showEmail: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4077
+ allowConnectionRequests: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
4078
+ anyone: "anyone";
4079
+ invite_only: "invite_only";
4080
+ }>>>;
4081
+ email: z.ZodOptional<z.ZodString>;
4082
+ image: z.ZodOptional<z.ZodString>;
4083
+ heroImage: z.ZodOptional<z.ZodString>;
4084
+ websiteLink: z.ZodOptional<z.ZodString>;
4085
+ isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4086
+ type: z.ZodOptional<z.ZodString>;
4087
+ notificationsWebhook: z.ZodOptional<z.ZodString>;
4088
+ display: z.ZodOptional<z.ZodObject<{
4089
+ backgroundColor: z.ZodOptional<z.ZodString>;
4090
+ backgroundImage: z.ZodOptional<z.ZodString>;
4091
+ fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4092
+ repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4093
+ fontColor: z.ZodOptional<z.ZodString>;
4094
+ accentColor: z.ZodOptional<z.ZodString>;
4095
+ accentFontColor: z.ZodOptional<z.ZodString>;
4096
+ idBackgroundImage: z.ZodOptional<z.ZodString>;
4097
+ fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4098
+ idBackgroundColor: z.ZodOptional<z.ZodString>;
4099
+ repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4100
+ }, z.core.$strip>>;
4101
+ highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
4102
+ role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
4103
+ dob: z.ZodOptional<z.ZodDefault<z.ZodString>>;
4104
+ country: z.ZodOptional<z.ZodString>;
4105
+ approved: z.ZodOptional<z.ZodBoolean>;
4106
+ }, z.core.$strip>;
4107
+ name: z.ZodString;
4108
+ subtitle: z.ZodOptional<z.ZodString>;
4109
+ description: z.ZodOptional<z.ZodString>;
4110
+ reasonForAccessing: z.ZodOptional<z.ZodString>;
4111
+ image: z.ZodOptional<z.ZodString>;
4112
+ uri: z.ZodString;
4113
+ needsGuardianConsent: z.ZodOptional<z.ZodBoolean>;
4114
+ redirectUrl: z.ZodOptional<z.ZodString>;
4115
+ frontDoorBoostUri: z.ZodOptional<z.ZodString>;
4116
+ createdAt: z.ZodString;
4117
+ updatedAt: z.ZodString;
4118
+ expiresAt: z.ZodOptional<z.ZodString>;
4119
+ autoBoosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
4120
+ writers: z.ZodOptional<z.ZodArray<z.ZodObject<{
4121
+ profileId: z.ZodString;
4122
+ displayName: z.ZodDefault<z.ZodString>;
4123
+ shortBio: z.ZodDefault<z.ZodString>;
4124
+ bio: z.ZodDefault<z.ZodString>;
4125
+ did: z.ZodString;
4126
+ isPrivate: z.ZodOptional<z.ZodBoolean>;
4127
+ profileVisibility: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
4128
+ public: "public";
4129
+ connections_only: "connections_only";
4130
+ private: "private";
4131
+ }>>>;
4132
+ showEmail: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4133
+ allowConnectionRequests: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
4134
+ anyone: "anyone";
4135
+ invite_only: "invite_only";
4136
+ }>>>;
4137
+ email: z.ZodOptional<z.ZodString>;
4138
+ image: z.ZodOptional<z.ZodString>;
4139
+ heroImage: z.ZodOptional<z.ZodString>;
4140
+ websiteLink: z.ZodOptional<z.ZodString>;
4141
+ isServiceProfile: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4142
+ type: z.ZodOptional<z.ZodString>;
4143
+ notificationsWebhook: z.ZodOptional<z.ZodString>;
4144
+ display: z.ZodOptional<z.ZodObject<{
4145
+ backgroundColor: z.ZodOptional<z.ZodString>;
4146
+ backgroundImage: z.ZodOptional<z.ZodString>;
4147
+ fadeBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4148
+ repeatBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4149
+ fontColor: z.ZodOptional<z.ZodString>;
4150
+ accentColor: z.ZodOptional<z.ZodString>;
4151
+ accentFontColor: z.ZodOptional<z.ZodString>;
4152
+ idBackgroundImage: z.ZodOptional<z.ZodString>;
4153
+ fadeIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4154
+ idBackgroundColor: z.ZodOptional<z.ZodString>;
4155
+ repeatIdBackgroundImage: z.ZodOptional<z.ZodBoolean>;
4156
+ }, z.core.$strip>>;
4157
+ highlightedCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>;
4158
+ role: z.ZodOptional<z.ZodDefault<z.ZodString>>;
4159
+ dob: z.ZodOptional<z.ZodDefault<z.ZodString>>;
4160
+ country: z.ZodOptional<z.ZodString>;
4161
+ approved: z.ZodOptional<z.ZodBoolean>;
4162
+ }, z.core.$strip>>>;
4163
+ }, z.core.$strip>;
4164
+ terms: z.ZodObject<{
4165
+ read: z.ZodPrefault<z.ZodObject<{
4166
+ anonymize: z.ZodOptional<z.ZodBoolean>;
4167
+ credentials: z.ZodPrefault<z.ZodObject<{
4168
+ shareAll: z.ZodOptional<z.ZodBoolean>;
4169
+ sharing: z.ZodOptional<z.ZodBoolean>;
4170
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4171
+ sharing: z.ZodOptional<z.ZodBoolean>;
4172
+ shared: z.ZodOptional<z.ZodArray<z.ZodString>>;
4173
+ shareAll: z.ZodOptional<z.ZodBoolean>;
4174
+ shareUntil: z.ZodOptional<z.ZodString>;
4175
+ }, z.core.$strip>>>;
4176
+ }, z.core.$strip>>;
4177
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
4178
+ }, z.core.$strip>>;
4179
+ write: z.ZodPrefault<z.ZodObject<{
4180
+ credentials: z.ZodPrefault<z.ZodObject<{
4181
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
4182
+ }, z.core.$strip>>;
4183
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
4184
+ }, z.core.$strip>>;
4185
+ deniedWriters: z.ZodOptional<z.ZodArray<z.ZodString>>;
4186
+ }, z.core.$strip>;
4187
+ transactions: z.ZodArray<z.ZodObject<{
4188
+ expiresAt: z.ZodOptional<z.ZodString>;
4189
+ oneTime: z.ZodOptional<z.ZodBoolean>;
4190
+ terms: z.ZodOptional<z.ZodObject<{
4191
+ read: z.ZodPrefault<z.ZodObject<{
4192
+ anonymize: z.ZodOptional<z.ZodBoolean>;
4193
+ credentials: z.ZodPrefault<z.ZodObject<{
4194
+ shareAll: z.ZodOptional<z.ZodBoolean>;
4195
+ sharing: z.ZodOptional<z.ZodBoolean>;
4196
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
4197
+ sharing: z.ZodOptional<z.ZodBoolean>;
4198
+ shared: z.ZodOptional<z.ZodArray<z.ZodString>>;
4199
+ shareAll: z.ZodOptional<z.ZodBoolean>;
4200
+ shareUntil: z.ZodOptional<z.ZodString>;
4201
+ }, z.core.$strip>>>;
4202
+ }, z.core.$strip>>;
4203
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
4204
+ }, z.core.$strip>>;
4205
+ write: z.ZodPrefault<z.ZodObject<{
4206
+ credentials: z.ZodPrefault<z.ZodObject<{
4207
+ categories: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
4208
+ }, z.core.$strip>>;
4209
+ personal: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
4210
+ }, z.core.$strip>>;
4211
+ deniedWriters: z.ZodOptional<z.ZodArray<z.ZodString>>;
4212
+ }, z.core.$strip>>;
4213
+ id: z.ZodString;
4214
+ action: z.ZodEnum<{
4215
+ write: "write";
4216
+ consent: "consent";
4217
+ update: "update";
4218
+ sync: "sync";
4219
+ withdraw: "withdraw";
4220
+ }>;
4221
+ date: z.ZodString;
4222
+ uris: z.ZodOptional<z.ZodArray<z.ZodString>>;
4223
+ }, z.core.$strip>>;
4224
+ }, z.core.$strip>>;
4225
+ truncated: z.ZodOptional<z.ZodBoolean>;
4226
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
4227
+ limits: z.ZodOptional<z.ZodObject<{
4228
+ maxConsentRecords: z.ZodNumber;
4229
+ maxTransactionsPerConsentRecord: z.ZodNumber;
4230
+ }, z.core.$strip>>;
4231
+ }, z.core.$strip>;
4232
+ export type HolderExportMetadata = z.infer<typeof HolderExportMetadataValidator>;
3831
4233
  export declare const PaginatedConsentFlowTransactionsValidator: z.ZodObject<{
3832
4234
  cursor: z.ZodOptional<z.ZodString>;
3833
4235
  hasMore: z.ZodBoolean;