@openinherit/sdk 1.0.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.
Files changed (130) hide show
  1. package/LICENSE +191 -0
  2. package/dist/estate/client/client.gen.d.ts +3 -0
  3. package/dist/estate/client/client.gen.d.ts.map +1 -0
  4. package/dist/estate/client/client.gen.js +236 -0
  5. package/dist/estate/client/client.gen.js.map +1 -0
  6. package/dist/estate/client/index.d.ts +9 -0
  7. package/dist/estate/client/index.d.ts.map +1 -0
  8. package/dist/estate/client/index.js +7 -0
  9. package/dist/estate/client/index.js.map +1 -0
  10. package/dist/estate/client/types.gen.d.ts +118 -0
  11. package/dist/estate/client/types.gen.d.ts.map +1 -0
  12. package/dist/estate/client/types.gen.js +3 -0
  13. package/dist/estate/client/types.gen.js.map +1 -0
  14. package/dist/estate/client/utils.gen.d.ts +34 -0
  15. package/dist/estate/client/utils.gen.d.ts.map +1 -0
  16. package/dist/estate/client/utils.gen.js +229 -0
  17. package/dist/estate/client/utils.gen.js.map +1 -0
  18. package/dist/estate/client.gen.d.ts +13 -0
  19. package/dist/estate/client.gen.d.ts.map +1 -0
  20. package/dist/estate/client.gen.js +4 -0
  21. package/dist/estate/client.gen.js.map +1 -0
  22. package/dist/estate/core/auth.gen.d.ts +19 -0
  23. package/dist/estate/core/auth.gen.d.ts.map +1 -0
  24. package/dist/estate/core/auth.gen.js +15 -0
  25. package/dist/estate/core/auth.gen.js.map +1 -0
  26. package/dist/estate/core/bodySerializer.gen.d.ts +26 -0
  27. package/dist/estate/core/bodySerializer.gen.d.ts.map +1 -0
  28. package/dist/estate/core/bodySerializer.gen.js +58 -0
  29. package/dist/estate/core/bodySerializer.gen.js.map +1 -0
  30. package/dist/estate/core/params.gen.d.ts +44 -0
  31. package/dist/estate/core/params.gen.d.ts.map +1 -0
  32. package/dist/estate/core/params.gen.js +101 -0
  33. package/dist/estate/core/params.gen.js.map +1 -0
  34. package/dist/estate/core/pathSerializer.gen.d.ts +34 -0
  35. package/dist/estate/core/pathSerializer.gen.d.ts.map +1 -0
  36. package/dist/estate/core/pathSerializer.gen.js +107 -0
  37. package/dist/estate/core/pathSerializer.gen.js.map +1 -0
  38. package/dist/estate/core/queryKeySerializer.gen.d.ts +19 -0
  39. package/dist/estate/core/queryKeySerializer.gen.d.ts.map +1 -0
  40. package/dist/estate/core/queryKeySerializer.gen.js +93 -0
  41. package/dist/estate/core/queryKeySerializer.gen.js.map +1 -0
  42. package/dist/estate/core/serverSentEvents.gen.d.ts +72 -0
  43. package/dist/estate/core/serverSentEvents.gen.d.ts.map +1 -0
  44. package/dist/estate/core/serverSentEvents.gen.js +134 -0
  45. package/dist/estate/core/serverSentEvents.gen.js.map +1 -0
  46. package/dist/estate/core/types.gen.d.ts +79 -0
  47. package/dist/estate/core/types.gen.d.ts.map +1 -0
  48. package/dist/estate/core/types.gen.js +3 -0
  49. package/dist/estate/core/types.gen.js.map +1 -0
  50. package/dist/estate/core/utils.gen.d.ts +20 -0
  51. package/dist/estate/core/utils.gen.d.ts.map +1 -0
  52. package/dist/estate/core/utils.gen.js +88 -0
  53. package/dist/estate/core/utils.gen.js.map +1 -0
  54. package/dist/estate/index.d.ts +3 -0
  55. package/dist/estate/index.d.ts.map +1 -0
  56. package/dist/estate/index.js +3 -0
  57. package/dist/estate/index.js.map +1 -0
  58. package/dist/estate/sdk.gen.d.ts +25 -0
  59. package/dist/estate/sdk.gen.d.ts.map +1 -0
  60. package/dist/estate/sdk.gen.js +19 -0
  61. package/dist/estate/sdk.gen.js.map +1 -0
  62. package/dist/estate/types.gen.d.ts +2140 -0
  63. package/dist/estate/types.gen.d.ts.map +1 -0
  64. package/dist/estate/types.gen.js +3 -0
  65. package/dist/estate/types.gen.js.map +1 -0
  66. package/dist/reference/client/client.gen.d.ts +3 -0
  67. package/dist/reference/client/client.gen.d.ts.map +1 -0
  68. package/dist/reference/client/client.gen.js +236 -0
  69. package/dist/reference/client/client.gen.js.map +1 -0
  70. package/dist/reference/client/index.d.ts +9 -0
  71. package/dist/reference/client/index.d.ts.map +1 -0
  72. package/dist/reference/client/index.js +7 -0
  73. package/dist/reference/client/index.js.map +1 -0
  74. package/dist/reference/client/types.gen.d.ts +118 -0
  75. package/dist/reference/client/types.gen.d.ts.map +1 -0
  76. package/dist/reference/client/types.gen.js +3 -0
  77. package/dist/reference/client/types.gen.js.map +1 -0
  78. package/dist/reference/client/utils.gen.d.ts +34 -0
  79. package/dist/reference/client/utils.gen.d.ts.map +1 -0
  80. package/dist/reference/client/utils.gen.js +229 -0
  81. package/dist/reference/client/utils.gen.js.map +1 -0
  82. package/dist/reference/client.gen.d.ts +13 -0
  83. package/dist/reference/client.gen.d.ts.map +1 -0
  84. package/dist/reference/client.gen.js +4 -0
  85. package/dist/reference/client.gen.js.map +1 -0
  86. package/dist/reference/core/auth.gen.d.ts +19 -0
  87. package/dist/reference/core/auth.gen.d.ts.map +1 -0
  88. package/dist/reference/core/auth.gen.js +15 -0
  89. package/dist/reference/core/auth.gen.js.map +1 -0
  90. package/dist/reference/core/bodySerializer.gen.d.ts +26 -0
  91. package/dist/reference/core/bodySerializer.gen.d.ts.map +1 -0
  92. package/dist/reference/core/bodySerializer.gen.js +58 -0
  93. package/dist/reference/core/bodySerializer.gen.js.map +1 -0
  94. package/dist/reference/core/params.gen.d.ts +44 -0
  95. package/dist/reference/core/params.gen.d.ts.map +1 -0
  96. package/dist/reference/core/params.gen.js +101 -0
  97. package/dist/reference/core/params.gen.js.map +1 -0
  98. package/dist/reference/core/pathSerializer.gen.d.ts +34 -0
  99. package/dist/reference/core/pathSerializer.gen.d.ts.map +1 -0
  100. package/dist/reference/core/pathSerializer.gen.js +107 -0
  101. package/dist/reference/core/pathSerializer.gen.js.map +1 -0
  102. package/dist/reference/core/queryKeySerializer.gen.d.ts +19 -0
  103. package/dist/reference/core/queryKeySerializer.gen.d.ts.map +1 -0
  104. package/dist/reference/core/queryKeySerializer.gen.js +93 -0
  105. package/dist/reference/core/queryKeySerializer.gen.js.map +1 -0
  106. package/dist/reference/core/serverSentEvents.gen.d.ts +72 -0
  107. package/dist/reference/core/serverSentEvents.gen.d.ts.map +1 -0
  108. package/dist/reference/core/serverSentEvents.gen.js +134 -0
  109. package/dist/reference/core/serverSentEvents.gen.js.map +1 -0
  110. package/dist/reference/core/types.gen.d.ts +79 -0
  111. package/dist/reference/core/types.gen.d.ts.map +1 -0
  112. package/dist/reference/core/types.gen.js +3 -0
  113. package/dist/reference/core/types.gen.js.map +1 -0
  114. package/dist/reference/core/utils.gen.d.ts +20 -0
  115. package/dist/reference/core/utils.gen.d.ts.map +1 -0
  116. package/dist/reference/core/utils.gen.js +88 -0
  117. package/dist/reference/core/utils.gen.js.map +1 -0
  118. package/dist/reference/index.d.ts +3 -0
  119. package/dist/reference/index.d.ts.map +1 -0
  120. package/dist/reference/index.js +3 -0
  121. package/dist/reference/index.js.map +1 -0
  122. package/dist/reference/sdk.gen.d.ts +508 -0
  123. package/dist/reference/sdk.gen.d.ts.map +1 -0
  124. package/dist/reference/sdk.gen.js +1147 -0
  125. package/dist/reference/sdk.gen.js.map +1 -0
  126. package/dist/reference/types.gen.d.ts +4602 -0
  127. package/dist/reference/types.gen.d.ts.map +1 -0
  128. package/dist/reference/types.gen.js +3 -0
  129. package/dist/reference/types.gen.js.map +1 -0
  130. package/package.json +50 -0
@@ -0,0 +1,2140 @@
1
+ export type ClientOptions = {
2
+ baseUrl: 'https://api.openinherit.org/v1' | (string & {});
3
+ };
4
+ /**
5
+ * The top-level INHERIT document envelope
6
+ */
7
+ export type InheritDocument = Schema;
8
+ /**
9
+ * The estate — links all entities together
10
+ */
11
+ export type Estate = Estate2;
12
+ /**
13
+ * Any person referenced in the estate
14
+ */
15
+ export type Person = Person2;
16
+ /**
17
+ * Relationship between two people
18
+ */
19
+ export type Relationship = Relationship2;
20
+ /**
21
+ * Family group structure
22
+ */
23
+ export type Kinship = Kinship2;
24
+ /**
25
+ * Real property (land, buildings)
26
+ */
27
+ export type Property = Property2;
28
+ /**
29
+ * Non-property assets (bank accounts, investments, etc.)
30
+ */
31
+ export type Asset = Asset2;
32
+ /**
33
+ * Debts, mortgages, loans
34
+ */
35
+ export type Liability = Liability2;
36
+ /**
37
+ * A gift in a will
38
+ */
39
+ export type Bequest = Bequest2;
40
+ /**
41
+ * Trust arrangements
42
+ */
43
+ export type Trust = Trust2;
44
+ /**
45
+ * Named executor or administrator
46
+ */
47
+ export type Executor = Executor2;
48
+ /**
49
+ * Guardian appointment for minor children
50
+ */
51
+ export type Guardian = Guardian2;
52
+ /**
53
+ * Non-binding wishes (funeral, organ donation, etc.)
54
+ */
55
+ export type Wish = Wish2;
56
+ /**
57
+ * Legal documents (wills, codicils, powers of attorney)
58
+ */
59
+ export type Document = Document2;
60
+ /**
61
+ * Witness attestation of a document
62
+ */
63
+ export type Attestation = Attestation2;
64
+ /**
65
+ * Power of attorney or deputyship
66
+ */
67
+ export type ProxyAuthorisation = ProxyAuthorisation2;
68
+ /**
69
+ * Professional interest in the estate
70
+ */
71
+ export type DealerInterest = DealerInterest2;
72
+ /**
73
+ * Assets that pass outside the will
74
+ */
75
+ export type NonprobateTransfer = NonprobateTransfer2;
76
+ /**
77
+ * Monetary amounts (integer pennies + currency)
78
+ */
79
+ export type Money = Money2;
80
+ /**
81
+ * Postal addresses
82
+ */
83
+ export type Address = Address2;
84
+ /**
85
+ * ISO 3166-2 jurisdiction codes
86
+ */
87
+ export type Jurisdiction = Jurisdiction2;
88
+ /**
89
+ * External identifiers (NI number, passport, etc.)
90
+ */
91
+ export type Identifier = Identifier2;
92
+ /**
93
+ * Time-bound legislation rules
94
+ */
95
+ export type TemporalRule = TemporalRule2;
96
+ /**
97
+ * IHT thresholds, intestacy rules, IFPA 1975 for England & Wales
98
+ */
99
+ export type ExtensionUkEnglandWales = UkEnglandWales;
100
+ /**
101
+ * US estate planning — community property, elective share, homestead
102
+ */
103
+ export type ExtensionUsEstate = UsEstate;
104
+ /**
105
+ * Canadian provincial succession rules
106
+ */
107
+ export type ExtensionCanada = Canada;
108
+ /**
109
+ * AU/NZ superannuation, family provision, Maori land
110
+ */
111
+ export type ExtensionAustraliaNz = AustraliaNz;
112
+ /**
113
+ * Brussels IV, European Certificate of Succession, forced heirship
114
+ */
115
+ export type ExtensionEuSuccession = EuSuccession;
116
+ /**
117
+ * Japanese succession — koseki, iryubun, yōshi, isan bunkatsu
118
+ */
119
+ export type ExtensionJapan = Japan;
120
+ /**
121
+ * PRC succession — forced heirship, hukou, notarised certificates
122
+ */
123
+ export type ExtensionPrcChina = PrcChina;
124
+ /**
125
+ * SG/MY — ISA, AMLA, CPF/EPF nominations, Distribution Act
126
+ */
127
+ export type ExtensionSingaporeMalaysia = SingaporeMalaysia;
128
+ /**
129
+ * Latin American succession — legítima, forced heirship, fourths system
130
+ */
131
+ export type ExtensionLatinAmerica = LatinAmerica;
132
+ /**
133
+ * Faraid — fixed shares, residuary, awl/radd, wasiyya, waqf
134
+ */
135
+ export type ExtensionIslamic = Islamic;
136
+ /**
137
+ * Halachic inheritance — bekhor, mezonot, kinyan
138
+ */
139
+ export type ExtensionJewish = Jewish;
140
+ /**
141
+ * Hindu succession — Mitakshara/Dayabhaga, HUF, stridhan
142
+ */
143
+ export type ExtensionIndiaHindu = IndiaHindu;
144
+ /**
145
+ * Customary succession — patrilineal/matrilineal, family council, lobola
146
+ */
147
+ export type ExtensionAfricaCustomary = AfricaCustomary;
148
+ export type ValidationResult = {
149
+ valid: boolean;
150
+ /**
151
+ * 0 = Invalid, 1 = Schema Valid, 2 = Referentially Intact,
152
+ * 3 = Jurisdiction Complete
153
+ *
154
+ */
155
+ conformanceLevel: 0 | 1 | 2 | 3;
156
+ errors: Array<{
157
+ path: string;
158
+ message: string;
159
+ level: 'error' | 'warning' | 'info';
160
+ }>;
161
+ };
162
+ /**
163
+ * Attestation
164
+ *
165
+ * Will execution formalities. Standalone — reused by estate, codicils, trusts, extensions. Supports written (E&W Wills Act s.9), oral (Islamic/customary), seal-based (Japanese inkan), kinyan-based (Jewish).
166
+ */
167
+ export type Attestation2 = {
168
+ date?: string;
169
+ witnessPersonIds?: Array<string>;
170
+ method?: 'in_person' | 'video' | 'remote' | 'none' | 'kinyan_sudar' | 'kinyan_agav' | 'seal_based' | 'inkan_registered';
171
+ attestationType?: 'written_signed' | 'oral_witnessed' | 'oral_community' | 'seal_based';
172
+ solicitorSupervised?: boolean;
173
+ testatorSignedInPresenceOfWitnesses?: boolean;
174
+ witnessesSignedInPresenceOfTestator?: boolean;
175
+ witnessConflictCheck?: boolean;
176
+ witnessConflictCheckScope?: 'english_law' | 'halachic_broad' | 'shariah_standard' | 'civil_law_standard' | 'customary_oral' | 'community_testimony';
177
+ notes?: string;
178
+ [key: string]: unknown | string | Array<string> | 'in_person' | 'video' | 'remote' | 'none' | 'kinyan_sudar' | 'kinyan_agav' | 'seal_based' | 'inkan_registered' | 'written_signed' | 'oral_witnessed' | 'oral_community' | 'seal_based' | boolean | 'english_law' | 'halachic_broad' | 'shariah_standard' | 'civil_law_standard' | 'customary_oral' | 'community_testimony' | string | undefined;
179
+ };
180
+ /**
181
+ * Jurisdiction
182
+ *
183
+ * A legal jurisdiction identified by ISO 3166 codes.
184
+ */
185
+ export type Jurisdiction2 = {
186
+ /**
187
+ * ISO 3166-1 alpha-2
188
+ */
189
+ country: string;
190
+ /**
191
+ * ISO 3166-2 subdivision code (e.g. GB-SCT, US-CA)
192
+ */
193
+ subdivision?: string;
194
+ legalSystem?: 'common_law' | 'civil_law' | 'mixed' | 'religious' | 'customary' | 'religious_islamic' | 'religious_jewish' | 'religious_hindu' | 'religious_canon' | 'plural';
195
+ /**
196
+ * Human-readable jurisdiction name (e.g. 'Scotland', 'California')
197
+ */
198
+ name?: string;
199
+ };
200
+ /**
201
+ * Money
202
+ *
203
+ * Monetary value in integer minor currency units with ISO 4217 code. Never floating point.
204
+ */
205
+ export type Money2 = {
206
+ /**
207
+ * Value in smallest currency unit (e.g. 32500 = £325.00)
208
+ */
209
+ amount: number;
210
+ /**
211
+ * ISO 4217 three-letter code
212
+ */
213
+ currency: string;
214
+ };
215
+ export type TestamentaryCapacity = {
216
+ assessed?: boolean;
217
+ assessmentDate?: string;
218
+ assessorName?: string;
219
+ assessorRole?: string;
220
+ capacityConfirmed?: boolean;
221
+ goldenRuleComplied?: boolean;
222
+ notes?: string;
223
+ };
224
+ export type Codicil = {
225
+ id: string;
226
+ date: string;
227
+ description?: string;
228
+ attestation?: Attestation2;
229
+ documentId?: string;
230
+ };
231
+ export type ForcedHeirship = {
232
+ applies?: boolean;
233
+ reservedPortion?: number;
234
+ disposableQuota?: number;
235
+ jurisdiction?: Jurisdiction2;
236
+ claimNature?: 'property_share' | 'cash_claim' | 'usufruct' | 'court_discretion';
237
+ calculationBasis?: 'fixed' | 'per_child_sliding' | 'court_discretion' | 'conditional';
238
+ applicableTo?: 'children_only' | 'children_and_spouse' | 'all_descendants' | 'all_heirs';
239
+ deferralRule?: string;
240
+ effectiveDate?: string;
241
+ reformVersion?: string;
242
+ notes?: string;
243
+ };
244
+ export type AdjudicatingBody = {
245
+ type: 'secular_court' | 'religious_court' | 'beth_din' | 'shariah_court' | 'tribal_court' | 'family_court' | 'family_council' | 'community_elders' | 'partition_meeting' | 'karta_decision' | 'maori_land_court' | 'high_court';
246
+ name?: string;
247
+ jurisdiction?: Jurisdiction2;
248
+ caseReference?: string;
249
+ authoritative?: boolean;
250
+ };
251
+ export type ParallelDistribution = {
252
+ system: string;
253
+ jurisdiction?: Jurisdiction2;
254
+ description?: string;
255
+ notes?: string;
256
+ };
257
+ export type ProbateGrant = {
258
+ grantType?: string;
259
+ grantDate?: string;
260
+ grantReference?: string;
261
+ issuingCourt?: string;
262
+ jurisdiction?: Jurisdiction2;
263
+ notes?: string;
264
+ };
265
+ export type DeathRecord = {
266
+ dateOfDeath?: string;
267
+ placeOfDeath?: string;
268
+ deathCertificateRef?: string;
269
+ domicileAtDeath?: Jurisdiction2;
270
+ notes?: string;
271
+ };
272
+ export type SuccessionConflict = {
273
+ description: string;
274
+ systems?: Array<string>;
275
+ resolutionStatus?: 'unresolved' | 'resolved' | 'pending_court' | 'pending_arbitration';
276
+ notes?: string;
277
+ };
278
+ /**
279
+ * Estate
280
+ *
281
+ * The root estate record — will, intestacy, or trust-based succession plan. Contains testator details, jurisdiction, will formalities, forced heirship, probate grants, death record, multi-jurisdiction administration, and tax treaty positions.
282
+ */
283
+ export type Estate2 = {
284
+ id: string;
285
+ testatorPersonId: string;
286
+ status: 'draft' | 'active' | 'locked' | 'archived';
287
+ jurisdiction: Jurisdiction2;
288
+ willType?: 'secular' | 'religious' | 'dual' | 'composite' | 'oral_witnessed' | 'oral_customary' | 'holographic' | 'notarised' | 'privileged_will';
289
+ extensionWillType?: string;
290
+ companionEstateId?: string;
291
+ primaryInstrument?: 'will' | 'revocable_trust' | 'both' | 'intestacy';
292
+ defaultPropertyRegime?: 'community_property' | 'separate_property' | 'equitable_distribution' | 'deferred_community' | 'universal_community' | 'participation_in_acquisitions' | 'islamic_dower';
293
+ totalEstimatedValue?: Money2;
294
+ attestation?: Attestation2;
295
+ testamentaryCapacity?: TestamentaryCapacity;
296
+ codicils?: Array<Codicil>;
297
+ revokesDocumentIds?: Array<string>;
298
+ revocationClause?: boolean;
299
+ forcedHeirship?: ForcedHeirship;
300
+ adjudicatingBodies?: Array<AdjudicatingBody>;
301
+ parallelDistributions?: Array<ParallelDistribution>;
302
+ probateGrant?: ProbateGrant;
303
+ deathRecord?: DeathRecord;
304
+ successionConflicts?: Array<SuccessionConflict>;
305
+ choiceOfLaw?: {
306
+ chosenLaw?: Jurisdiction2;
307
+ basis?: string;
308
+ documentRef?: string;
309
+ };
310
+ electiveShareRight?: {
311
+ available?: boolean;
312
+ electedAmount?: Money2;
313
+ statute?: string;
314
+ notes?: string;
315
+ };
316
+ priorMatrimonialClaim?: {
317
+ exists?: boolean;
318
+ description?: string;
319
+ claimantPersonId?: string;
320
+ notes?: string;
321
+ };
322
+ noContestClause?: {
323
+ present?: boolean;
324
+ enforceability?: string;
325
+ notes?: string;
326
+ };
327
+ pretermittedHeirClaims?: Array<{
328
+ claimantPersonId?: string;
329
+ status?: string;
330
+ notes?: string;
331
+ }>;
332
+ testamentaryPromises?: Array<{
333
+ claimantPersonId?: string;
334
+ promiseDescription?: string;
335
+ status?: string;
336
+ notes?: string;
337
+ }>;
338
+ judicialVariationPower?: {
339
+ available?: boolean;
340
+ statute?: string;
341
+ notes?: string;
342
+ };
343
+ commorientesRule?: {
344
+ applicable?: boolean;
345
+ rule?: string;
346
+ jurisdiction?: Jurisdiction2;
347
+ notes?: string;
348
+ };
349
+ ancillaryProbate?: Array<{
350
+ jurisdiction: Jurisdiction2;
351
+ fiduciaryPersonId?: string;
352
+ status?: 'not_started' | 'applied' | 'granted' | 'completed' | 'waived';
353
+ grantReference?: string;
354
+ localCounsel?: string;
355
+ notes?: string;
356
+ }>;
357
+ registrations?: Array<{
358
+ registry: string;
359
+ registrationNumber?: string;
360
+ jurisdictionScope?: string;
361
+ registrationDate?: string;
362
+ }>;
363
+ reportingCurrency?: string;
364
+ conversionRates?: Array<{
365
+ fromCurrency: string;
366
+ toCurrency: string;
367
+ rate: number;
368
+ rateDate: string;
369
+ source?: string;
370
+ }>;
371
+ taxTreatyPositions?: Array<{
372
+ treaty: string;
373
+ primaryTaxingJurisdiction?: Jurisdiction2;
374
+ claimedCredits?: string;
375
+ relevantArticle?: string;
376
+ notes?: string;
377
+ }>;
378
+ suggestedPractitionerNeeds?: Array<string>;
379
+ createdAt: string;
380
+ lastModifiedAt: string;
381
+ notes?: string;
382
+ [key: string]: unknown | string | 'draft' | 'active' | 'locked' | 'archived' | Jurisdiction2 | 'secular' | 'religious' | 'dual' | 'composite' | 'oral_witnessed' | 'oral_customary' | 'holographic' | 'notarised' | 'privileged_will' | string | 'will' | 'revocable_trust' | 'both' | 'intestacy' | 'community_property' | 'separate_property' | 'equitable_distribution' | 'deferred_community' | 'universal_community' | 'participation_in_acquisitions' | 'islamic_dower' | Money2 | Attestation2 | TestamentaryCapacity | Array<Codicil> | Array<string> | boolean | ForcedHeirship | Array<AdjudicatingBody> | Array<ParallelDistribution> | ProbateGrant | DeathRecord | Array<SuccessionConflict> | {
383
+ chosenLaw?: Jurisdiction2;
384
+ basis?: string;
385
+ documentRef?: string;
386
+ } | {
387
+ available?: boolean;
388
+ electedAmount?: Money2;
389
+ statute?: string;
390
+ notes?: string;
391
+ } | {
392
+ exists?: boolean;
393
+ description?: string;
394
+ claimantPersonId?: string;
395
+ notes?: string;
396
+ } | {
397
+ present?: boolean;
398
+ enforceability?: string;
399
+ notes?: string;
400
+ } | Array<{
401
+ claimantPersonId?: string;
402
+ status?: string;
403
+ notes?: string;
404
+ }> | Array<{
405
+ claimantPersonId?: string;
406
+ promiseDescription?: string;
407
+ status?: string;
408
+ notes?: string;
409
+ }> | {
410
+ available?: boolean;
411
+ statute?: string;
412
+ notes?: string;
413
+ } | {
414
+ applicable?: boolean;
415
+ rule?: string;
416
+ jurisdiction?: Jurisdiction2;
417
+ notes?: string;
418
+ } | Array<{
419
+ jurisdiction: Jurisdiction2;
420
+ fiduciaryPersonId?: string;
421
+ status?: 'not_started' | 'applied' | 'granted' | 'completed' | 'waived';
422
+ grantReference?: string;
423
+ localCounsel?: string;
424
+ notes?: string;
425
+ }> | Array<{
426
+ registry: string;
427
+ registrationNumber?: string;
428
+ jurisdictionScope?: string;
429
+ registrationDate?: string;
430
+ }> | string | Array<{
431
+ fromCurrency: string;
432
+ toCurrency: string;
433
+ rate: number;
434
+ rateDate: string;
435
+ source?: string;
436
+ }> | Array<{
437
+ treaty: string;
438
+ primaryTaxingJurisdiction?: Jurisdiction2;
439
+ claimedCredits?: string;
440
+ relevantArticle?: string;
441
+ notes?: string;
442
+ }> | Array<string> | string | undefined;
443
+ };
444
+ /**
445
+ * PostalAddress
446
+ *
447
+ * A physical address. Culturally neutral — supports any global addressing convention.
448
+ */
449
+ export type Address2 = {
450
+ /**
451
+ * Street number and name
452
+ */
453
+ streetAddress?: string;
454
+ /**
455
+ * Flat, suite, building, floor
456
+ */
457
+ addressLine2?: string;
458
+ /**
459
+ * City, town, village, or ward
460
+ */
461
+ addressLocality?: string;
462
+ /**
463
+ * State, prefecture, province, county
464
+ */
465
+ addressRegion?: string;
466
+ postalCode?: string;
467
+ /**
468
+ * ISO 3166-1 alpha-2
469
+ */
470
+ addressCountry?: string;
471
+ latitude?: number;
472
+ longitude?: number;
473
+ landmark?: string;
474
+ directionNotes?: string;
475
+ addressOrder?: 'western' | 'japanese' | 'indian' | 'arabic' | 'custom';
476
+ };
477
+ /**
478
+ * Identifier
479
+ *
480
+ * A typed external identifier. Use 'system' to namespace (e.g. 'urn:hmrc:nino').
481
+ */
482
+ export type Identifier2 = {
483
+ /**
484
+ * Namespace URI or name
485
+ */
486
+ system?: string;
487
+ /**
488
+ * The identifier value
489
+ */
490
+ value: string;
491
+ /**
492
+ * Type label (e.g. 'passport', 'national_insurance', 'charity_number')
493
+ */
494
+ type?: string;
495
+ };
496
+ /**
497
+ * Person
498
+ *
499
+ * A person involved in the estate. Schema.org name alignment. Any Unicode script. Supports CJK phonetic readings, chieftaincy titles, clan/lineage identifiers, dual legal personalities, and tax residency across multiple jurisdictions.
500
+ */
501
+ export type Person2 = {
502
+ id: string;
503
+ /**
504
+ * First/given name (Schema.org: givenName)
505
+ */
506
+ givenName: string;
507
+ /**
508
+ * Last/family/surname (Schema.org: familyName)
509
+ */
510
+ familyName?: string;
511
+ /**
512
+ * Middle name(s) (Schema.org: additionalName)
513
+ */
514
+ additionalName?: string;
515
+ /**
516
+ * Name the person prefers to be called
517
+ */
518
+ preferredName?: string;
519
+ phoneticReading?: {
520
+ givenName?: string;
521
+ familyName?: string;
522
+ fullName?: string;
523
+ };
524
+ titles?: Array<{
525
+ title: string;
526
+ type?: 'chieftaincy' | 'traditional' | 'religious' | 'professional' | 'honorific' | 'clan' | 'academic' | 'military' | 'other';
527
+ }>;
528
+ clanOrLineage?: string;
529
+ /**
530
+ * ISO 8601 date of birth
531
+ */
532
+ dateOfBirth?: string;
533
+ /**
534
+ * ISO 8601 date of death (if deceased)
535
+ */
536
+ dateOfDeath?: string;
537
+ gender?: 'male' | 'female' | 'non_binary' | 'other' | 'prefer_not_to_say' | 'unknown';
538
+ domicile?: Jurisdiction2;
539
+ roles: Array<'testator' | 'beneficiary' | 'executor' | 'guardian' | 'trustee' | 'witness' | 'attorney' | 'proxy' | 'protector' | 'enforcer'>;
540
+ contact?: {
541
+ email?: string;
542
+ /**
543
+ * Phone number (E.164 recommended)
544
+ */
545
+ phone?: string;
546
+ address?: Address2;
547
+ };
548
+ /**
549
+ * External identifiers (passport, national ID, etc.)
550
+ */
551
+ identifiers?: Array<Identifier2>;
552
+ ritualName?: {
553
+ /**
554
+ * The full ritual/religious name
555
+ */
556
+ name: string;
557
+ /**
558
+ * Patronymic element (ben/bat, ibn/bint, etc.)
559
+ */
560
+ patronymic?: string;
561
+ /**
562
+ * Naming tradition: hebrew, arabic_nasab, hindu, buddhist, etc.
563
+ */
564
+ nameSystem?: string;
565
+ };
566
+ legalPersonalities?: Array<{
567
+ system: 'statutory' | 'customary' | 'religious' | 'traditional';
568
+ role: string;
569
+ jurisdiction?: Jurisdiction2;
570
+ notes?: string;
571
+ }>;
572
+ taxResidency?: Array<{
573
+ jurisdiction: Jurisdiction2;
574
+ taxpayerIdentifier?: string;
575
+ treatyPosition?: string;
576
+ fatcaStatus?: 'us_person' | 'non_us_person' | 'exempt' | 'unknown';
577
+ }>;
578
+ /**
579
+ * BCP 47 language tag for preferred language
580
+ */
581
+ language?: string;
582
+ notes?: string;
583
+ [key: string]: unknown | string | string | string | {
584
+ givenName?: string;
585
+ familyName?: string;
586
+ fullName?: string;
587
+ } | Array<{
588
+ title: string;
589
+ type?: 'chieftaincy' | 'traditional' | 'religious' | 'professional' | 'honorific' | 'clan' | 'academic' | 'military' | 'other';
590
+ }> | string | 'male' | 'female' | 'non_binary' | 'other' | 'prefer_not_to_say' | 'unknown' | Jurisdiction2 | Array<'testator' | 'beneficiary' | 'executor' | 'guardian' | 'trustee' | 'witness' | 'attorney' | 'proxy' | 'protector' | 'enforcer'> | {
591
+ email?: string;
592
+ /**
593
+ * Phone number (E.164 recommended)
594
+ */
595
+ phone?: string;
596
+ address?: Address2;
597
+ } | Array<Identifier2> | {
598
+ /**
599
+ * The full ritual/religious name
600
+ */
601
+ name: string;
602
+ /**
603
+ * Patronymic element (ben/bat, ibn/bint, etc.)
604
+ */
605
+ patronymic?: string;
606
+ /**
607
+ * Naming tradition: hebrew, arabic_nasab, hindu, buddhist, etc.
608
+ */
609
+ nameSystem?: string;
610
+ } | Array<{
611
+ system: 'statutory' | 'customary' | 'religious' | 'traditional';
612
+ role: string;
613
+ jurisdiction?: Jurisdiction2;
614
+ notes?: string;
615
+ }> | Array<{
616
+ jurisdiction: Jurisdiction2;
617
+ taxpayerIdentifier?: string;
618
+ treatyPosition?: string;
619
+ fatcaStatus?: 'us_person' | 'non_us_person' | 'exempt' | 'unknown';
620
+ }> | undefined;
621
+ };
622
+ /**
623
+ * Kinship
624
+ *
625
+ * A familial bond between two people. Essential for intestacy calculation — inheritance rules in every jurisdiction depend on parent-child, sibling, and other familial relationships. Direction: fromPersonId is the parent/elder, toPersonId is the child/younger (for parent-child types). Indian extensions may add PARENT_CHILD_COPARCENARY, KARTA_MEMBER. See extensions/india-hindu.json.
626
+ */
627
+ export type Kinship2 = {
628
+ id: string;
629
+ type: 'PARENT_CHILD_BIOLOGICAL' | 'PARENT_CHILD_ADOPTED' | 'PARENT_CHILD_STEP' | 'PARENT_CHILD_FOSTER' | 'PARENT_CHILD_ACKNOWLEDGED' | 'SIBLING' | 'HALF_SIBLING_PATERNAL' | 'HALF_SIBLING_MATERNAL' | 'STEP_SIBLING' | 'GRANDPARENT_GRANDCHILD' | 'UNCLE_NEPHEW' | 'AUNT_NEPHEW';
630
+ /**
631
+ * Parent/elder person in the kinship (Person.id)
632
+ */
633
+ fromPersonId: string;
634
+ /**
635
+ * Child/younger person in the kinship (Person.id)
636
+ */
637
+ toPersonId: string;
638
+ /**
639
+ * Legal recognition status of this familial bond
640
+ */
641
+ legalStatus?: 'recognised' | 'contested' | 'pending' | 'unrecognised';
642
+ legitimacy?: 'legitimate' | 'illegitimate' | 'legitimated' | 'not_applicable';
643
+ /**
644
+ * Date of adoption order (for PARENT_CHILD_ADOPTED)
645
+ */
646
+ adoptionDate?: string;
647
+ /**
648
+ * Court order or adoption certificate reference
649
+ */
650
+ courtOrderRef?: string;
651
+ notes?: string;
652
+ [key: string]: unknown | string | 'PARENT_CHILD_BIOLOGICAL' | 'PARENT_CHILD_ADOPTED' | 'PARENT_CHILD_STEP' | 'PARENT_CHILD_FOSTER' | 'PARENT_CHILD_ACKNOWLEDGED' | 'SIBLING' | 'HALF_SIBLING_PATERNAL' | 'HALF_SIBLING_MATERNAL' | 'STEP_SIBLING' | 'GRANDPARENT_GRANDCHILD' | 'UNCLE_NEPHEW' | 'AUNT_NEPHEW' | 'recognised' | 'contested' | 'pending' | 'unrecognised' | 'legitimate' | 'illegitimate' | 'legitimated' | 'not_applicable' | string | string | undefined;
653
+ };
654
+ export type Partner = {
655
+ /**
656
+ * Reference to a Person.id
657
+ */
658
+ personId: string;
659
+ /**
660
+ * Optional non-gendered label (e.g. 'First Wife', 'Partner A')
661
+ */
662
+ displayLabel?: string;
663
+ /**
664
+ * Position in partner list (1-based)
665
+ */
666
+ ordinal: number;
667
+ };
668
+ export type RelationshipEvent = {
669
+ type: 'CEREMONY' | 'REGISTRATION' | 'ENGAGEMENT' | 'MARRIAGE_CONTRACT' | 'PROPERTY_REGIME_CHANGE' | 'SEPARATION_INFORMAL' | 'SEPARATION_LEGAL' | 'DIVORCE_FILED' | 'DIVORCE_FINALISED' | 'FINANCIAL_ORDER' | 'ANNULMENT' | 'DISSOLUTION' | 'DEATH_OF_PARTNER' | 'RECONCILIATION' | 'VOID_DECLARATION' | 'MAHR_PAYMENT' | 'LOBOLA_PAYMENT';
670
+ /**
671
+ * ISO 8601 date
672
+ */
673
+ date: string;
674
+ jurisdiction?: Jurisdiction2;
675
+ notes?: string;
676
+ };
677
+ export type JurisdictionalRecognition = {
678
+ jurisdiction: Jurisdiction2;
679
+ recognised: boolean;
680
+ /**
681
+ * What this jurisdiction recognises it as (if different)
682
+ */
683
+ recognisedAs?: string;
684
+ notes?: string;
685
+ };
686
+ export type FinancialInstrument = unknown & {
687
+ type: 'MAHR' | 'KETUBAH' | 'LOBOLA' | 'PRENUPTIAL_AGREEMENT' | 'POSTNUPTIAL_AGREEMENT' | 'MARRIAGE_SETTLEMENT';
688
+ value?: Money2;
689
+ status?: 'AGREED' | 'PAID' | 'PARTIALLY_PAID' | 'DEFERRED' | 'DISPUTED' | 'WAIVED';
690
+ description?: string;
691
+ /**
692
+ * Reference to a Document.id
693
+ */
694
+ documentRef?: string;
695
+ date?: string;
696
+ /**
697
+ * How this affects inheritance distribution
698
+ */
699
+ inheritanceImpact?: string;
700
+ maharDetails?: {
701
+ maharType?: 'prompt' | 'deferred' | 'combination';
702
+ recipientPersonId?: string;
703
+ linkedLiabilityId?: string;
704
+ };
705
+ ketubahDetails?: {
706
+ principalAmount?: Money2;
707
+ tosefetAmount?: Money2;
708
+ nedunya?: Money2;
709
+ brideStatus?: 'virgin' | 'widow' | 'divorcee';
710
+ witnessPersonIds?: Array<string>;
711
+ officiatingRabbi?: string;
712
+ };
713
+ lobolaDetails?: {
714
+ negotiatedWith?: string;
715
+ includesLivestock?: boolean;
716
+ livestockCount?: number;
717
+ };
718
+ };
719
+ /**
720
+ * Relationship
721
+ *
722
+ * Spousal/partnership relationship. N-partner support (no structural two-partner limit). Event-based timeline (status derived from events). No gendered role names. Financial instruments with MAHR/KETUBAH subtype validation. Cross-jurisdiction recognition for dual civil/religious status.
723
+ */
724
+ export type Relationship2 = {
725
+ id: string;
726
+ type: 'MARRIAGE_CIVIL' | 'MARRIAGE_RELIGIOUS' | 'MARRIAGE_CUSTOMARY' | 'MARRIAGE_COMMON_LAW' | 'CIVIL_PARTNERSHIP' | 'CIVIL_UNION' | 'DOMESTIC_PARTNERSHIP' | 'DE_FACTO' | 'COHABITATION' | 'ENGAGEMENT';
727
+ religiousSubtype?: string;
728
+ /**
729
+ * How the parties themselves describe this relationship
730
+ */
731
+ selfDeclaredType?: string;
732
+ /**
733
+ * The people in this relationship. Minimum 2, no structural upper limit.
734
+ */
735
+ partners: Array<Partner>;
736
+ /**
737
+ * Chronological events determining relationship status
738
+ */
739
+ events?: Array<RelationshipEvent>;
740
+ currentStatus?: 'ACTIVE' | 'SEPARATED_INFORMAL' | 'SEPARATED_LEGAL' | 'DIVORCED' | 'ANNULLED' | 'DISSOLVED' | 'WIDOWED' | 'VOID' | 'PUTATIVE';
741
+ /**
742
+ * Primary jurisdiction where this relationship was formed
743
+ */
744
+ jurisdiction?: Jurisdiction2;
745
+ /**
746
+ * How other jurisdictions recognise (or don't) this relationship
747
+ */
748
+ jurisdictionalRecognition?: Array<JurisdictionalRecognition>;
749
+ /**
750
+ * Mahr, ketubah, lobola, prenuptial agreements, etc.
751
+ */
752
+ financialInstruments?: Array<FinancialInstrument>;
753
+ /**
754
+ * The marital property regime
755
+ */
756
+ propertyRegime?: 'COMMUNITY_OF_PROPERTY' | 'SEPARATION_OF_PROPERTY' | 'COMMUNITY_OF_ACQUESTS' | 'DEFERRED_COMMUNITY' | 'SEPARATE_AS_MODIFIED' | 'ISLAMIC_DOWER' | 'US_COMMUNITY_PROPERTY' | 'US_COMMUNITY_WITH_SURVIVORSHIP' | 'US_QUASI_COMMUNITY' | 'HINDU_SEPARATE';
757
+ notes?: string;
758
+ [key: string]: unknown | string | 'MARRIAGE_CIVIL' | 'MARRIAGE_RELIGIOUS' | 'MARRIAGE_CUSTOMARY' | 'MARRIAGE_COMMON_LAW' | 'CIVIL_PARTNERSHIP' | 'CIVIL_UNION' | 'DOMESTIC_PARTNERSHIP' | 'DE_FACTO' | 'COHABITATION' | 'ENGAGEMENT' | string | Array<Partner> | Array<RelationshipEvent> | 'ACTIVE' | 'SEPARATED_INFORMAL' | 'SEPARATED_LEGAL' | 'DIVORCED' | 'ANNULLED' | 'DISSOLVED' | 'WIDOWED' | 'VOID' | 'PUTATIVE' | Jurisdiction2 | Array<JurisdictionalRecognition> | Array<FinancialInstrument> | 'COMMUNITY_OF_PROPERTY' | 'SEPARATION_OF_PROPERTY' | 'COMMUNITY_OF_ACQUESTS' | 'DEFERRED_COMMUNITY' | 'SEPARATE_AS_MODIFIED' | 'ISLAMIC_DOWER' | 'US_COMMUNITY_PROPERTY' | 'US_COMMUNITY_WITH_SURVIVORSHIP' | 'US_QUASI_COMMUNITY' | 'HINDU_SEPARATE' | undefined;
759
+ };
760
+ /**
761
+ * Property
762
+ *
763
+ * Real estate. Supports individual ownership, communal/family property (Nigeria), HUF coparcenary (India), government-vested land (Land Use Act), US community property, and informal/unregistered holdings.
764
+ */
765
+ export type Property2 = {
766
+ id: string;
767
+ /**
768
+ * Display name (e.g. 'Family Home', '42 Acacia Avenue')
769
+ */
770
+ name: string;
771
+ propertyType?: 'detached_house' | 'semi_detached_house' | 'terraced_house' | 'flat' | 'maisonette' | 'bungalow' | 'cottage' | 'farmhouse' | 'barn_conversion' | 'land' | 'commercial' | 'mixed_use' | 'houseboat' | 'mobile_home' | 'other';
772
+ address?: Address2;
773
+ estimatedValue?: Money2;
774
+ professionalValuation?: Money2;
775
+ valuationDate?: string;
776
+ valuationConfidence?: 'estimated' | 'professional' | 'probate' | 'unknown';
777
+ isPrimaryResidence?: boolean;
778
+ ownershipType?: 'sole' | 'joint_tenants' | 'tenants_in_common' | 'trust' | 'tenancy_by_entirety';
779
+ ownershipPercentage?: number;
780
+ ownershipModel?: 'individual' | 'joint' | 'communal_family' | 'huf_coparcenary' | 'tribal' | 'government_vested' | 'trust_held';
781
+ acquisitionType?: 'self_acquired' | 'ancestral_joint' | 'ancestral_severed' | 'inherited' | 'gifted' | 'stridhan' | 'communal' | 'waqf_endowed';
782
+ tenureType?: 'freehold' | 'leasehold' | 'certificate_of_occupancy' | 'customary_right_of_occupancy' | 'communal' | 'government_allocated' | 'traditional_authority_granted' | 'informal_unregistered';
783
+ registrationStatus?: 'formally_registered' | 'informally_held' | 'community_acknowledged' | 'disputed' | 'undocumented';
784
+ ownershipEvidence?: 'title_deed' | 'certificate_of_occupancy' | 'family_recognition' | 'community_testimony' | 'receipts_only' | 'none';
785
+ applicableSuccessionLaw?: {
786
+ jurisdiction: Jurisdiction2;
787
+ lawName?: string;
788
+ section?: string;
789
+ };
790
+ custodianPersonId?: string;
791
+ successionRule?: 'testamentary' | 'intestacy' | 'customary_eldest_son' | 'customary_family_council' | 'customary_matrilineal' | 'survivorship' | 'not_individually_bequeathable';
792
+ governmentConsentRequired?: boolean;
793
+ mobilityType?: 'immoveable' | 'moveable' | 'mixed';
794
+ mortgageOutstanding?: Money2;
795
+ characterClassification?: 'community' | 'separate' | 'quasi_community' | 'mixed' | 'not_applicable';
796
+ homesteadStatus?: {
797
+ isHomestead?: boolean;
798
+ exemptionAmount?: Money2;
799
+ exemptionUnlimited?: boolean;
800
+ deviseRestriction?: boolean;
801
+ notes?: string;
802
+ };
803
+ passesOutsideEstate?: boolean;
804
+ statutoryLifeEstate?: {
805
+ beneficiaryPersonId?: string;
806
+ basis?: string;
807
+ conditions?: string;
808
+ };
809
+ notes?: string;
810
+ [key: string]: unknown | string | string | 'detached_house' | 'semi_detached_house' | 'terraced_house' | 'flat' | 'maisonette' | 'bungalow' | 'cottage' | 'farmhouse' | 'barn_conversion' | 'land' | 'commercial' | 'mixed_use' | 'houseboat' | 'mobile_home' | 'other' | Address2 | Money2 | string | 'estimated' | 'professional' | 'probate' | 'unknown' | boolean | 'sole' | 'joint_tenants' | 'tenants_in_common' | 'trust' | 'tenancy_by_entirety' | number | 'individual' | 'joint' | 'communal_family' | 'huf_coparcenary' | 'tribal' | 'government_vested' | 'trust_held' | 'self_acquired' | 'ancestral_joint' | 'ancestral_severed' | 'inherited' | 'gifted' | 'stridhan' | 'communal' | 'waqf_endowed' | 'freehold' | 'leasehold' | 'certificate_of_occupancy' | 'customary_right_of_occupancy' | 'communal' | 'government_allocated' | 'traditional_authority_granted' | 'informal_unregistered' | 'formally_registered' | 'informally_held' | 'community_acknowledged' | 'disputed' | 'undocumented' | 'title_deed' | 'certificate_of_occupancy' | 'family_recognition' | 'community_testimony' | 'receipts_only' | 'none' | {
811
+ jurisdiction: Jurisdiction2;
812
+ lawName?: string;
813
+ section?: string;
814
+ } | 'testamentary' | 'intestacy' | 'customary_eldest_son' | 'customary_family_council' | 'customary_matrilineal' | 'survivorship' | 'not_individually_bequeathable' | 'immoveable' | 'moveable' | 'mixed' | 'community' | 'separate' | 'quasi_community' | 'mixed' | 'not_applicable' | {
815
+ isHomestead?: boolean;
816
+ exemptionAmount?: Money2;
817
+ exemptionUnlimited?: boolean;
818
+ deviseRestriction?: boolean;
819
+ notes?: string;
820
+ } | {
821
+ beneficiaryPersonId?: string;
822
+ basis?: string;
823
+ conditions?: string;
824
+ } | string | undefined;
825
+ };
826
+ export type Photo = {
827
+ url: string;
828
+ caption?: string;
829
+ };
830
+ /**
831
+ * Asset
832
+ *
833
+ * A non-property asset: financial accounts, personal property, vehicles, digital assets, business interests, Islamic finance instruments, etc.
834
+ */
835
+ export type Asset2 = {
836
+ id: string;
837
+ /**
838
+ * Display name for this asset
839
+ */
840
+ name: string;
841
+ category: 'bank_account' | 'savings_account' | 'investment' | 'pension' | 'shares' | 'premium_bonds' | 'cryptocurrency' | 'insurance' | 'vehicle' | 'jewellery' | 'art' | 'antiques' | 'collectibles' | 'furniture' | 'electronics' | 'musical_instruments' | 'books' | 'clothing' | 'kitchenware' | 'sports_equipment' | 'firearms' | 'wine_and_spirits' | 'tools' | 'garden_and_outdoor' | 'business_interest' | 'intellectual_property' | 'domain_name' | 'social_media_account' | 'digital_subscription' | 'sukuk' | 'takaful' | 'islamic_deposit' | 'other';
842
+ subcategory?: string;
843
+ estimatedValue?: Money2;
844
+ professionalValuation?: Money2;
845
+ valuationDate?: string;
846
+ valuationConfidence?: 'estimated' | 'professional' | 'probate' | 'unknown';
847
+ condition?: 'excellent' | 'good' | 'fair' | 'poor' | 'unknown' | 'not_applicable';
848
+ quantity?: number;
849
+ /**
850
+ * Where this asset is stored or held
851
+ */
852
+ location?: string;
853
+ /**
854
+ * Reference to a Property.id if located at a property
855
+ */
856
+ propertyId?: string;
857
+ /**
858
+ * Serial numbers, account numbers, policy refs, etc.
859
+ */
860
+ identifiers?: Array<Identifier2>;
861
+ photos?: Array<Photo>;
862
+ possessionStatus?: 'possessed_at_death' | 'receivable' | 'contingent';
863
+ mobilityType?: 'immoveable' | 'moveable' | 'mixed';
864
+ acquisitionType?: 'self_acquired' | 'ancestral_joint' | 'ancestral_severed' | 'inherited' | 'gifted' | 'stridhan' | 'communal' | 'waqf_endowed';
865
+ registrationStatus?: 'formally_registered' | 'informally_held' | 'community_acknowledged' | 'disputed' | 'undocumented';
866
+ ownershipEvidence?: 'title_deed' | 'certificate_of_occupancy' | 'family_recognition' | 'community_testimony' | 'receipts_only' | 'none';
867
+ applicableSuccessionLaw?: {
868
+ jurisdiction: Jurisdiction2;
869
+ lawName?: string;
870
+ section?: string;
871
+ };
872
+ beneficiaryDesignation?: {
873
+ primaryBeneficiaryPersonIds?: Array<string>;
874
+ contingentBeneficiaryPersonIds?: Array<string>;
875
+ designationType?: 'retirement_account' | 'life_insurance' | 'superannuation' | 'pod_account' | 'other';
876
+ linkedNonprobateTransferId?: string;
877
+ };
878
+ digitalAccessConsent?: {
879
+ consentGiven?: boolean;
880
+ scope?: 'full_access' | 'limited_access' | 'no_access';
881
+ designatedRecipientPersonId?: string;
882
+ onlineToolDirective?: boolean;
883
+ };
884
+ passesOutsideEstate?: boolean;
885
+ notes?: string;
886
+ [key: string]: unknown | string | string | 'bank_account' | 'savings_account' | 'investment' | 'pension' | 'shares' | 'premium_bonds' | 'cryptocurrency' | 'insurance' | 'vehicle' | 'jewellery' | 'art' | 'antiques' | 'collectibles' | 'furniture' | 'electronics' | 'musical_instruments' | 'books' | 'clothing' | 'kitchenware' | 'sports_equipment' | 'firearms' | 'wine_and_spirits' | 'tools' | 'garden_and_outdoor' | 'business_interest' | 'intellectual_property' | 'domain_name' | 'social_media_account' | 'digital_subscription' | 'sukuk' | 'takaful' | 'islamic_deposit' | 'other' | string | Money2 | string | 'estimated' | 'professional' | 'probate' | 'unknown' | 'excellent' | 'good' | 'fair' | 'poor' | 'unknown' | 'not_applicable' | number | Array<Identifier2> | Array<Photo> | 'possessed_at_death' | 'receivable' | 'contingent' | 'immoveable' | 'moveable' | 'mixed' | 'self_acquired' | 'ancestral_joint' | 'ancestral_severed' | 'inherited' | 'gifted' | 'stridhan' | 'communal' | 'waqf_endowed' | 'formally_registered' | 'informally_held' | 'community_acknowledged' | 'disputed' | 'undocumented' | 'title_deed' | 'certificate_of_occupancy' | 'family_recognition' | 'community_testimony' | 'receipts_only' | 'none' | {
887
+ jurisdiction: Jurisdiction2;
888
+ lawName?: string;
889
+ section?: string;
890
+ } | {
891
+ primaryBeneficiaryPersonIds?: Array<string>;
892
+ contingentBeneficiaryPersonIds?: Array<string>;
893
+ designationType?: 'retirement_account' | 'life_insurance' | 'superannuation' | 'pod_account' | 'other';
894
+ linkedNonprobateTransferId?: string;
895
+ } | {
896
+ consentGiven?: boolean;
897
+ scope?: 'full_access' | 'limited_access' | 'no_access';
898
+ designatedRecipientPersonId?: string;
899
+ onlineToolDirective?: boolean;
900
+ } | boolean | undefined;
901
+ };
902
+ /**
903
+ * Liability
904
+ *
905
+ * A debt or financial obligation. Includes mortgages, loans, credit cards, and cultural obligations (mahr, ketubah debt, lobola) that are priority debts in certain jurisdictions.
906
+ */
907
+ export type Liability2 = {
908
+ id: string;
909
+ type: 'mortgage' | 'personal_loan' | 'credit_card' | 'overdraft' | 'student_loan' | 'car_finance' | 'hire_purchase' | 'mahr' | 'ketubah_debt' | 'lobola' | 'tax_liability' | 'funeral_costs' | 'care_fees' | 'mezonot' | 'other';
910
+ /**
911
+ * Name of the creditor or institution
912
+ */
913
+ creditor?: string;
914
+ /**
915
+ * Outstanding balance
916
+ */
917
+ amount: Money2;
918
+ /**
919
+ * Reference to a Property.id or Asset.id this liability is secured against
920
+ */
921
+ securedAgainst?: string;
922
+ monthlyPayment?: Money2;
923
+ /**
924
+ * Annual interest rate as percentage (e.g. 4.5 = 4.5%)
925
+ */
926
+ interestRate?: number;
927
+ startDate?: string;
928
+ endDate?: string;
929
+ /**
930
+ * Account or reference number
931
+ */
932
+ accountReference?: string;
933
+ notes?: string;
934
+ [key: string]: unknown | string | 'mortgage' | 'personal_loan' | 'credit_card' | 'overdraft' | 'student_loan' | 'car_finance' | 'hire_purchase' | 'mahr' | 'ketubah_debt' | 'lobola' | 'tax_liability' | 'funeral_costs' | 'care_fees' | 'mezonot' | 'other' | string | Money2 | number | string | undefined;
935
+ };
936
+ export type BeneficiaryOrganisation = {
937
+ name: string;
938
+ type: 'charity' | 'company' | 'unincorporated_association' | 'trust' | 'other';
939
+ registrationNumber?: string;
940
+ jurisdiction?: Jurisdiction2;
941
+ };
942
+ export type LifeInterest = {
943
+ tenantForLifeId: string;
944
+ remaindermanId?: string;
945
+ remaindermanClassDefinition?: string;
946
+ interestType: 'use_and_income' | 'income_only' | 'use_only' | 'protective' | 'right_of_residence';
947
+ };
948
+ export type Substitution = {
949
+ beneficiaryId?: string;
950
+ classDefinition?: string;
951
+ beneficiaryOrganisation?: BeneficiaryOrganisation;
952
+ condition?: string;
953
+ perStirpes?: boolean;
954
+ };
955
+ export type PostDeathAction = {
956
+ type: 'disclaimer' | 'deed_of_variation' | 'appropriation' | 'assent';
957
+ date?: string;
958
+ description?: string;
959
+ documentId?: string;
960
+ };
961
+ export type InheritanceResponse = {
962
+ response: 'accepted' | 'renounced' | 'qualified_acceptance' | 'pending';
963
+ responseDate?: string;
964
+ responsePersonId?: string;
965
+ courtFiled?: boolean;
966
+ deadlineDate?: string;
967
+ };
968
+ /**
969
+ * Bequest
970
+ *
971
+ * A disposition of property or money in a will. Supports 7 core types (specific, pecuniary, demonstrative, general, residuary, life_interest, class) and extension types via extensionType (e.g. wasiyya, halachic_matanah).
972
+ */
973
+ export type Bequest2 = unknown & {
974
+ id: string;
975
+ type: 'specific' | 'pecuniary' | 'demonstrative' | 'general' | 'residuary' | 'life_interest' | 'class';
976
+ extensionType?: string;
977
+ beneficiaryId?: string;
978
+ beneficiaryOrganisation?: BeneficiaryOrganisation;
979
+ classDefinition?: string;
980
+ lifeInterest?: LifeInterest;
981
+ amount?: Money2;
982
+ sharePercentage?: number;
983
+ description?: string;
984
+ sourceAssetId?: string;
985
+ conditions?: Array<string>;
986
+ substitutions?: Array<Substitution>;
987
+ hotchpot?: boolean;
988
+ distributionMethod?: 'per_capita' | 'per_stirpes' | 'modified_per_stirpes' | 'per_capita_at_each_generation' | 'halachic_yerusha';
989
+ predeceaseRule?: 'lapse' | 'per_stirpes' | 'substitution' | 'accrual' | 'statutory_default';
990
+ constrainedBy?: 'testamentary_freedom' | 'customary_rule' | 'forced_heirship' | 'religious_rule' | 'coparcenary_survivorship';
991
+ customaryOverride?: boolean;
992
+ postDeathActions?: Array<PostDeathAction>;
993
+ inheritanceResponse?: InheritanceResponse;
994
+ notes?: string;
995
+ [key: string]: unknown | string | 'specific' | 'pecuniary' | 'demonstrative' | 'general' | 'residuary' | 'life_interest' | 'class' | string | BeneficiaryOrganisation | LifeInterest | Money2 | number | Array<string> | Array<Substitution> | boolean | 'per_capita' | 'per_stirpes' | 'modified_per_stirpes' | 'per_capita_at_each_generation' | 'halachic_yerusha' | 'lapse' | 'per_stirpes' | 'substitution' | 'accrual' | 'statutory_default' | 'testamentary_freedom' | 'customary_rule' | 'forced_heirship' | 'religious_rule' | 'coparcenary_survivorship' | Array<PostDeathAction> | InheritanceResponse | undefined;
996
+ };
997
+ export type TrustAppointee = {
998
+ personId: string;
999
+ role: 'trustee' | 'protector' | 'enforcer';
1000
+ };
1001
+ export type TrustBeneficiary = {
1002
+ personId?: string;
1003
+ classDefinition?: string;
1004
+ organisationName?: string;
1005
+ interestType: 'income' | 'capital' | 'both' | 'discretionary';
1006
+ };
1007
+ /**
1008
+ * Trust
1009
+ *
1010
+ * A trust instrument — testamentary or inter vivos. Covers discretionary, bare, life interest, charitable, nil rate band, waqf (Islamic endowment), and offshore structures with governance features (reserved powers, flee clauses, protector powers).
1011
+ */
1012
+ export type Trust2 = {
1013
+ id: string;
1014
+ name: string;
1015
+ type: 'discretionary' | 'life_interest' | 'bare' | 'accumulation_and_maintenance' | 'disabled_persons' | 'charitable' | 'nil_rate_band' | 'waqf' | 'other';
1016
+ trustees: Array<TrustAppointee>;
1017
+ beneficiaries: Array<TrustBeneficiary>;
1018
+ settlor?: string;
1019
+ isTestamentary?: boolean;
1020
+ createdDate?: string;
1021
+ creationType?: 'testamentary' | 'inter_vivos_revocable' | 'inter_vivos_irrevocable';
1022
+ revocability?: 'revocable' | 'irrevocable' | 'perpetual';
1023
+ perpetual?: boolean;
1024
+ vestingAge?: number;
1025
+ vestingDate?: string;
1026
+ vestingConditions?: Array<string>;
1027
+ contingentInterests?: Array<string>;
1028
+ trustPeriod?: string;
1029
+ governingLaw?: Jurisdiction2;
1030
+ reservedPowers?: Array<{
1031
+ powerType: 'investment' | 'distribution' | 'amendment' | 'revocation' | 'addition_of_beneficiaries' | 'removal_of_trustees' | 'change_of_governing_law';
1032
+ heldByPersonId?: string;
1033
+ conditions?: string;
1034
+ }>;
1035
+ fleeClause?: {
1036
+ present?: boolean;
1037
+ triggerEvents?: Array<string>;
1038
+ destinationJurisdiction?: Jurisdiction2;
1039
+ automaticOrDiscretionary?: 'automatic' | 'discretionary';
1040
+ };
1041
+ protectorPowers?: Array<{
1042
+ powerType: 'consent_to_distribution' | 'remove_trustee' | 'appoint_trustee' | 'change_governing_law' | 'veto_investment' | 'add_beneficiary' | 'exclude_beneficiary' | 'enforce_purpose';
1043
+ protectorPersonId: string;
1044
+ exerciseConditions?: string;
1045
+ }>;
1046
+ jurisdictionalRecognition?: Array<{
1047
+ jurisdiction: Jurisdiction2;
1048
+ recognised: boolean;
1049
+ recognisedAs?: string;
1050
+ hagueTrustConventionApplies?: boolean;
1051
+ notes?: string;
1052
+ }>;
1053
+ assetProtectionFeatures?: {
1054
+ selfSettled?: boolean;
1055
+ spendthriftClause?: boolean;
1056
+ fraudulentTransferLookback?: string;
1057
+ domesticationDate?: string;
1058
+ };
1059
+ notes?: string;
1060
+ [key: string]: unknown | string | string | 'discretionary' | 'life_interest' | 'bare' | 'accumulation_and_maintenance' | 'disabled_persons' | 'charitable' | 'nil_rate_band' | 'waqf' | 'other' | Array<TrustAppointee> | Array<TrustBeneficiary> | boolean | string | 'testamentary' | 'inter_vivos_revocable' | 'inter_vivos_irrevocable' | 'revocable' | 'irrevocable' | 'perpetual' | number | Array<string> | Array<string> | Jurisdiction2 | Array<{
1061
+ powerType: 'investment' | 'distribution' | 'amendment' | 'revocation' | 'addition_of_beneficiaries' | 'removal_of_trustees' | 'change_of_governing_law';
1062
+ heldByPersonId?: string;
1063
+ conditions?: string;
1064
+ }> | {
1065
+ present?: boolean;
1066
+ triggerEvents?: Array<string>;
1067
+ destinationJurisdiction?: Jurisdiction2;
1068
+ automaticOrDiscretionary?: 'automatic' | 'discretionary';
1069
+ } | Array<{
1070
+ powerType: 'consent_to_distribution' | 'remove_trustee' | 'appoint_trustee' | 'change_governing_law' | 'veto_investment' | 'add_beneficiary' | 'exclude_beneficiary' | 'enforce_purpose';
1071
+ protectorPersonId: string;
1072
+ exerciseConditions?: string;
1073
+ }> | Array<{
1074
+ jurisdiction: Jurisdiction2;
1075
+ recognised: boolean;
1076
+ recognisedAs?: string;
1077
+ hagueTrustConventionApplies?: boolean;
1078
+ notes?: string;
1079
+ }> | {
1080
+ selfSettled?: boolean;
1081
+ spendthriftClause?: boolean;
1082
+ fraudulentTransferLookback?: string;
1083
+ domesticationDate?: string;
1084
+ } | undefined;
1085
+ };
1086
+ /**
1087
+ * Executor
1088
+ *
1089
+ * A person appointed to administer an estate. Includes professional executors, administrators (intestacy), and administrators with will annexed.
1090
+ */
1091
+ export type Executor2 = {
1092
+ id: string;
1093
+ /**
1094
+ * Reference to a Person.id
1095
+ */
1096
+ personId: string;
1097
+ role: 'primary' | 'secondary' | 'substitute' | 'administrator' | 'administrator_with_will_annexed';
1098
+ isProfessional?: boolean;
1099
+ /**
1100
+ * Firm name if the executor is a professional (solicitor, accountant, trust corporation)
1101
+ */
1102
+ firmName?: string;
1103
+ grantType?: 'grant_of_probate' | 'letters_of_administration' | 'letters_of_administration_with_will_annexed' | 'resealing' | 'european_certificate_of_succession';
1104
+ grantDate?: string;
1105
+ grantReference?: string;
1106
+ issuingCourt?: string;
1107
+ notes?: string;
1108
+ [key: string]: unknown | string | 'primary' | 'secondary' | 'substitute' | 'administrator' | 'administrator_with_will_annexed' | boolean | string | 'grant_of_probate' | 'letters_of_administration' | 'letters_of_administration_with_will_annexed' | 'resealing' | 'european_certificate_of_succession' | string | undefined;
1109
+ };
1110
+ /**
1111
+ * Guardian
1112
+ *
1113
+ * A guardian appointment for a minor child. Supports testamentary, court-appointed, shariah court, community-appointed, and religious court appointments. Guardianship structures include individual, collective, rotating, and family council determined.
1114
+ */
1115
+ export type Guardian2 = {
1116
+ id: string;
1117
+ /**
1118
+ * Reference to the guardian Person.id
1119
+ */
1120
+ guardianPersonId: string;
1121
+ /**
1122
+ * Reference to the child Person.id
1123
+ */
1124
+ childPersonId: string;
1125
+ role: 'primary' | 'secondary' | 'substitute';
1126
+ appointmentType: 'testamentary' | 'parental_responsibility' | 'court_appointed' | 'shariah_court_appointed' | 'community_appointed' | 'religious_court_appointed';
1127
+ guardianshipStructure?: 'individual' | 'collective' | 'rotating' | 'family_council_determined';
1128
+ familyCouncilDecisionRef?: string;
1129
+ conditions?: string;
1130
+ notes?: string;
1131
+ [key: string]: unknown | string | 'primary' | 'secondary' | 'substitute' | 'testamentary' | 'parental_responsibility' | 'court_appointed' | 'shariah_court_appointed' | 'community_appointed' | 'religious_court_appointed' | 'individual' | 'collective' | 'rotating' | 'family_council_determined' | string | undefined;
1132
+ };
1133
+ /**
1134
+ * Wish
1135
+ *
1136
+ * A non-binding (or culturally/religiously binding) wish — funeral, letter of wishes, care instructions, pet care, digital estate, distribution preferences.
1137
+ */
1138
+ export type Wish2 = {
1139
+ id: string;
1140
+ type: 'funeral' | 'letter' | 'care' | 'distribution' | 'digital' | 'pets' | 'general';
1141
+ title: string;
1142
+ content?: string;
1143
+ bindingNature?: 'non_binding' | 'culturally_obligatory' | 'religiously_obligatory' | 'legally_binding';
1144
+ /**
1145
+ * Person this wish is addressed to
1146
+ */
1147
+ addresseePersonId?: string;
1148
+ /**
1149
+ * Asset this wish relates to
1150
+ */
1151
+ relatedAssetId?: string;
1152
+ notes?: string;
1153
+ [key: string]: unknown | string | 'funeral' | 'letter' | 'care' | 'distribution' | 'digital' | 'pets' | 'general' | string | 'non_binding' | 'culturally_obligatory' | 'religiously_obligatory' | 'legally_binding' | undefined;
1154
+ };
1155
+ /**
1156
+ * Document
1157
+ *
1158
+ * A document associated with an estate — wills, codicils, trust deeds, and religious documents (shtar_chov, ketubah_document, nikah_nama, etc.). Type is a free string (minLength 1) to accommodate jurisdiction-specific and religious document types.
1159
+ */
1160
+ export type Document2 = {
1161
+ id: string;
1162
+ type: string;
1163
+ title: string;
1164
+ fileFormat?: string;
1165
+ /**
1166
+ * Storage reference (e.g. S3 URI, file path, or external system reference)
1167
+ */
1168
+ storageRef?: string;
1169
+ fileSizeBytes?: number;
1170
+ mimeType?: string;
1171
+ createdDate?: string;
1172
+ notes?: string;
1173
+ [key: string]: unknown | string | string | string | number | string | undefined;
1174
+ };
1175
+ /**
1176
+ * Nonprobate Transfer
1177
+ *
1178
+ * Assets that pass outside the probate estate — revocable trusts, TOD deeds, POD accounts, JTWROS, beneficiary designations, superannuation/CPF/EPF nominations.
1179
+ */
1180
+ export type NonprobateTransfer2 = {
1181
+ id: string;
1182
+ type: 'revocable_trust' | 'tod_deed' | 'pod_account' | 'jtwros' | 'tenancy_by_entirety' | 'beneficiary_designation' | 'life_insurance_nomination' | 'superannuation_nomination' | 'cpf_nomination' | 'epf_nomination' | 'mandatory_savings_nomination';
1183
+ designationType?: string;
1184
+ description?: string;
1185
+ trustId?: string;
1186
+ propertyId?: string;
1187
+ assetIds?: Array<string>;
1188
+ beneficiaryPersonIds?: Array<string>;
1189
+ contingentBeneficiaryPersonIds?: Array<string>;
1190
+ survivingOwnerPersonIds?: Array<string>;
1191
+ passesOutsideEstate: boolean;
1192
+ bindingNomination?: boolean;
1193
+ nominationExpiryDate?: string;
1194
+ recordingReference?: string;
1195
+ jurisdiction?: Jurisdiction2;
1196
+ notes?: string;
1197
+ [key: string]: unknown | string | 'revocable_trust' | 'tod_deed' | 'pod_account' | 'jtwros' | 'tenancy_by_entirety' | 'beneficiary_designation' | 'life_insurance_nomination' | 'superannuation_nomination' | 'cpf_nomination' | 'epf_nomination' | 'mandatory_savings_nomination' | string | Array<string> | Array<string> | Array<string> | Array<string> | boolean | string | Jurisdiction2 | undefined;
1198
+ };
1199
+ export type ConsentRecord = {
1200
+ consentGiven: boolean;
1201
+ consentDate?: string;
1202
+ consentMethod?: 'in_person_verbal' | 'in_person_written' | 'video_recorded' | 'witnessed_verbal' | 'phone_recorded' | 'assumed_cultural_norm';
1203
+ witnesses?: Array<{
1204
+ personId: string;
1205
+ role?: string;
1206
+ witnessedDate?: string;
1207
+ }>;
1208
+ documentRef?: string;
1209
+ notes?: string;
1210
+ };
1211
+ /**
1212
+ * Proxy Authorisation
1213
+ *
1214
+ * Authorises a proxy to act on behalf of a testator — information gathering, communication, negotiation, or full decision-making. Includes consent record with cultural consent methods.
1215
+ */
1216
+ export type ProxyAuthorisation2 = {
1217
+ id: string;
1218
+ proxyPersonId: string;
1219
+ testatorPersonId: string;
1220
+ scope: 'full' | 'information_gathering' | 'communication' | 'negotiation' | 'decision_making';
1221
+ consentRecord: ConsentRecord;
1222
+ dealerNegotiationPermitted?: boolean;
1223
+ startDate?: string;
1224
+ expiryDate?: string;
1225
+ revocationDate?: string;
1226
+ auditTrailEnabled?: boolean;
1227
+ notes?: string;
1228
+ [key: string]: unknown | string | 'full' | 'information_gathering' | 'communication' | 'negotiation' | 'decision_making' | ConsentRecord | boolean | string | string | undefined;
1229
+ };
1230
+ export type InterestedParty = {
1231
+ personId?: string;
1232
+ name: string;
1233
+ type: 'art_dealer' | 'antique_dealer' | 'property_investor' | 'auction_house' | 'gallery' | 'private_collector' | 'museum' | 'institution' | 'charity' | 'developer' | 'fund_manager' | 'family_office' | 'estate_agent' | 'solicitor_firm' | 'other';
1234
+ contactDetails?: string;
1235
+ };
1236
+ export type AssetInterestItem = {
1237
+ assetId?: string;
1238
+ propertyId?: string;
1239
+ interestLevel?: 'exploratory' | 'moderate' | 'strong' | 'committed';
1240
+ };
1241
+ export type CollectionInterest = unknown & {
1242
+ name?: string;
1243
+ assetIds?: Array<string>;
1244
+ propertyIds?: Array<string>;
1245
+ notes?: string;
1246
+ };
1247
+ export type OfferDetails = {
1248
+ amount?: Money2;
1249
+ conditions?: Array<string>;
1250
+ validUntil?: string;
1251
+ offerDate?: string;
1252
+ documentRef?: string;
1253
+ };
1254
+ /**
1255
+ * Dealer Interest
1256
+ *
1257
+ * Level D data — records third-party interest in estate assets (art dealers, property investors, collectors). Privacy-controlled. Managed via proxy authorisation.
1258
+ */
1259
+ export type DealerInterest2 = {
1260
+ id: string;
1261
+ interestedParty: InterestedParty;
1262
+ assets?: Array<AssetInterestItem>;
1263
+ collection?: CollectionInterest;
1264
+ offerStatus: 'standing_interest' | 'verbal_offer' | 'written_offer' | 'formal_valuation' | 'conditional_offer' | 'accepted' | 'declined' | 'expired' | 'withdrawn';
1265
+ offerDetails?: OfferDetails;
1266
+ testatorDisposition?: 'willing_to_sell' | 'prefer_not_to_sell' | 'hold_for_executor' | 'deferred_to_family' | 'promised_to_institution' | 'undecided';
1267
+ linkedBequestId?: string;
1268
+ privacyLevel: 'testator_only' | 'proxy_visible' | 'executor_visible' | 'all_parties';
1269
+ communicationInitiatedBy?: 'buyer' | 'testator' | 'proxy' | 'executor';
1270
+ managedByProxyId?: string;
1271
+ notes?: string;
1272
+ [key: string]: unknown | string | InterestedParty | Array<AssetInterestItem> | CollectionInterest | 'standing_interest' | 'verbal_offer' | 'written_offer' | 'formal_valuation' | 'conditional_offer' | 'accepted' | 'declined' | 'expired' | 'withdrawn' | OfferDetails | 'willing_to_sell' | 'prefer_not_to_sell' | 'hold_for_executor' | 'deferred_to_family' | 'promised_to_institution' | 'undecided' | 'testator_only' | 'proxy_visible' | 'executor_visible' | 'all_parties' | 'buyer' | 'testator' | 'proxy' | 'executor' | string | undefined;
1273
+ };
1274
+ /**
1275
+ * INHERIT v1 Root Schema
1276
+ *
1277
+ * Root entry point for an INHERIT v1 estate data interchange document. Contains a single estate and arrays of all entity types.
1278
+ */
1279
+ export type Schema = {
1280
+ inherit: 'https://openinherit.org/v1/schema.json';
1281
+ version: 1;
1282
+ exportedAt?: string;
1283
+ exportedBy?: {
1284
+ name?: string;
1285
+ email?: string;
1286
+ organisationName?: string;
1287
+ };
1288
+ generator?: {
1289
+ name: string;
1290
+ version?: string;
1291
+ url?: string;
1292
+ };
1293
+ estate: Estate2;
1294
+ people: Array<Person2>;
1295
+ kinships: Array<Kinship2>;
1296
+ relationships: Array<Relationship2>;
1297
+ properties: Array<Property2>;
1298
+ assets: Array<Asset2>;
1299
+ liabilities: Array<Liability2>;
1300
+ bequests: Array<Bequest2>;
1301
+ trusts: Array<Trust2>;
1302
+ executors: Array<Executor2>;
1303
+ guardians: Array<Guardian2>;
1304
+ wishes: Array<Wish2>;
1305
+ documents: Array<Document2>;
1306
+ nonprobateTransfers: Array<NonprobateTransfer2>;
1307
+ proxyAuthorisations: Array<ProxyAuthorisation2>;
1308
+ dealerInterests: Array<DealerInterest2>;
1309
+ extensions?: Array<string>;
1310
+ [key: string]: unknown | 'https://openinherit.org/v1/schema.json' | 1 | string | {
1311
+ name?: string;
1312
+ email?: string;
1313
+ organisationName?: string;
1314
+ } | {
1315
+ name: string;
1316
+ version?: string;
1317
+ url?: string;
1318
+ } | Estate2 | Array<Person2> | Array<Kinship2> | Array<Relationship2> | Array<Property2> | Array<Asset2> | Array<Liability2> | Array<Bequest2> | Array<Trust2> | Array<Executor2> | Array<Guardian2> | Array<Wish2> | Array<Document2> | Array<NonprobateTransfer2> | Array<ProxyAuthorisation2> | Array<DealerInterest2> | Array<string> | undefined;
1319
+ };
1320
+ /**
1321
+ * TemporalRule
1322
+ *
1323
+ * A jurisdiction rule value with effective dates, legislative status, and change history.
1324
+ */
1325
+ export type TemporalRule2 = {
1326
+ /**
1327
+ * The actual rule value. Can be a number (tax rate, threshold amount in minor units), boolean (rule applies/doesn't), string (enum value, fraction), or object (complex rule).
1328
+ */
1329
+ value: number | boolean | string | {
1330
+ [key: string]: unknown;
1331
+ };
1332
+ /**
1333
+ * ISO 8601 date when this value came/comes into effect
1334
+ */
1335
+ effectiveFrom: string;
1336
+ /**
1337
+ * ISO 8601 date when this value was/will be superseded. null = currently in effect.
1338
+ */
1339
+ effectiveUntil?: string | null;
1340
+ status: 'enacted' | 'royal_assent' | 'bill_stage' | 'consultation' | 'announced';
1341
+ /**
1342
+ * The previous value of this rule, for computing deltas. null if this is the first known value.
1343
+ */
1344
+ predecessorValue?: number | boolean | string | {
1345
+ [key: string]: unknown;
1346
+ } | null;
1347
+ legislativeReference?: string;
1348
+ notes?: string;
1349
+ };
1350
+ /**
1351
+ * UK England & Wales Extension
1352
+ *
1353
+ * IHT thresholds, intestacy rules, IFPA 1975 eligibility, and legislative changes for England & Wales estates. Temporal-rule wrapping on key values.
1354
+ */
1355
+ export type UkEnglandWales = {
1356
+ intestacyStatutoryLegacy?: TemporalRule2;
1357
+ nilRateBand?: TemporalRule2;
1358
+ residenceNilRateBand?: TemporalRule2;
1359
+ transferableNilRateBand?: boolean;
1360
+ transferableNilRateBandPercentage?: number;
1361
+ inheritanceTaxRate?: TemporalRule2;
1362
+ cohabitantRights?: {
1363
+ applicable?: boolean;
1364
+ statute?: string;
1365
+ notes?: string;
1366
+ };
1367
+ ifpa1975Eligible?: Array<{
1368
+ personId: string;
1369
+ category: 'spouse' | 'former_spouse' | 'child' | 'child_of_family' | 'maintained_person' | 'cohabitant';
1370
+ notes?: string;
1371
+ }>;
1372
+ legislativeChanges?: Array<{
1373
+ description: string;
1374
+ status: 'enacted' | 'royal_assent' | 'bill_stage' | 'consultation' | 'announced';
1375
+ effectiveDate?: string;
1376
+ notes?: string;
1377
+ }>;
1378
+ [key: string]: unknown | TemporalRule2 | boolean | number | {
1379
+ applicable?: boolean;
1380
+ statute?: string;
1381
+ notes?: string;
1382
+ } | Array<{
1383
+ personId: string;
1384
+ category: 'spouse' | 'former_spouse' | 'child' | 'child_of_family' | 'maintained_person' | 'cohabitant';
1385
+ notes?: string;
1386
+ }> | Array<{
1387
+ description: string;
1388
+ status: 'enacted' | 'royal_assent' | 'bill_stage' | 'consultation' | 'announced';
1389
+ effectiveDate?: string;
1390
+ notes?: string;
1391
+ }> | undefined;
1392
+ };
1393
+ /**
1394
+ * US Estate Extension
1395
+ *
1396
+ * US-specific estate planning: community/separate property regimes, elective share, homestead exemptions, per stirpes variants, no-contest clauses, pretermitted heir statutes, RUFADAA, and Louisiana forced heirship.
1397
+ */
1398
+ export type UsEstate = {
1399
+ state: string;
1400
+ propertyRegime?: 'community_property' | 'community_property_with_survivorship' | 'separate_property' | 'quasi_community';
1401
+ electiveShareDetails?: {
1402
+ available?: boolean;
1403
+ electedPercentage?: number;
1404
+ augmentedEstateIncludes?: string;
1405
+ statute?: string;
1406
+ notes?: string;
1407
+ };
1408
+ homesteadExemptions?: Array<{
1409
+ propertyId: string;
1410
+ exemptionAmount?: Money2;
1411
+ constitutional?: boolean;
1412
+ notes?: string;
1413
+ }>;
1414
+ perStirpesVariant?: 'strict_per_stirpes' | 'modern_per_stirpes' | 'per_capita_at_each_generation';
1415
+ noContestEnforceable?: boolean;
1416
+ pretermittedHeirStatute?: string;
1417
+ rufadaaAdopted?: boolean;
1418
+ louisianaForcedHeirship?: {
1419
+ applicable?: boolean;
1420
+ eligibleChildren?: Array<{
1421
+ personId?: string;
1422
+ ageOrCondition?: string;
1423
+ }>;
1424
+ reservedPortion?: number;
1425
+ basis?: 'fixed' | 'conditional';
1426
+ notes?: string;
1427
+ };
1428
+ notes?: string;
1429
+ [key: string]: unknown | string | 'community_property' | 'community_property_with_survivorship' | 'separate_property' | 'quasi_community' | {
1430
+ available?: boolean;
1431
+ electedPercentage?: number;
1432
+ augmentedEstateIncludes?: string;
1433
+ statute?: string;
1434
+ notes?: string;
1435
+ } | Array<{
1436
+ propertyId: string;
1437
+ exemptionAmount?: Money2;
1438
+ constitutional?: boolean;
1439
+ notes?: string;
1440
+ }> | 'strict_per_stirpes' | 'modern_per_stirpes' | 'per_capita_at_each_generation' | boolean | string | {
1441
+ applicable?: boolean;
1442
+ eligibleChildren?: Array<{
1443
+ personId?: string;
1444
+ ageOrCondition?: string;
1445
+ }>;
1446
+ reservedPortion?: number;
1447
+ basis?: 'fixed' | 'conditional';
1448
+ notes?: string;
1449
+ } | undefined;
1450
+ };
1451
+ export type QuebecPatrimony = {
1452
+ applicable?: boolean;
1453
+ patrimonyValue?: Money2;
1454
+ equalisation?: string;
1455
+ notes?: string;
1456
+ };
1457
+ export type OntarioEqualization = {
1458
+ netFamilyProperty?: Money2;
1459
+ equalizationPayment?: Money2;
1460
+ canBeNegative?: boolean;
1461
+ notes?: string;
1462
+ };
1463
+ export type BcwesaVariation = {
1464
+ variationApplied?: boolean;
1465
+ courtReference?: string;
1466
+ notes?: string;
1467
+ };
1468
+ export type AlbertaDower = {
1469
+ dowerRight: boolean;
1470
+ spousePersonId?: string;
1471
+ propertyId?: string;
1472
+ consentGiven?: boolean;
1473
+ notes?: string;
1474
+ };
1475
+ export type IndigenousLandDetails = {
1476
+ propertyId: string;
1477
+ reserveName?: string;
1478
+ treatyNumber?: string;
1479
+ landType: 'reserve' | 'treaty' | 'fee_simple_on_reserve' | 'certificate_of_possession';
1480
+ successionRestrictions?: string;
1481
+ notes?: string;
1482
+ };
1483
+ /**
1484
+ * Canada Extension
1485
+ *
1486
+ * Provincial succession rules for Canada: Quebec patrimony, Ontario equalization, BC WESA variation, Alberta dower rights, and Indigenous land succession details.
1487
+ */
1488
+ export type Canada = {
1489
+ province: string;
1490
+ quebecPatrimony?: QuebecPatrimony;
1491
+ ontarioEqualization?: OntarioEqualization;
1492
+ bcWesaVariation?: BcwesaVariation;
1493
+ albertaDower?: AlbertaDower;
1494
+ indigenousLandDetails?: Array<IndigenousLandDetails>;
1495
+ notes?: string;
1496
+ [key: string]: unknown | string | QuebecPatrimony | OntarioEqualization | BcwesaVariation | AlbertaDower | Array<IndigenousLandDetails> | string | undefined;
1497
+ };
1498
+ export type SuperannuationNomination = {
1499
+ assetId: string;
1500
+ fundType?: 'smsf' | 'industry' | 'retail' | 'public_sector' | 'corporate';
1501
+ nominationType: 'bdbn_lapsing' | 'bdbn_non_lapsing' | 'non_binding' | 'reversionary_pension';
1502
+ binding?: boolean;
1503
+ expiryDate?: string;
1504
+ expiryRule?: string;
1505
+ trusteeDiscretion?: boolean;
1506
+ nominatedPersonIds?: Array<string>;
1507
+ taxableComponent?: Money2;
1508
+ taxFreeComponent?: Money2;
1509
+ notes?: string;
1510
+ };
1511
+ export type FamilyProvisionClaim = {
1512
+ claimantPersonId: string;
1513
+ relationship?: string;
1514
+ statute?: string;
1515
+ eligibleUnderStatute?: boolean;
1516
+ limitationPeriod?: string;
1517
+ notionalEstateEngaged?: boolean;
1518
+ claimFiled?: boolean;
1519
+ filedDate?: string;
1520
+ outcome?: 'pending' | 'upheld' | 'dismissed' | 'settled';
1521
+ notes?: string;
1522
+ };
1523
+ export type AboriginalLandDetails = {
1524
+ propertyId: string;
1525
+ landType: 'native_title' | 'alra' | 'aboriginal_freehold' | 'ilua' | 'torres_strait';
1526
+ nativeTitleDetermination?: string;
1527
+ landCouncil?: string;
1528
+ successionRestrictions?: string;
1529
+ notes?: string;
1530
+ };
1531
+ export type NzPropertyRelationshipsAct = {
1532
+ applicable?: boolean;
1533
+ relationshipProperty?: Money2;
1534
+ separateProperty?: Money2;
1535
+ optingOutAgreement?: boolean;
1536
+ notes?: string;
1537
+ };
1538
+ export type TestamentaryPromise = {
1539
+ claimantPersonId: string;
1540
+ promiseDescription?: string;
1541
+ statute?: string;
1542
+ status?: string;
1543
+ notes?: string;
1544
+ };
1545
+ export type MaoriLandDetails = {
1546
+ propertyId: string;
1547
+ landBlockIdentifier?: string;
1548
+ maoriLandCourtReference?: string;
1549
+ successionUnderTeTureWhenua?: boolean;
1550
+ };
1551
+ /**
1552
+ * Australia & New Zealand Extension
1553
+ *
1554
+ * Succession rules for AU and NZ: superannuation binding death benefit nominations, family provision claims, Aboriginal/Torres Strait Islander land, NZ Property (Relationships) Act, testamentary promises, and Maori land under Te Ture Whenua.
1555
+ */
1556
+ export type AustraliaNz = {
1557
+ jurisdiction: 'AU-NSW' | 'AU-VIC' | 'AU-QLD' | 'AU-WA' | 'AU-SA' | 'AU-TAS' | 'AU-ACT' | 'AU-NT' | 'NZ';
1558
+ superannuationNominations?: Array<SuperannuationNomination>;
1559
+ familyProvisionClaims?: Array<FamilyProvisionClaim>;
1560
+ aboriginalLandDetails?: Array<AboriginalLandDetails>;
1561
+ nzPRA?: NzPropertyRelationshipsAct;
1562
+ testamentaryPromises?: Array<TestamentaryPromise>;
1563
+ maoriLandDetails?: Array<MaoriLandDetails>;
1564
+ notes?: string;
1565
+ [key: string]: unknown | 'AU-NSW' | 'AU-VIC' | 'AU-QLD' | 'AU-WA' | 'AU-SA' | 'AU-TAS' | 'AU-ACT' | 'AU-NT' | 'NZ' | Array<SuperannuationNomination> | Array<FamilyProvisionClaim> | Array<AboriginalLandDetails> | NzPropertyRelationshipsAct | Array<TestamentaryPromise> | Array<MaoriLandDetails> | string | undefined;
1566
+ };
1567
+ export type BrusselsIvChoiceOfLaw = {
1568
+ habitualResidence?: Jurisdiction2;
1569
+ nationalityElection?: boolean;
1570
+ electedNationality?: Jurisdiction2;
1571
+ electionDate?: string;
1572
+ };
1573
+ export type EuropeanCertificateOfSuccession = {
1574
+ issued?: boolean;
1575
+ certificateReference?: string;
1576
+ issuingAuthority?: string;
1577
+ issueDate?: string;
1578
+ };
1579
+ export type SpanishRegionalRegime = {
1580
+ region: 'common_civil' | 'catalan' | 'basque' | 'navarre' | 'aragon' | 'balearic' | 'galician';
1581
+ forcedHeirshipRules?: string;
1582
+ notes?: string;
1583
+ };
1584
+ export type ForcedHeirshipVariant = {
1585
+ model: 'french_reserve' | 'german_pflichtteil' | 'scandinavian_laglott' | 'dutch_deferred' | 'polish_zachowek' | 'swiss_pflichtteil' | 'italian_legittima';
1586
+ claimNature?: string;
1587
+ reservedFraction?: string;
1588
+ calculationNotes?: string;
1589
+ effectiveDate?: string;
1590
+ reformVersion?: string;
1591
+ temporalRule?: TemporalRule2;
1592
+ };
1593
+ export type PostBrexitAssetHandling = {
1594
+ ukAssetsSubjectToEURule?: boolean;
1595
+ ukAssetsHandledUnder?: string;
1596
+ notes?: string;
1597
+ };
1598
+ /**
1599
+ * EU Succession Extension
1600
+ *
1601
+ * European succession rules: Brussels IV choice of law and European Certificate of Succession, Spanish regional regimes, forced heirship variants across civil law traditions, and post-Brexit UK asset handling.
1602
+ */
1603
+ export type EuSuccession = {
1604
+ memberState: string;
1605
+ brusselsIV?: BrusselsIvChoiceOfLaw;
1606
+ europeanCertificate?: EuropeanCertificateOfSuccession;
1607
+ spanishRegionalRegime?: SpanishRegionalRegime;
1608
+ forcedHeirshipVariant?: ForcedHeirshipVariant;
1609
+ postBrexitHandling?: PostBrexitAssetHandling;
1610
+ legislativeChanges?: Array<{
1611
+ description: string;
1612
+ status: 'enacted' | 'royal_assent' | 'bill_stage' | 'consultation' | 'announced';
1613
+ effectiveDate?: string;
1614
+ notes?: string;
1615
+ }>;
1616
+ notes?: string;
1617
+ [key: string]: unknown | string | BrusselsIvChoiceOfLaw | EuropeanCertificateOfSuccession | SpanishRegionalRegime | ForcedHeirshipVariant | PostBrexitAssetHandling | Array<{
1618
+ description: string;
1619
+ status: 'enacted' | 'royal_assent' | 'bill_stage' | 'consultation' | 'announced';
1620
+ effectiveDate?: string;
1621
+ notes?: string;
1622
+ }> | string | undefined;
1623
+ };
1624
+ export type KosekiRecord = {
1625
+ personId: string;
1626
+ honseki?: string;
1627
+ kosekiHead?: string;
1628
+ kosekiReference?: string;
1629
+ registrationType?: string;
1630
+ };
1631
+ export type IryubunClaim = {
1632
+ personId: string;
1633
+ relationship?: string;
1634
+ reservedFraction?: string;
1635
+ targetAssetIds?: Array<string>;
1636
+ targetPropertyIds?: Array<string>;
1637
+ claimFiled?: boolean;
1638
+ claimOutcome?: 'pending' | 'upheld' | 'dismissed' | 'settled' | 'waived';
1639
+ };
1640
+ export type YoshiAdoption = {
1641
+ personId: string;
1642
+ adoptionType: 'futsu_yoshi' | 'tokubetsu_yoshi';
1643
+ adoptionDate?: string;
1644
+ inheritanceScope?: 'both_families' | 'adoptive_only' | 'biological_only';
1645
+ };
1646
+ export type SpousesResidenceRight = {
1647
+ propertyId: string;
1648
+ spousePersonId: string;
1649
+ rightType: 'short_term' | 'long_term';
1650
+ duration?: string;
1651
+ actuarialValue?: Money2;
1652
+ registeredAtLegalAffairsBureau?: boolean;
1653
+ };
1654
+ /**
1655
+ * Japan Extension
1656
+ *
1657
+ * Japanese succession law — koseki records, iryubun (reserved share) claims, yōshi (adoption), spousal residence right (2019 reform), isan bunkatsu (estate division), saishi succession, local will formalities.
1658
+ */
1659
+ export type Japan = {
1660
+ kosekiRecords?: Array<KosekiRecord>;
1661
+ iryubunClaims?: Array<IryubunClaim>;
1662
+ yoshiAdoptions?: Array<YoshiAdoption>;
1663
+ spousesResidenceRight?: SpousesResidenceRight;
1664
+ saishiSuccessor?: string;
1665
+ localWillFormality?: 'jihi_shosho' | 'kosei_shosho' | 'himitsusho';
1666
+ inkanVerified?: boolean;
1667
+ isanBunkatsu?: {
1668
+ type?: 'voluntary' | 'court_mediated' | 'court_adjudicated';
1669
+ agreed?: boolean;
1670
+ agreementDate?: string;
1671
+ allHeirsConsented?: boolean;
1672
+ participants?: Array<string>;
1673
+ registeredAt?: string;
1674
+ registrationDate?: string;
1675
+ courtReference?: string;
1676
+ documentRef?: string;
1677
+ };
1678
+ legislativeChanges?: Array<{
1679
+ description: string;
1680
+ status: 'enacted' | 'royal_assent' | 'bill_stage' | 'consultation' | 'announced';
1681
+ effectiveDate?: string;
1682
+ notes?: string;
1683
+ }>;
1684
+ notes?: string;
1685
+ [key: string]: unknown | Array<KosekiRecord> | Array<IryubunClaim> | Array<YoshiAdoption> | SpousesResidenceRight | string | 'jihi_shosho' | 'kosei_shosho' | 'himitsusho' | boolean | {
1686
+ type?: 'voluntary' | 'court_mediated' | 'court_adjudicated';
1687
+ agreed?: boolean;
1688
+ agreementDate?: string;
1689
+ allHeirsConsented?: boolean;
1690
+ participants?: Array<string>;
1691
+ registeredAt?: string;
1692
+ registrationDate?: string;
1693
+ courtReference?: string;
1694
+ documentRef?: string;
1695
+ } | Array<{
1696
+ description: string;
1697
+ status: 'enacted' | 'royal_assent' | 'bill_stage' | 'consultation' | 'announced';
1698
+ effectiveDate?: string;
1699
+ notes?: string;
1700
+ }> | string | undefined;
1701
+ };
1702
+ export type PrcForcedHeirship = {
1703
+ firstOrderHeirs?: Array<{
1704
+ personId: string;
1705
+ relationship?: string;
1706
+ }>;
1707
+ secondOrderHeirs?: Array<{
1708
+ personId: string;
1709
+ relationship?: string;
1710
+ }>;
1711
+ mandatoryShareRule?: string;
1712
+ };
1713
+ export type HukouReference = {
1714
+ personId: string;
1715
+ hukouLocation?: string;
1716
+ hukouType?: 'agricultural' | 'non_agricultural';
1717
+ };
1718
+ export type CrossBorderHkprc = {
1719
+ hkAssets?: string;
1720
+ prcAssets?: string;
1721
+ applicableTreaty?: string;
1722
+ notes?: string;
1723
+ };
1724
+ /**
1725
+ * PRC China Extension
1726
+ *
1727
+ * People's Republic of China succession law — forced heirship (first/second order heirs), hukou registration, notarised succession certificates, cross-border HK/PRC asset handling.
1728
+ */
1729
+ export type PrcChina = {
1730
+ applicableLaw: 'prc_succession_law_1985' | 'prc_civil_code_2021';
1731
+ forcedHeirship?: PrcForcedHeirship;
1732
+ hukouReferences?: Array<HukouReference>;
1733
+ notarisationRequired?: boolean;
1734
+ notarisationDetails?: string;
1735
+ crossBorderHandling?: CrossBorderHkprc;
1736
+ notes?: string;
1737
+ [key: string]: unknown | 'prc_succession_law_1985' | 'prc_civil_code_2021' | PrcForcedHeirship | Array<HukouReference> | boolean | string | CrossBorderHkprc | undefined;
1738
+ };
1739
+ export type SingaporeIsaDistribution = {
1740
+ applicable?: boolean;
1741
+ shareSchedule?: Array<{
1742
+ relationship?: string;
1743
+ share?: string;
1744
+ notes?: string;
1745
+ }>;
1746
+ notes?: string;
1747
+ };
1748
+ export type SingaporeAmlaDistribution = {
1749
+ applicable?: boolean;
1750
+ school?: 'shafii' | 'hanafi';
1751
+ faraidRef?: string;
1752
+ notes?: string;
1753
+ };
1754
+ export type CpfNomination = {
1755
+ accountId: string;
1756
+ nominatedPersonIds?: Array<string>;
1757
+ binding?: boolean;
1758
+ nominationDate?: string;
1759
+ notes?: string;
1760
+ };
1761
+ export type MalaysianDistributionAct = {
1762
+ applicable?: boolean;
1763
+ shareSchedule?: Array<{
1764
+ relationship?: string;
1765
+ share?: string;
1766
+ notes?: string;
1767
+ }>;
1768
+ notes?: string;
1769
+ };
1770
+ export type MalaysianShariah = {
1771
+ applicable?: boolean;
1772
+ shariaCourtReference?: string;
1773
+ notes?: string;
1774
+ };
1775
+ export type EpfNomination = {
1776
+ accountId: string;
1777
+ nominatedPersonIds?: Array<string>;
1778
+ binding?: boolean;
1779
+ nominationDate?: string;
1780
+ notes?: string;
1781
+ };
1782
+ /**
1783
+ * Singapore / Malaysia Extension
1784
+ *
1785
+ * Singapore and Malaysia succession law — ISA intestate distribution, AMLA Islamic distribution, CPF/EPF nominations, Malaysian Distribution Act, Shariah court jurisdiction.
1786
+ */
1787
+ export type SingaporeMalaysia = {
1788
+ country: 'SG' | 'MY';
1789
+ singaporeISA?: SingaporeIsaDistribution;
1790
+ singaporeAMLA?: SingaporeAmlaDistribution;
1791
+ cpfNominations?: Array<CpfNomination>;
1792
+ malaysianDistributionAct?: MalaysianDistributionAct;
1793
+ malaysianShariah?: MalaysianShariah;
1794
+ epfNominations?: Array<EpfNomination>;
1795
+ notes?: string;
1796
+ [key: string]: unknown | 'SG' | 'MY' | SingaporeIsaDistribution | SingaporeAmlaDistribution | Array<CpfNomination> | MalaysianDistributionAct | MalaysianShariah | Array<EpfNomination> | string | undefined;
1797
+ };
1798
+ export type BrazilianSuccession = {
1799
+ legitimaFraction?: string;
1800
+ necessaryHeirs?: Array<{
1801
+ personId: string;
1802
+ category: 'descendant' | 'ascendant' | 'spouse';
1803
+ }>;
1804
+ meacaoHerancaSplit?: boolean;
1805
+ stableUnionRights?: boolean;
1806
+ notes?: string;
1807
+ };
1808
+ export type ArgentineSuccession = {
1809
+ legitimaDescendants?: string;
1810
+ legitimaAscendants?: string;
1811
+ porcionDisponible?: string;
1812
+ collation?: boolean;
1813
+ notes?: string;
1814
+ };
1815
+ export type ColombianSuccession = {
1816
+ system?: 'fourths';
1817
+ legitimaRigurosa?: string;
1818
+ cuartaDeMejoras?: string;
1819
+ cuartaDeLibreDisposicion?: string;
1820
+ forcedHeirs?: Array<{
1821
+ personId: string;
1822
+ relationship?: string;
1823
+ }>;
1824
+ notes?: string;
1825
+ };
1826
+ export type VenezuelanSuccession = {
1827
+ legitimaFraction?: string;
1828
+ applicableLaw?: string;
1829
+ notes?: string;
1830
+ };
1831
+ /**
1832
+ * Latin America Extension
1833
+ *
1834
+ * Latin American succession law — Brazilian legítima and stable union rights, Argentine forced heirship with collation, Colombian fourths system, Venezuelan succession, and other civil-law jurisdictions.
1835
+ */
1836
+ export type LatinAmerica = {
1837
+ country: 'BR' | 'AR' | 'CO' | 'VE' | 'MX' | 'CL' | 'PE';
1838
+ brazilianSuccession?: BrazilianSuccession;
1839
+ argentineSuccession?: ArgentineSuccession;
1840
+ colombianSuccession?: ColombianSuccession;
1841
+ venezuelanSuccession?: VenezuelanSuccession;
1842
+ notes?: string;
1843
+ [key: string]: unknown | 'BR' | 'AR' | 'CO' | 'VE' | 'MX' | 'CL' | 'PE' | BrazilianSuccession | ArgentineSuccession | ColombianSuccession | VenezuelanSuccession | string | undefined;
1844
+ };
1845
+ export type HeirClassification = {
1846
+ personId: string;
1847
+ heirClass: 'son' | 'daughter' | 'father' | 'mother' | 'grandfather' | 'grandmother' | 'brother_full' | 'brother_paternal' | 'brother_maternal' | 'sister_full' | 'sister_paternal' | 'sister_maternal' | 'husband' | 'wife' | 'son_of_son' | 'daughter_of_son' | 'uncle_paternal';
1848
+ fixedShareFraction?: string;
1849
+ residuaryClass?: 'asaba_by_self' | 'asaba_with_other' | 'asaba_through_other' | 'none';
1850
+ blocked?: boolean;
1851
+ blockedBy?: string;
1852
+ notes?: string;
1853
+ };
1854
+ export type WasiyyaRules = {
1855
+ maxPortion?: number;
1856
+ toNonHeirsOnly?: boolean;
1857
+ requiresHeirConsent?: boolean;
1858
+ notes?: string;
1859
+ };
1860
+ export type IddahPeriod = {
1861
+ personId: string;
1862
+ periodType: 'divorce' | 'death' | 'pregnancy';
1863
+ startDate: string;
1864
+ endDate?: string | null;
1865
+ notes?: string;
1866
+ };
1867
+ export type WaqfDetail = {
1868
+ waqfId: string;
1869
+ waqfType: 'ahli' | 'khairi' | 'mushtarak';
1870
+ dedicationDate?: string;
1871
+ notes?: string;
1872
+ };
1873
+ export type PriorityDebt = {
1874
+ description: string;
1875
+ type: 'mahr' | 'kafan' | 'funeral_costs' | 'tax' | 'debts_of_deceased';
1876
+ amount: Money2;
1877
+ creditorPersonId?: string;
1878
+ notes?: string;
1879
+ };
1880
+ /**
1881
+ * Islamic Succession Extension
1882
+ *
1883
+ * Faraid (Islamic inheritance) rules: heir classification, fixed shares, residuary (asaba), awl/radd adjustments, wasiyya limits, iddah periods, waqf details, and priority debts including mahr.
1884
+ */
1885
+ export type Islamic = {
1886
+ school: 'hanafi' | 'shafii' | 'maliki' | 'hanbali' | 'jafari' | 'ibadi' | 'zahiri';
1887
+ faraidApplies?: boolean;
1888
+ heirClassifications?: Array<HeirClassification>;
1889
+ awlApplied?: boolean;
1890
+ raddApplied?: boolean;
1891
+ wasiyyaRules?: WasiyyaRules;
1892
+ iddahPeriods?: Array<IddahPeriod>;
1893
+ waqfDetails?: Array<WaqfDetail>;
1894
+ priorityDebts?: Array<PriorityDebt>;
1895
+ hijriDates?: {
1896
+ deathDateHijri?: string;
1897
+ willDateHijri?: string;
1898
+ };
1899
+ islamicFormalities?: {
1900
+ shariaCourtReference?: string;
1901
+ muftiFatwReference?: string;
1902
+ certifiedByScholar?: boolean;
1903
+ scholarName?: string;
1904
+ notes?: string;
1905
+ };
1906
+ notes?: string;
1907
+ [key: string]: unknown | 'hanafi' | 'shafii' | 'maliki' | 'hanbali' | 'jafari' | 'ibadi' | 'zahiri' | boolean | Array<HeirClassification> | WasiyyaRules | Array<IddahPeriod> | Array<WaqfDetail> | Array<PriorityDebt> | {
1908
+ deathDateHijri?: string;
1909
+ willDateHijri?: string;
1910
+ } | {
1911
+ shariaCourtReference?: string;
1912
+ muftiFatwReference?: string;
1913
+ certifiedByScholar?: boolean;
1914
+ scholarName?: string;
1915
+ notes?: string;
1916
+ } | string | undefined;
1917
+ };
1918
+ export type HalachicHeir = {
1919
+ personId: string;
1920
+ relationship: string;
1921
+ heirOrder?: 'bechor' | 'regular';
1922
+ halachicClass: 'ben' | 'bat' | 'av' | 'em' | 'ach' | 'achot' | 'ben_ben' | 'other';
1923
+ };
1924
+ export type MezonotDetails = {
1925
+ eligible: boolean;
1926
+ amount?: Money2;
1927
+ duration?: string;
1928
+ notes?: string;
1929
+ };
1930
+ export type BekhorRules = {
1931
+ applies: boolean;
1932
+ bekhorPersonId?: string;
1933
+ doubleShareApplicable?: boolean;
1934
+ notes?: string;
1935
+ };
1936
+ export type HebrewName = {
1937
+ personId: string;
1938
+ hebrewGivenName: string;
1939
+ hebrewFamilyName?: string;
1940
+ benOrBat: 'ben' | 'bat';
1941
+ };
1942
+ export type HalachicWitnessValidity = {
1943
+ personId: string;
1944
+ halachicallyValid: boolean;
1945
+ disqualificationReason?: string;
1946
+ notes?: string;
1947
+ };
1948
+ export type KinyanDetails = {
1949
+ type: 'kinyan_sudar' | 'kinyan_agav' | 'kinyan_meshichah' | 'kinyan_hagbahah';
1950
+ performed: boolean;
1951
+ witnessPersonIds?: Array<string>;
1952
+ notes?: string;
1953
+ };
1954
+ export type BequestClassification = {
1955
+ type: 'matanah' | 'yerusha' | 'shtar_chov_gift';
1956
+ bequestId: string;
1957
+ notes?: string;
1958
+ };
1959
+ /**
1960
+ * Jewish Law Extension
1961
+ *
1962
+ * Halachic inheritance rules including heir classification, bekhor (firstborn) double-share, mezonot (maintenance), kinyan (acquisition), and bequest classification under Jewish law.
1963
+ */
1964
+ export type Jewish = {
1965
+ denomination: 'orthodox' | 'conservative' | 'reform' | 'reconstructionist' | 'traditional' | 'unaffiliated';
1966
+ halachicHeirs?: Array<HalachicHeir>;
1967
+ mezonotDetails?: MezonotDetails;
1968
+ halachicMechanism?: 'shtar_chov' | 'matnat_bari' | 'matnat_shechiv_mera' | 'matnat_bari_conditional';
1969
+ bekhorRules?: BekhorRules;
1970
+ hebrewNames?: Array<HebrewName>;
1971
+ halachicWitnessValidity?: Array<HalachicWitnessValidity>;
1972
+ kinyanDetails?: KinyanDetails;
1973
+ bequestClassifications?: Array<BequestClassification>;
1974
+ notes?: string;
1975
+ [key: string]: unknown | 'orthodox' | 'conservative' | 'reform' | 'reconstructionist' | 'traditional' | 'unaffiliated' | Array<HalachicHeir> | MezonotDetails | 'shtar_chov' | 'matnat_bari' | 'matnat_shechiv_mera' | 'matnat_bari_conditional' | BekhorRules | Array<HebrewName> | Array<HalachicWitnessValidity> | KinyanDetails | Array<BequestClassification> | string | undefined;
1976
+ };
1977
+ export type Coparcener = {
1978
+ personId: string;
1979
+ relationship: string;
1980
+ coparcenaryShareFraction?: string;
1981
+ };
1982
+ export type HufDetails = {
1983
+ kartaPersonId: string;
1984
+ coparceners: Array<Coparcener>;
1985
+ panNumber?: string;
1986
+ };
1987
+ export type IndianHeirClassification = {
1988
+ personId: string;
1989
+ heirClass: 'class_I' | 'class_II' | 'agnate' | 'cognate';
1990
+ scheduleParagraph?: string;
1991
+ disputed?: boolean;
1992
+ disputeDetails?: string;
1993
+ };
1994
+ export type StridhanAsset = {
1995
+ assetId: string;
1996
+ description: string;
1997
+ notes?: string;
1998
+ };
1999
+ /**
2000
+ * India Hindu Succession Extension
2001
+ *
2002
+ * Hindu succession law specifics: Mitakshara/Dayabhaga schools, HUF coparcenary, heir classifications under the Hindu Succession Act 1956, stridhan assets, agricultural land ceiling rules, and NRI complications.
2003
+ */
2004
+ export type IndiaHindu = {
2005
+ applicableLaw: 'hindu_succession_act_1956' | 'indian_succession_act_1925' | 'muslim_personal_law' | 'special_marriage_act' | 'parsi_succession' | 'goa_civil_code';
2006
+ school?: 'mitakshara' | 'dayabhaga';
2007
+ hufDetails?: HufDetails;
2008
+ heirClassifications?: Array<IndianHeirClassification>;
2009
+ stridhanAssets?: Array<StridhanAsset>;
2010
+ agriculturalLand?: Array<{
2011
+ propertyId: string;
2012
+ state: string;
2013
+ stateSuccessionLaw?: string;
2014
+ ceilingApplies?: boolean;
2015
+ }>;
2016
+ nriComplications?: {
2017
+ applicable?: boolean;
2018
+ foreignJurisdiction?: Jurisdiction2;
2019
+ taxImplications?: string;
2020
+ notes?: string;
2021
+ };
2022
+ notes?: string;
2023
+ [key: string]: unknown | 'hindu_succession_act_1956' | 'indian_succession_act_1925' | 'muslim_personal_law' | 'special_marriage_act' | 'parsi_succession' | 'goa_civil_code' | 'mitakshara' | 'dayabhaga' | HufDetails | Array<IndianHeirClassification> | Array<StridhanAsset> | Array<{
2024
+ propertyId: string;
2025
+ state: string;
2026
+ stateSuccessionLaw?: string;
2027
+ ceilingApplies?: boolean;
2028
+ }> | {
2029
+ applicable?: boolean;
2030
+ foreignJurisdiction?: Jurisdiction2;
2031
+ taxImplications?: string;
2032
+ notes?: string;
2033
+ } | string | undefined;
2034
+ };
2035
+ export type CustomarySuccessionRule = {
2036
+ ethnicGroup: string;
2037
+ successionSystem: 'patrilineal_primogeniture' | 'patrilineal_equal' | 'matrilineal' | 'bilateral' | 'ultimogeniture';
2038
+ widowInheritanceRight?: 'full_inheritance' | 'usufruct_only' | 'levirate_marriage' | 'none' | 'statutory_override';
2039
+ daughterInheritanceRight?: string;
2040
+ constitutionalOverride?: boolean;
2041
+ caseReference?: string;
2042
+ };
2043
+ export type FamilyCouncilDecision = {
2044
+ decisionDate?: string;
2045
+ decisionType: string;
2046
+ decidedBy?: string;
2047
+ participants?: Array<string>;
2048
+ chairPersonId?: string;
2049
+ outcome?: string;
2050
+ constitutionalChallengeOutcome?: 'not_challenged' | 'upheld' | 'struck_down' | 'pending';
2051
+ challengeable?: boolean;
2052
+ };
2053
+ export type CommunalPropertyDetail = {
2054
+ propertyId: string;
2055
+ communityName?: string;
2056
+ tenureType?: string;
2057
+ notes?: string;
2058
+ };
2059
+ export type WidowRights = {
2060
+ personId: string;
2061
+ customaryRight?: string;
2062
+ statutoryRight?: string;
2063
+ widowRitesRequired?: boolean;
2064
+ widowRitesCompleted?: boolean;
2065
+ ritesDescription?: string;
2066
+ ritesCompletionDate?: string;
2067
+ notes?: string;
2068
+ };
2069
+ /**
2070
+ * Africa Customary Succession Extension
2071
+ *
2072
+ * Customary succession rules across African ethnic groups: patrilineal/matrilineal systems, family council decisions, communal property, widow rights, lobola, land tenure, and constitutional challenges.
2073
+ */
2074
+ export type AfricaCustomary = {
2075
+ ethnicGroup: string;
2076
+ customaryRules?: Array<CustomarySuccessionRule>;
2077
+ familyCouncilDecisions?: Array<FamilyCouncilDecision>;
2078
+ communalPropertyDetails?: Array<CommunalPropertyDetail>;
2079
+ widowRights?: Array<WidowRights>;
2080
+ lobolaDetails?: {
2081
+ totalAgreed?: Money2;
2082
+ paidToDate?: Money2;
2083
+ includesLivestock?: boolean;
2084
+ livestockDetails?: string;
2085
+ notes?: string;
2086
+ };
2087
+ landTenureDetails?: Array<{
2088
+ propertyId: string;
2089
+ tenureType?: string;
2090
+ communityAuthority?: string;
2091
+ notes?: string;
2092
+ }>;
2093
+ constitutionalChallenges?: Array<{
2094
+ description: string;
2095
+ caseReference?: string;
2096
+ outcome?: 'not_challenged' | 'upheld' | 'struck_down' | 'pending';
2097
+ notes?: string;
2098
+ }>;
2099
+ notes?: string;
2100
+ [key: string]: unknown | string | Array<CustomarySuccessionRule> | Array<FamilyCouncilDecision> | Array<CommunalPropertyDetail> | Array<WidowRights> | {
2101
+ totalAgreed?: Money2;
2102
+ paidToDate?: Money2;
2103
+ includesLivestock?: boolean;
2104
+ livestockDetails?: string;
2105
+ notes?: string;
2106
+ } | Array<{
2107
+ propertyId: string;
2108
+ tenureType?: string;
2109
+ communityAuthority?: string;
2110
+ notes?: string;
2111
+ }> | Array<{
2112
+ description: string;
2113
+ caseReference?: string;
2114
+ outcome?: 'not_challenged' | 'upheld' | 'struck_down' | 'pending';
2115
+ notes?: string;
2116
+ }> | undefined;
2117
+ };
2118
+ export type ValidateDocumentData = {
2119
+ body: Schema;
2120
+ path?: never;
2121
+ query?: never;
2122
+ url: '/validate';
2123
+ };
2124
+ export type ValidateDocumentErrors = {
2125
+ /**
2126
+ * Invalid JSON payload
2127
+ */
2128
+ 400: {
2129
+ error?: string;
2130
+ };
2131
+ };
2132
+ export type ValidateDocumentError = ValidateDocumentErrors[keyof ValidateDocumentErrors];
2133
+ export type ValidateDocumentResponses = {
2134
+ /**
2135
+ * Validation result
2136
+ */
2137
+ 200: ValidationResult;
2138
+ };
2139
+ export type ValidateDocumentResponse = ValidateDocumentResponses[keyof ValidateDocumentResponses];
2140
+ //# sourceMappingURL=types.gen.d.ts.map