@voyantjs/legal 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1336 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import { type CreatePolicyAcceptanceInput, type CreatePolicyAssignmentInput, type CreatePolicyInput, type CreatePolicyRuleInput, type CreatePolicyVersionInput, type EvaluateCancellationInput, type PolicyAcceptanceListQuery, type PolicyAssignmentListQuery, type PolicyListQuery, type ResolvePolicyInput, type UpdatePolicyAssignmentInput, type UpdatePolicyInput, type UpdatePolicyRuleInput, type UpdatePolicyVersionInput } from "./service-shared.js";
3
+ export declare const policiesCoreService: {
4
+ listPolicies(db: PostgresJsDatabase, query: PolicyListQuery): Promise<{
5
+ data: {
6
+ id: string;
7
+ kind: "other" | "cancellation" | "payment" | "terms_and_conditions" | "privacy" | "refund" | "commission" | "guarantee";
8
+ name: string;
9
+ slug: string;
10
+ description: string | null;
11
+ language: string;
12
+ currentVersionId: string | null;
13
+ metadata: unknown;
14
+ createdAt: Date;
15
+ updatedAt: Date;
16
+ }[];
17
+ total: number;
18
+ limit: number;
19
+ offset: number;
20
+ }>;
21
+ getPolicyById(db: PostgresJsDatabase, id: string): Promise<{
22
+ id: string;
23
+ kind: "other" | "cancellation" | "payment" | "terms_and_conditions" | "privacy" | "refund" | "commission" | "guarantee";
24
+ name: string;
25
+ slug: string;
26
+ description: string | null;
27
+ language: string;
28
+ currentVersionId: string | null;
29
+ metadata: unknown;
30
+ createdAt: Date;
31
+ updatedAt: Date;
32
+ } | null>;
33
+ getPolicyBySlug(db: PostgresJsDatabase, slug: string): Promise<{
34
+ id: string;
35
+ kind: "other" | "cancellation" | "payment" | "terms_and_conditions" | "privacy" | "refund" | "commission" | "guarantee";
36
+ name: string;
37
+ slug: string;
38
+ description: string | null;
39
+ language: string;
40
+ currentVersionId: string | null;
41
+ metadata: unknown;
42
+ createdAt: Date;
43
+ updatedAt: Date;
44
+ } | null>;
45
+ createPolicy(db: PostgresJsDatabase, data: CreatePolicyInput): Promise<{
46
+ id: string;
47
+ name: string;
48
+ createdAt: Date;
49
+ updatedAt: Date;
50
+ description: string | null;
51
+ kind: "other" | "cancellation" | "payment" | "terms_and_conditions" | "privacy" | "refund" | "commission" | "guarantee";
52
+ metadata: unknown;
53
+ slug: string;
54
+ language: string;
55
+ currentVersionId: string | null;
56
+ } | null>;
57
+ updatePolicy(db: PostgresJsDatabase, id: string, data: UpdatePolicyInput): Promise<{
58
+ id: string;
59
+ kind: "other" | "cancellation" | "payment" | "terms_and_conditions" | "privacy" | "refund" | "commission" | "guarantee";
60
+ name: string;
61
+ slug: string;
62
+ description: string | null;
63
+ language: string;
64
+ currentVersionId: string | null;
65
+ metadata: unknown;
66
+ createdAt: Date;
67
+ updatedAt: Date;
68
+ } | null>;
69
+ deletePolicy(db: PostgresJsDatabase, id: string): Promise<{
70
+ id: string;
71
+ } | null>;
72
+ listPolicyVersions(db: PostgresJsDatabase, policyId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"policy_versions", {
73
+ id: import("drizzle-orm/pg-core").PgColumn<{
74
+ name: string;
75
+ tableName: "policy_versions";
76
+ dataType: "string";
77
+ columnType: "PgText";
78
+ data: string;
79
+ driverParam: string;
80
+ notNull: true;
81
+ hasDefault: true;
82
+ isPrimaryKey: true;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: true;
85
+ enumValues: [string, ...string[]];
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {}>;
90
+ policyId: import("drizzle-orm/pg-core").PgColumn<{
91
+ name: string;
92
+ tableName: "policy_versions";
93
+ dataType: "string";
94
+ columnType: "PgText";
95
+ data: string;
96
+ driverParam: string;
97
+ notNull: true;
98
+ hasDefault: false;
99
+ isPrimaryKey: false;
100
+ isAutoincrement: false;
101
+ hasRuntimeDefault: false;
102
+ enumValues: [string, ...string[]];
103
+ baseColumn: never;
104
+ identity: undefined;
105
+ generated: undefined;
106
+ }, {}, {}>;
107
+ version: import("drizzle-orm/pg-core").PgColumn<{
108
+ name: "version";
109
+ tableName: "policy_versions";
110
+ dataType: "number";
111
+ columnType: "PgInteger";
112
+ data: number;
113
+ driverParam: string | number;
114
+ notNull: true;
115
+ hasDefault: false;
116
+ isPrimaryKey: false;
117
+ isAutoincrement: false;
118
+ hasRuntimeDefault: false;
119
+ enumValues: undefined;
120
+ baseColumn: never;
121
+ identity: undefined;
122
+ generated: undefined;
123
+ }, {}, {}>;
124
+ status: import("drizzle-orm/pg-core").PgColumn<{
125
+ name: "status";
126
+ tableName: "policy_versions";
127
+ dataType: "string";
128
+ columnType: "PgEnumColumn";
129
+ data: "draft" | "published" | "retired";
130
+ driverParam: string;
131
+ notNull: true;
132
+ hasDefault: true;
133
+ isPrimaryKey: false;
134
+ isAutoincrement: false;
135
+ hasRuntimeDefault: false;
136
+ enumValues: ["draft", "published", "retired"];
137
+ baseColumn: never;
138
+ identity: undefined;
139
+ generated: undefined;
140
+ }, {}, {}>;
141
+ title: import("drizzle-orm/pg-core").PgColumn<{
142
+ name: "title";
143
+ tableName: "policy_versions";
144
+ dataType: "string";
145
+ columnType: "PgText";
146
+ data: string;
147
+ driverParam: string;
148
+ notNull: true;
149
+ hasDefault: false;
150
+ isPrimaryKey: false;
151
+ isAutoincrement: false;
152
+ hasRuntimeDefault: false;
153
+ enumValues: [string, ...string[]];
154
+ baseColumn: never;
155
+ identity: undefined;
156
+ generated: undefined;
157
+ }, {}, {}>;
158
+ bodyFormat: import("drizzle-orm/pg-core").PgColumn<{
159
+ name: "body_format";
160
+ tableName: "policy_versions";
161
+ dataType: "string";
162
+ columnType: "PgEnumColumn";
163
+ data: "markdown" | "html" | "plain";
164
+ driverParam: string;
165
+ notNull: true;
166
+ hasDefault: true;
167
+ isPrimaryKey: false;
168
+ isAutoincrement: false;
169
+ hasRuntimeDefault: false;
170
+ enumValues: ["markdown", "html", "plain"];
171
+ baseColumn: never;
172
+ identity: undefined;
173
+ generated: undefined;
174
+ }, {}, {}>;
175
+ body: import("drizzle-orm/pg-core").PgColumn<{
176
+ name: "body";
177
+ tableName: "policy_versions";
178
+ dataType: "string";
179
+ columnType: "PgText";
180
+ data: string;
181
+ driverParam: string;
182
+ notNull: false;
183
+ hasDefault: false;
184
+ isPrimaryKey: false;
185
+ isAutoincrement: false;
186
+ hasRuntimeDefault: false;
187
+ enumValues: [string, ...string[]];
188
+ baseColumn: never;
189
+ identity: undefined;
190
+ generated: undefined;
191
+ }, {}, {}>;
192
+ publishedAt: import("drizzle-orm/pg-core").PgColumn<{
193
+ name: "published_at";
194
+ tableName: "policy_versions";
195
+ dataType: "date";
196
+ columnType: "PgTimestamp";
197
+ data: Date;
198
+ driverParam: string;
199
+ notNull: false;
200
+ hasDefault: false;
201
+ isPrimaryKey: false;
202
+ isAutoincrement: false;
203
+ hasRuntimeDefault: false;
204
+ enumValues: undefined;
205
+ baseColumn: never;
206
+ identity: undefined;
207
+ generated: undefined;
208
+ }, {}, {}>;
209
+ publishedBy: import("drizzle-orm/pg-core").PgColumn<{
210
+ name: "published_by";
211
+ tableName: "policy_versions";
212
+ dataType: "string";
213
+ columnType: "PgText";
214
+ data: string;
215
+ driverParam: string;
216
+ notNull: false;
217
+ hasDefault: false;
218
+ isPrimaryKey: false;
219
+ isAutoincrement: false;
220
+ hasRuntimeDefault: false;
221
+ enumValues: [string, ...string[]];
222
+ baseColumn: never;
223
+ identity: undefined;
224
+ generated: undefined;
225
+ }, {}, {}>;
226
+ retiredAt: import("drizzle-orm/pg-core").PgColumn<{
227
+ name: "retired_at";
228
+ tableName: "policy_versions";
229
+ dataType: "date";
230
+ columnType: "PgTimestamp";
231
+ data: Date;
232
+ driverParam: string;
233
+ notNull: false;
234
+ hasDefault: false;
235
+ isPrimaryKey: false;
236
+ isAutoincrement: false;
237
+ hasRuntimeDefault: false;
238
+ enumValues: undefined;
239
+ baseColumn: never;
240
+ identity: undefined;
241
+ generated: undefined;
242
+ }, {}, {}>;
243
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
244
+ name: "metadata";
245
+ tableName: "policy_versions";
246
+ dataType: "json";
247
+ columnType: "PgJsonb";
248
+ data: unknown;
249
+ driverParam: unknown;
250
+ notNull: false;
251
+ hasDefault: false;
252
+ isPrimaryKey: false;
253
+ isAutoincrement: false;
254
+ hasRuntimeDefault: false;
255
+ enumValues: undefined;
256
+ baseColumn: never;
257
+ identity: undefined;
258
+ generated: undefined;
259
+ }, {}, {}>;
260
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
261
+ name: "created_at";
262
+ tableName: "policy_versions";
263
+ dataType: "date";
264
+ columnType: "PgTimestamp";
265
+ data: Date;
266
+ driverParam: string;
267
+ notNull: true;
268
+ hasDefault: true;
269
+ isPrimaryKey: false;
270
+ isAutoincrement: false;
271
+ hasRuntimeDefault: false;
272
+ enumValues: undefined;
273
+ baseColumn: never;
274
+ identity: undefined;
275
+ generated: undefined;
276
+ }, {}, {}>;
277
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
278
+ name: "updated_at";
279
+ tableName: "policy_versions";
280
+ dataType: "date";
281
+ columnType: "PgTimestamp";
282
+ data: Date;
283
+ driverParam: string;
284
+ notNull: true;
285
+ hasDefault: true;
286
+ isPrimaryKey: false;
287
+ isAutoincrement: false;
288
+ hasRuntimeDefault: false;
289
+ enumValues: undefined;
290
+ baseColumn: never;
291
+ identity: undefined;
292
+ generated: undefined;
293
+ }, {}, {}>;
294
+ }, "single", Record<"policy_versions", "not-null">, false, "where" | "orderBy", {
295
+ id: string;
296
+ policyId: string;
297
+ version: number;
298
+ status: "draft" | "published" | "retired";
299
+ title: string;
300
+ bodyFormat: "markdown" | "html" | "plain";
301
+ body: string | null;
302
+ publishedAt: Date | null;
303
+ publishedBy: string | null;
304
+ retiredAt: Date | null;
305
+ metadata: unknown;
306
+ createdAt: Date;
307
+ updatedAt: Date;
308
+ }[], {
309
+ id: import("drizzle-orm/pg-core").PgColumn<{
310
+ name: string;
311
+ tableName: "policy_versions";
312
+ dataType: "string";
313
+ columnType: "PgText";
314
+ data: string;
315
+ driverParam: string;
316
+ notNull: true;
317
+ hasDefault: true;
318
+ isPrimaryKey: true;
319
+ isAutoincrement: false;
320
+ hasRuntimeDefault: true;
321
+ enumValues: [string, ...string[]];
322
+ baseColumn: never;
323
+ identity: undefined;
324
+ generated: undefined;
325
+ }, {}, {}>;
326
+ policyId: import("drizzle-orm/pg-core").PgColumn<{
327
+ name: string;
328
+ tableName: "policy_versions";
329
+ dataType: "string";
330
+ columnType: "PgText";
331
+ data: string;
332
+ driverParam: string;
333
+ notNull: true;
334
+ hasDefault: false;
335
+ isPrimaryKey: false;
336
+ isAutoincrement: false;
337
+ hasRuntimeDefault: false;
338
+ enumValues: [string, ...string[]];
339
+ baseColumn: never;
340
+ identity: undefined;
341
+ generated: undefined;
342
+ }, {}, {}>;
343
+ version: import("drizzle-orm/pg-core").PgColumn<{
344
+ name: "version";
345
+ tableName: "policy_versions";
346
+ dataType: "number";
347
+ columnType: "PgInteger";
348
+ data: number;
349
+ driverParam: string | number;
350
+ notNull: true;
351
+ hasDefault: false;
352
+ isPrimaryKey: false;
353
+ isAutoincrement: false;
354
+ hasRuntimeDefault: false;
355
+ enumValues: undefined;
356
+ baseColumn: never;
357
+ identity: undefined;
358
+ generated: undefined;
359
+ }, {}, {}>;
360
+ status: import("drizzle-orm/pg-core").PgColumn<{
361
+ name: "status";
362
+ tableName: "policy_versions";
363
+ dataType: "string";
364
+ columnType: "PgEnumColumn";
365
+ data: "draft" | "published" | "retired";
366
+ driverParam: string;
367
+ notNull: true;
368
+ hasDefault: true;
369
+ isPrimaryKey: false;
370
+ isAutoincrement: false;
371
+ hasRuntimeDefault: false;
372
+ enumValues: ["draft", "published", "retired"];
373
+ baseColumn: never;
374
+ identity: undefined;
375
+ generated: undefined;
376
+ }, {}, {}>;
377
+ title: import("drizzle-orm/pg-core").PgColumn<{
378
+ name: "title";
379
+ tableName: "policy_versions";
380
+ dataType: "string";
381
+ columnType: "PgText";
382
+ data: string;
383
+ driverParam: string;
384
+ notNull: true;
385
+ hasDefault: false;
386
+ isPrimaryKey: false;
387
+ isAutoincrement: false;
388
+ hasRuntimeDefault: false;
389
+ enumValues: [string, ...string[]];
390
+ baseColumn: never;
391
+ identity: undefined;
392
+ generated: undefined;
393
+ }, {}, {}>;
394
+ bodyFormat: import("drizzle-orm/pg-core").PgColumn<{
395
+ name: "body_format";
396
+ tableName: "policy_versions";
397
+ dataType: "string";
398
+ columnType: "PgEnumColumn";
399
+ data: "markdown" | "html" | "plain";
400
+ driverParam: string;
401
+ notNull: true;
402
+ hasDefault: true;
403
+ isPrimaryKey: false;
404
+ isAutoincrement: false;
405
+ hasRuntimeDefault: false;
406
+ enumValues: ["markdown", "html", "plain"];
407
+ baseColumn: never;
408
+ identity: undefined;
409
+ generated: undefined;
410
+ }, {}, {}>;
411
+ body: import("drizzle-orm/pg-core").PgColumn<{
412
+ name: "body";
413
+ tableName: "policy_versions";
414
+ dataType: "string";
415
+ columnType: "PgText";
416
+ data: string;
417
+ driverParam: string;
418
+ notNull: false;
419
+ hasDefault: false;
420
+ isPrimaryKey: false;
421
+ isAutoincrement: false;
422
+ hasRuntimeDefault: false;
423
+ enumValues: [string, ...string[]];
424
+ baseColumn: never;
425
+ identity: undefined;
426
+ generated: undefined;
427
+ }, {}, {}>;
428
+ publishedAt: import("drizzle-orm/pg-core").PgColumn<{
429
+ name: "published_at";
430
+ tableName: "policy_versions";
431
+ dataType: "date";
432
+ columnType: "PgTimestamp";
433
+ data: Date;
434
+ driverParam: string;
435
+ notNull: false;
436
+ hasDefault: false;
437
+ isPrimaryKey: false;
438
+ isAutoincrement: false;
439
+ hasRuntimeDefault: false;
440
+ enumValues: undefined;
441
+ baseColumn: never;
442
+ identity: undefined;
443
+ generated: undefined;
444
+ }, {}, {}>;
445
+ publishedBy: import("drizzle-orm/pg-core").PgColumn<{
446
+ name: "published_by";
447
+ tableName: "policy_versions";
448
+ dataType: "string";
449
+ columnType: "PgText";
450
+ data: string;
451
+ driverParam: string;
452
+ notNull: false;
453
+ hasDefault: false;
454
+ isPrimaryKey: false;
455
+ isAutoincrement: false;
456
+ hasRuntimeDefault: false;
457
+ enumValues: [string, ...string[]];
458
+ baseColumn: never;
459
+ identity: undefined;
460
+ generated: undefined;
461
+ }, {}, {}>;
462
+ retiredAt: import("drizzle-orm/pg-core").PgColumn<{
463
+ name: "retired_at";
464
+ tableName: "policy_versions";
465
+ dataType: "date";
466
+ columnType: "PgTimestamp";
467
+ data: Date;
468
+ driverParam: string;
469
+ notNull: false;
470
+ hasDefault: false;
471
+ isPrimaryKey: false;
472
+ isAutoincrement: false;
473
+ hasRuntimeDefault: false;
474
+ enumValues: undefined;
475
+ baseColumn: never;
476
+ identity: undefined;
477
+ generated: undefined;
478
+ }, {}, {}>;
479
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
480
+ name: "metadata";
481
+ tableName: "policy_versions";
482
+ dataType: "json";
483
+ columnType: "PgJsonb";
484
+ data: unknown;
485
+ driverParam: unknown;
486
+ notNull: false;
487
+ hasDefault: false;
488
+ isPrimaryKey: false;
489
+ isAutoincrement: false;
490
+ hasRuntimeDefault: false;
491
+ enumValues: undefined;
492
+ baseColumn: never;
493
+ identity: undefined;
494
+ generated: undefined;
495
+ }, {}, {}>;
496
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
497
+ name: "created_at";
498
+ tableName: "policy_versions";
499
+ dataType: "date";
500
+ columnType: "PgTimestamp";
501
+ data: Date;
502
+ driverParam: string;
503
+ notNull: true;
504
+ hasDefault: true;
505
+ isPrimaryKey: false;
506
+ isAutoincrement: false;
507
+ hasRuntimeDefault: false;
508
+ enumValues: undefined;
509
+ baseColumn: never;
510
+ identity: undefined;
511
+ generated: undefined;
512
+ }, {}, {}>;
513
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
514
+ name: "updated_at";
515
+ tableName: "policy_versions";
516
+ dataType: "date";
517
+ columnType: "PgTimestamp";
518
+ data: Date;
519
+ driverParam: string;
520
+ notNull: true;
521
+ hasDefault: true;
522
+ isPrimaryKey: false;
523
+ isAutoincrement: false;
524
+ hasRuntimeDefault: false;
525
+ enumValues: undefined;
526
+ baseColumn: never;
527
+ identity: undefined;
528
+ generated: undefined;
529
+ }, {}, {}>;
530
+ }>, "where" | "orderBy">;
531
+ getPolicyVersionById(db: PostgresJsDatabase, id: string): Promise<{
532
+ id: string;
533
+ policyId: string;
534
+ version: number;
535
+ status: "draft" | "published" | "retired";
536
+ title: string;
537
+ bodyFormat: "markdown" | "html" | "plain";
538
+ body: string | null;
539
+ publishedAt: Date | null;
540
+ publishedBy: string | null;
541
+ retiredAt: Date | null;
542
+ metadata: unknown;
543
+ createdAt: Date;
544
+ updatedAt: Date;
545
+ } | null>;
546
+ createPolicyVersion(db: PostgresJsDatabase, policyId: string, data: CreatePolicyVersionInput): Promise<{
547
+ id: string;
548
+ status: "draft" | "published" | "retired";
549
+ createdAt: Date;
550
+ updatedAt: Date;
551
+ title: string;
552
+ metadata: unknown;
553
+ bodyFormat: "markdown" | "html" | "plain";
554
+ body: string | null;
555
+ version: number;
556
+ policyId: string;
557
+ publishedAt: Date | null;
558
+ publishedBy: string | null;
559
+ retiredAt: Date | null;
560
+ } | null>;
561
+ updatePolicyVersion(db: PostgresJsDatabase, versionId: string, data: UpdatePolicyVersionInput): Promise<{
562
+ id: string;
563
+ policyId: string;
564
+ version: number;
565
+ status: "draft" | "published" | "retired";
566
+ title: string;
567
+ bodyFormat: "markdown" | "html" | "plain";
568
+ body: string | null;
569
+ publishedAt: Date | null;
570
+ publishedBy: string | null;
571
+ retiredAt: Date | null;
572
+ metadata: unknown;
573
+ createdAt: Date;
574
+ updatedAt: Date;
575
+ } | null>;
576
+ publishPolicyVersion(db: PostgresJsDatabase, versionId: string): Promise<{
577
+ status: "not_found";
578
+ version?: undefined;
579
+ } | {
580
+ status: "not_draft";
581
+ version?: undefined;
582
+ } | {
583
+ status: "published";
584
+ version: {
585
+ id: string;
586
+ policyId: string;
587
+ version: number;
588
+ status: "draft" | "published" | "retired";
589
+ title: string;
590
+ bodyFormat: "markdown" | "html" | "plain";
591
+ body: string | null;
592
+ publishedAt: Date | null;
593
+ publishedBy: string | null;
594
+ retiredAt: Date | null;
595
+ metadata: unknown;
596
+ createdAt: Date;
597
+ updatedAt: Date;
598
+ } | null;
599
+ }>;
600
+ retirePolicyVersion(db: PostgresJsDatabase, versionId: string): Promise<{
601
+ id: string;
602
+ policyId: string;
603
+ version: number;
604
+ status: "draft" | "published" | "retired";
605
+ title: string;
606
+ bodyFormat: "markdown" | "html" | "plain";
607
+ body: string | null;
608
+ publishedAt: Date | null;
609
+ publishedBy: string | null;
610
+ retiredAt: Date | null;
611
+ metadata: unknown;
612
+ createdAt: Date;
613
+ updatedAt: Date;
614
+ } | null>;
615
+ listPolicyRules(db: PostgresJsDatabase, versionId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"policy_rules", {
616
+ id: import("drizzle-orm/pg-core").PgColumn<{
617
+ name: string;
618
+ tableName: "policy_rules";
619
+ dataType: "string";
620
+ columnType: "PgText";
621
+ data: string;
622
+ driverParam: string;
623
+ notNull: true;
624
+ hasDefault: true;
625
+ isPrimaryKey: true;
626
+ isAutoincrement: false;
627
+ hasRuntimeDefault: true;
628
+ enumValues: [string, ...string[]];
629
+ baseColumn: never;
630
+ identity: undefined;
631
+ generated: undefined;
632
+ }, {}, {}>;
633
+ policyVersionId: import("drizzle-orm/pg-core").PgColumn<{
634
+ name: string;
635
+ tableName: "policy_rules";
636
+ dataType: "string";
637
+ columnType: "PgText";
638
+ data: string;
639
+ driverParam: string;
640
+ notNull: true;
641
+ hasDefault: false;
642
+ isPrimaryKey: false;
643
+ isAutoincrement: false;
644
+ hasRuntimeDefault: false;
645
+ enumValues: [string, ...string[]];
646
+ baseColumn: never;
647
+ identity: undefined;
648
+ generated: undefined;
649
+ }, {}, {}>;
650
+ ruleType: import("drizzle-orm/pg-core").PgColumn<{
651
+ name: "rule_type";
652
+ tableName: "policy_rules";
653
+ dataType: "string";
654
+ columnType: "PgEnumColumn";
655
+ data: "custom" | "window" | "percentage" | "flat_amount" | "date_range";
656
+ driverParam: string;
657
+ notNull: true;
658
+ hasDefault: false;
659
+ isPrimaryKey: false;
660
+ isAutoincrement: false;
661
+ hasRuntimeDefault: false;
662
+ enumValues: ["window", "percentage", "flat_amount", "date_range", "custom"];
663
+ baseColumn: never;
664
+ identity: undefined;
665
+ generated: undefined;
666
+ }, {}, {}>;
667
+ label: import("drizzle-orm/pg-core").PgColumn<{
668
+ name: "label";
669
+ tableName: "policy_rules";
670
+ dataType: "string";
671
+ columnType: "PgText";
672
+ data: string;
673
+ driverParam: string;
674
+ notNull: false;
675
+ hasDefault: false;
676
+ isPrimaryKey: false;
677
+ isAutoincrement: false;
678
+ hasRuntimeDefault: false;
679
+ enumValues: [string, ...string[]];
680
+ baseColumn: never;
681
+ identity: undefined;
682
+ generated: undefined;
683
+ }, {}, {}>;
684
+ daysBeforeDeparture: import("drizzle-orm/pg-core").PgColumn<{
685
+ name: "days_before_departure";
686
+ tableName: "policy_rules";
687
+ dataType: "number";
688
+ columnType: "PgInteger";
689
+ data: number;
690
+ driverParam: string | number;
691
+ notNull: false;
692
+ hasDefault: false;
693
+ isPrimaryKey: false;
694
+ isAutoincrement: false;
695
+ hasRuntimeDefault: false;
696
+ enumValues: undefined;
697
+ baseColumn: never;
698
+ identity: undefined;
699
+ generated: undefined;
700
+ }, {}, {}>;
701
+ refundPercent: import("drizzle-orm/pg-core").PgColumn<{
702
+ name: "refund_percent";
703
+ tableName: "policy_rules";
704
+ dataType: "number";
705
+ columnType: "PgInteger";
706
+ data: number;
707
+ driverParam: string | number;
708
+ notNull: false;
709
+ hasDefault: false;
710
+ isPrimaryKey: false;
711
+ isAutoincrement: false;
712
+ hasRuntimeDefault: false;
713
+ enumValues: undefined;
714
+ baseColumn: never;
715
+ identity: undefined;
716
+ generated: undefined;
717
+ }, {}, {}>;
718
+ refundType: import("drizzle-orm/pg-core").PgColumn<{
719
+ name: "refund_type";
720
+ tableName: "policy_rules";
721
+ dataType: "string";
722
+ columnType: "PgEnumColumn";
723
+ data: "cash" | "credit" | "cash_or_credit" | "none";
724
+ driverParam: string;
725
+ notNull: false;
726
+ hasDefault: false;
727
+ isPrimaryKey: false;
728
+ isAutoincrement: false;
729
+ hasRuntimeDefault: false;
730
+ enumValues: ["cash", "credit", "cash_or_credit", "none"];
731
+ baseColumn: never;
732
+ identity: undefined;
733
+ generated: undefined;
734
+ }, {}, {}>;
735
+ flatAmountCents: import("drizzle-orm/pg-core").PgColumn<{
736
+ name: "flat_amount_cents";
737
+ tableName: "policy_rules";
738
+ dataType: "number";
739
+ columnType: "PgInteger";
740
+ data: number;
741
+ driverParam: string | number;
742
+ notNull: false;
743
+ hasDefault: false;
744
+ isPrimaryKey: false;
745
+ isAutoincrement: false;
746
+ hasRuntimeDefault: false;
747
+ enumValues: undefined;
748
+ baseColumn: never;
749
+ identity: undefined;
750
+ generated: undefined;
751
+ }, {}, {}>;
752
+ currency: import("drizzle-orm/pg-core").PgColumn<{
753
+ name: "currency";
754
+ tableName: "policy_rules";
755
+ dataType: "string";
756
+ columnType: "PgText";
757
+ data: string;
758
+ driverParam: string;
759
+ notNull: false;
760
+ hasDefault: false;
761
+ isPrimaryKey: false;
762
+ isAutoincrement: false;
763
+ hasRuntimeDefault: false;
764
+ enumValues: [string, ...string[]];
765
+ baseColumn: never;
766
+ identity: undefined;
767
+ generated: undefined;
768
+ }, {}, {}>;
769
+ validFrom: import("drizzle-orm/pg-core").PgColumn<{
770
+ name: "valid_from";
771
+ tableName: "policy_rules";
772
+ dataType: "string";
773
+ columnType: "PgDateString";
774
+ data: string;
775
+ driverParam: string;
776
+ notNull: false;
777
+ hasDefault: false;
778
+ isPrimaryKey: false;
779
+ isAutoincrement: false;
780
+ hasRuntimeDefault: false;
781
+ enumValues: undefined;
782
+ baseColumn: never;
783
+ identity: undefined;
784
+ generated: undefined;
785
+ }, {}, {}>;
786
+ validTo: import("drizzle-orm/pg-core").PgColumn<{
787
+ name: "valid_to";
788
+ tableName: "policy_rules";
789
+ dataType: "string";
790
+ columnType: "PgDateString";
791
+ data: string;
792
+ driverParam: string;
793
+ notNull: false;
794
+ hasDefault: false;
795
+ isPrimaryKey: false;
796
+ isAutoincrement: false;
797
+ hasRuntimeDefault: false;
798
+ enumValues: undefined;
799
+ baseColumn: never;
800
+ identity: undefined;
801
+ generated: undefined;
802
+ }, {}, {}>;
803
+ conditions: import("drizzle-orm/pg-core").PgColumn<{
804
+ name: "conditions";
805
+ tableName: "policy_rules";
806
+ dataType: "json";
807
+ columnType: "PgJsonb";
808
+ data: unknown;
809
+ driverParam: unknown;
810
+ notNull: false;
811
+ hasDefault: false;
812
+ isPrimaryKey: false;
813
+ isAutoincrement: false;
814
+ hasRuntimeDefault: false;
815
+ enumValues: undefined;
816
+ baseColumn: never;
817
+ identity: undefined;
818
+ generated: undefined;
819
+ }, {}, {}>;
820
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
821
+ name: "sort_order";
822
+ tableName: "policy_rules";
823
+ dataType: "number";
824
+ columnType: "PgInteger";
825
+ data: number;
826
+ driverParam: string | number;
827
+ notNull: true;
828
+ hasDefault: true;
829
+ isPrimaryKey: false;
830
+ isAutoincrement: false;
831
+ hasRuntimeDefault: false;
832
+ enumValues: undefined;
833
+ baseColumn: never;
834
+ identity: undefined;
835
+ generated: undefined;
836
+ }, {}, {}>;
837
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
838
+ name: "created_at";
839
+ tableName: "policy_rules";
840
+ dataType: "date";
841
+ columnType: "PgTimestamp";
842
+ data: Date;
843
+ driverParam: string;
844
+ notNull: true;
845
+ hasDefault: true;
846
+ isPrimaryKey: false;
847
+ isAutoincrement: false;
848
+ hasRuntimeDefault: false;
849
+ enumValues: undefined;
850
+ baseColumn: never;
851
+ identity: undefined;
852
+ generated: undefined;
853
+ }, {}, {}>;
854
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
855
+ name: "updated_at";
856
+ tableName: "policy_rules";
857
+ dataType: "date";
858
+ columnType: "PgTimestamp";
859
+ data: Date;
860
+ driverParam: string;
861
+ notNull: true;
862
+ hasDefault: true;
863
+ isPrimaryKey: false;
864
+ isAutoincrement: false;
865
+ hasRuntimeDefault: false;
866
+ enumValues: undefined;
867
+ baseColumn: never;
868
+ identity: undefined;
869
+ generated: undefined;
870
+ }, {}, {}>;
871
+ }, "single", Record<"policy_rules", "not-null">, false, "where" | "orderBy", {
872
+ id: string;
873
+ policyVersionId: string;
874
+ ruleType: "custom" | "window" | "percentage" | "flat_amount" | "date_range";
875
+ label: string | null;
876
+ daysBeforeDeparture: number | null;
877
+ refundPercent: number | null;
878
+ refundType: "cash" | "credit" | "cash_or_credit" | "none" | null;
879
+ flatAmountCents: number | null;
880
+ currency: string | null;
881
+ validFrom: string | null;
882
+ validTo: string | null;
883
+ conditions: unknown;
884
+ sortOrder: number;
885
+ createdAt: Date;
886
+ updatedAt: Date;
887
+ }[], {
888
+ id: import("drizzle-orm/pg-core").PgColumn<{
889
+ name: string;
890
+ tableName: "policy_rules";
891
+ dataType: "string";
892
+ columnType: "PgText";
893
+ data: string;
894
+ driverParam: string;
895
+ notNull: true;
896
+ hasDefault: true;
897
+ isPrimaryKey: true;
898
+ isAutoincrement: false;
899
+ hasRuntimeDefault: true;
900
+ enumValues: [string, ...string[]];
901
+ baseColumn: never;
902
+ identity: undefined;
903
+ generated: undefined;
904
+ }, {}, {}>;
905
+ policyVersionId: import("drizzle-orm/pg-core").PgColumn<{
906
+ name: string;
907
+ tableName: "policy_rules";
908
+ dataType: "string";
909
+ columnType: "PgText";
910
+ data: string;
911
+ driverParam: string;
912
+ notNull: true;
913
+ hasDefault: false;
914
+ isPrimaryKey: false;
915
+ isAutoincrement: false;
916
+ hasRuntimeDefault: false;
917
+ enumValues: [string, ...string[]];
918
+ baseColumn: never;
919
+ identity: undefined;
920
+ generated: undefined;
921
+ }, {}, {}>;
922
+ ruleType: import("drizzle-orm/pg-core").PgColumn<{
923
+ name: "rule_type";
924
+ tableName: "policy_rules";
925
+ dataType: "string";
926
+ columnType: "PgEnumColumn";
927
+ data: "custom" | "window" | "percentage" | "flat_amount" | "date_range";
928
+ driverParam: string;
929
+ notNull: true;
930
+ hasDefault: false;
931
+ isPrimaryKey: false;
932
+ isAutoincrement: false;
933
+ hasRuntimeDefault: false;
934
+ enumValues: ["window", "percentage", "flat_amount", "date_range", "custom"];
935
+ baseColumn: never;
936
+ identity: undefined;
937
+ generated: undefined;
938
+ }, {}, {}>;
939
+ label: import("drizzle-orm/pg-core").PgColumn<{
940
+ name: "label";
941
+ tableName: "policy_rules";
942
+ dataType: "string";
943
+ columnType: "PgText";
944
+ data: string;
945
+ driverParam: string;
946
+ notNull: false;
947
+ hasDefault: false;
948
+ isPrimaryKey: false;
949
+ isAutoincrement: false;
950
+ hasRuntimeDefault: false;
951
+ enumValues: [string, ...string[]];
952
+ baseColumn: never;
953
+ identity: undefined;
954
+ generated: undefined;
955
+ }, {}, {}>;
956
+ daysBeforeDeparture: import("drizzle-orm/pg-core").PgColumn<{
957
+ name: "days_before_departure";
958
+ tableName: "policy_rules";
959
+ dataType: "number";
960
+ columnType: "PgInteger";
961
+ data: number;
962
+ driverParam: string | number;
963
+ notNull: false;
964
+ hasDefault: false;
965
+ isPrimaryKey: false;
966
+ isAutoincrement: false;
967
+ hasRuntimeDefault: false;
968
+ enumValues: undefined;
969
+ baseColumn: never;
970
+ identity: undefined;
971
+ generated: undefined;
972
+ }, {}, {}>;
973
+ refundPercent: import("drizzle-orm/pg-core").PgColumn<{
974
+ name: "refund_percent";
975
+ tableName: "policy_rules";
976
+ dataType: "number";
977
+ columnType: "PgInteger";
978
+ data: number;
979
+ driverParam: string | number;
980
+ notNull: false;
981
+ hasDefault: false;
982
+ isPrimaryKey: false;
983
+ isAutoincrement: false;
984
+ hasRuntimeDefault: false;
985
+ enumValues: undefined;
986
+ baseColumn: never;
987
+ identity: undefined;
988
+ generated: undefined;
989
+ }, {}, {}>;
990
+ refundType: import("drizzle-orm/pg-core").PgColumn<{
991
+ name: "refund_type";
992
+ tableName: "policy_rules";
993
+ dataType: "string";
994
+ columnType: "PgEnumColumn";
995
+ data: "cash" | "credit" | "cash_or_credit" | "none";
996
+ driverParam: string;
997
+ notNull: false;
998
+ hasDefault: false;
999
+ isPrimaryKey: false;
1000
+ isAutoincrement: false;
1001
+ hasRuntimeDefault: false;
1002
+ enumValues: ["cash", "credit", "cash_or_credit", "none"];
1003
+ baseColumn: never;
1004
+ identity: undefined;
1005
+ generated: undefined;
1006
+ }, {}, {}>;
1007
+ flatAmountCents: import("drizzle-orm/pg-core").PgColumn<{
1008
+ name: "flat_amount_cents";
1009
+ tableName: "policy_rules";
1010
+ dataType: "number";
1011
+ columnType: "PgInteger";
1012
+ data: number;
1013
+ driverParam: string | number;
1014
+ notNull: false;
1015
+ hasDefault: false;
1016
+ isPrimaryKey: false;
1017
+ isAutoincrement: false;
1018
+ hasRuntimeDefault: false;
1019
+ enumValues: undefined;
1020
+ baseColumn: never;
1021
+ identity: undefined;
1022
+ generated: undefined;
1023
+ }, {}, {}>;
1024
+ currency: import("drizzle-orm/pg-core").PgColumn<{
1025
+ name: "currency";
1026
+ tableName: "policy_rules";
1027
+ dataType: "string";
1028
+ columnType: "PgText";
1029
+ data: string;
1030
+ driverParam: string;
1031
+ notNull: false;
1032
+ hasDefault: false;
1033
+ isPrimaryKey: false;
1034
+ isAutoincrement: false;
1035
+ hasRuntimeDefault: false;
1036
+ enumValues: [string, ...string[]];
1037
+ baseColumn: never;
1038
+ identity: undefined;
1039
+ generated: undefined;
1040
+ }, {}, {}>;
1041
+ validFrom: import("drizzle-orm/pg-core").PgColumn<{
1042
+ name: "valid_from";
1043
+ tableName: "policy_rules";
1044
+ dataType: "string";
1045
+ columnType: "PgDateString";
1046
+ data: string;
1047
+ driverParam: string;
1048
+ notNull: false;
1049
+ hasDefault: false;
1050
+ isPrimaryKey: false;
1051
+ isAutoincrement: false;
1052
+ hasRuntimeDefault: false;
1053
+ enumValues: undefined;
1054
+ baseColumn: never;
1055
+ identity: undefined;
1056
+ generated: undefined;
1057
+ }, {}, {}>;
1058
+ validTo: import("drizzle-orm/pg-core").PgColumn<{
1059
+ name: "valid_to";
1060
+ tableName: "policy_rules";
1061
+ dataType: "string";
1062
+ columnType: "PgDateString";
1063
+ data: string;
1064
+ driverParam: string;
1065
+ notNull: false;
1066
+ hasDefault: false;
1067
+ isPrimaryKey: false;
1068
+ isAutoincrement: false;
1069
+ hasRuntimeDefault: false;
1070
+ enumValues: undefined;
1071
+ baseColumn: never;
1072
+ identity: undefined;
1073
+ generated: undefined;
1074
+ }, {}, {}>;
1075
+ conditions: import("drizzle-orm/pg-core").PgColumn<{
1076
+ name: "conditions";
1077
+ tableName: "policy_rules";
1078
+ dataType: "json";
1079
+ columnType: "PgJsonb";
1080
+ data: unknown;
1081
+ driverParam: unknown;
1082
+ notNull: false;
1083
+ hasDefault: false;
1084
+ isPrimaryKey: false;
1085
+ isAutoincrement: false;
1086
+ hasRuntimeDefault: false;
1087
+ enumValues: undefined;
1088
+ baseColumn: never;
1089
+ identity: undefined;
1090
+ generated: undefined;
1091
+ }, {}, {}>;
1092
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
1093
+ name: "sort_order";
1094
+ tableName: "policy_rules";
1095
+ dataType: "number";
1096
+ columnType: "PgInteger";
1097
+ data: number;
1098
+ driverParam: string | number;
1099
+ notNull: true;
1100
+ hasDefault: true;
1101
+ isPrimaryKey: false;
1102
+ isAutoincrement: false;
1103
+ hasRuntimeDefault: false;
1104
+ enumValues: undefined;
1105
+ baseColumn: never;
1106
+ identity: undefined;
1107
+ generated: undefined;
1108
+ }, {}, {}>;
1109
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1110
+ name: "created_at";
1111
+ tableName: "policy_rules";
1112
+ dataType: "date";
1113
+ columnType: "PgTimestamp";
1114
+ data: Date;
1115
+ driverParam: string;
1116
+ notNull: true;
1117
+ hasDefault: true;
1118
+ isPrimaryKey: false;
1119
+ isAutoincrement: false;
1120
+ hasRuntimeDefault: false;
1121
+ enumValues: undefined;
1122
+ baseColumn: never;
1123
+ identity: undefined;
1124
+ generated: undefined;
1125
+ }, {}, {}>;
1126
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1127
+ name: "updated_at";
1128
+ tableName: "policy_rules";
1129
+ dataType: "date";
1130
+ columnType: "PgTimestamp";
1131
+ data: Date;
1132
+ driverParam: string;
1133
+ notNull: true;
1134
+ hasDefault: true;
1135
+ isPrimaryKey: false;
1136
+ isAutoincrement: false;
1137
+ hasRuntimeDefault: false;
1138
+ enumValues: undefined;
1139
+ baseColumn: never;
1140
+ identity: undefined;
1141
+ generated: undefined;
1142
+ }, {}, {}>;
1143
+ }>, "where" | "orderBy">;
1144
+ createPolicyRule(db: PostgresJsDatabase, versionId: string, data: CreatePolicyRuleInput): Promise<{
1145
+ id: string;
1146
+ createdAt: Date;
1147
+ updatedAt: Date;
1148
+ conditions: unknown;
1149
+ label: string | null;
1150
+ sortOrder: number;
1151
+ currency: string | null;
1152
+ validFrom: string | null;
1153
+ validTo: string | null;
1154
+ policyVersionId: string;
1155
+ ruleType: "custom" | "window" | "percentage" | "flat_amount" | "date_range";
1156
+ daysBeforeDeparture: number | null;
1157
+ refundPercent: number | null;
1158
+ refundType: "cash" | "credit" | "cash_or_credit" | "none" | null;
1159
+ flatAmountCents: number | null;
1160
+ } | null>;
1161
+ updatePolicyRule(db: PostgresJsDatabase, ruleId: string, data: UpdatePolicyRuleInput): Promise<{
1162
+ id: string;
1163
+ policyVersionId: string;
1164
+ ruleType: "custom" | "window" | "percentage" | "flat_amount" | "date_range";
1165
+ label: string | null;
1166
+ daysBeforeDeparture: number | null;
1167
+ refundPercent: number | null;
1168
+ refundType: "cash" | "credit" | "cash_or_credit" | "none" | null;
1169
+ flatAmountCents: number | null;
1170
+ currency: string | null;
1171
+ validFrom: string | null;
1172
+ validTo: string | null;
1173
+ conditions: unknown;
1174
+ sortOrder: number;
1175
+ createdAt: Date;
1176
+ updatedAt: Date;
1177
+ } | null>;
1178
+ deletePolicyRule(db: PostgresJsDatabase, ruleId: string): Promise<{
1179
+ id: string;
1180
+ } | null>;
1181
+ listPolicyAssignments(db: PostgresJsDatabase, query: PolicyAssignmentListQuery): Promise<{
1182
+ data: {
1183
+ id: string;
1184
+ policyId: string;
1185
+ scope: "supplier" | "organization" | "channel" | "product" | "market" | "global";
1186
+ productId: string | null;
1187
+ channelId: string | null;
1188
+ supplierId: string | null;
1189
+ marketId: string | null;
1190
+ organizationId: string | null;
1191
+ validFrom: string | null;
1192
+ validTo: string | null;
1193
+ priority: number;
1194
+ metadata: unknown;
1195
+ createdAt: Date;
1196
+ updatedAt: Date;
1197
+ }[];
1198
+ total: number;
1199
+ limit: number;
1200
+ offset: number;
1201
+ }>;
1202
+ createPolicyAssignment(db: PostgresJsDatabase, data: CreatePolicyAssignmentInput): Promise<{
1203
+ id: string;
1204
+ createdAt: Date;
1205
+ updatedAt: Date;
1206
+ organizationId: string | null;
1207
+ productId: string | null;
1208
+ metadata: unknown;
1209
+ validFrom: string | null;
1210
+ validTo: string | null;
1211
+ supplierId: string | null;
1212
+ scope: "supplier" | "organization" | "channel" | "product" | "market" | "global";
1213
+ channelId: string | null;
1214
+ policyId: string;
1215
+ marketId: string | null;
1216
+ priority: number;
1217
+ } | null>;
1218
+ updatePolicyAssignment(db: PostgresJsDatabase, id: string, data: UpdatePolicyAssignmentInput): Promise<{
1219
+ id: string;
1220
+ policyId: string;
1221
+ scope: "supplier" | "organization" | "channel" | "product" | "market" | "global";
1222
+ productId: string | null;
1223
+ channelId: string | null;
1224
+ supplierId: string | null;
1225
+ marketId: string | null;
1226
+ organizationId: string | null;
1227
+ validFrom: string | null;
1228
+ validTo: string | null;
1229
+ priority: number;
1230
+ metadata: unknown;
1231
+ createdAt: Date;
1232
+ updatedAt: Date;
1233
+ } | null>;
1234
+ deletePolicyAssignment(db: PostgresJsDatabase, id: string): Promise<{
1235
+ id: string;
1236
+ } | null>;
1237
+ resolvePolicy(db: PostgresJsDatabase, input: ResolvePolicyInput): Promise<{
1238
+ policy: {
1239
+ id: string;
1240
+ kind: "other" | "cancellation" | "payment" | "terms_and_conditions" | "privacy" | "refund" | "commission" | "guarantee";
1241
+ name: string;
1242
+ slug: string;
1243
+ description: string | null;
1244
+ language: string;
1245
+ currentVersionId: string | null;
1246
+ metadata: unknown;
1247
+ createdAt: Date;
1248
+ updatedAt: Date;
1249
+ };
1250
+ assignment: {
1251
+ id: string;
1252
+ policyId: string;
1253
+ scope: "supplier" | "organization" | "channel" | "product" | "market" | "global";
1254
+ productId: string | null;
1255
+ channelId: string | null;
1256
+ supplierId: string | null;
1257
+ marketId: string | null;
1258
+ organizationId: string | null;
1259
+ validFrom: string | null;
1260
+ validTo: string | null;
1261
+ priority: number;
1262
+ metadata: unknown;
1263
+ createdAt: Date;
1264
+ updatedAt: Date;
1265
+ };
1266
+ version: {
1267
+ id: string;
1268
+ policyId: string;
1269
+ version: number;
1270
+ status: "draft" | "published" | "retired";
1271
+ title: string;
1272
+ bodyFormat: "markdown" | "html" | "plain";
1273
+ body: string | null;
1274
+ publishedAt: Date | null;
1275
+ publishedBy: string | null;
1276
+ retiredAt: Date | null;
1277
+ metadata: unknown;
1278
+ createdAt: Date;
1279
+ updatedAt: Date;
1280
+ } | null;
1281
+ rules: {
1282
+ id: string;
1283
+ policyVersionId: string;
1284
+ ruleType: "custom" | "window" | "percentage" | "flat_amount" | "date_range";
1285
+ label: string | null;
1286
+ daysBeforeDeparture: number | null;
1287
+ refundPercent: number | null;
1288
+ refundType: "cash" | "credit" | "cash_or_credit" | "none" | null;
1289
+ flatAmountCents: number | null;
1290
+ currency: string | null;
1291
+ validFrom: string | null;
1292
+ validTo: string | null;
1293
+ conditions: unknown;
1294
+ sortOrder: number;
1295
+ createdAt: Date;
1296
+ updatedAt: Date;
1297
+ }[];
1298
+ } | null>;
1299
+ evaluateCancellation(db: PostgresJsDatabase, policyId: string, input: EvaluateCancellationInput): Promise<import("./service-shared.js").CancellationResult | null>;
1300
+ listPolicyAcceptances(db: PostgresJsDatabase, query: PolicyAcceptanceListQuery): Promise<{
1301
+ data: {
1302
+ id: string;
1303
+ policyVersionId: string;
1304
+ personId: string | null;
1305
+ bookingId: string | null;
1306
+ orderId: string | null;
1307
+ offerId: string | null;
1308
+ acceptedAt: Date;
1309
+ acceptedBy: string | null;
1310
+ method: "signature" | "implicit" | "explicit_checkbox";
1311
+ ipAddress: string | null;
1312
+ userAgent: string | null;
1313
+ metadata: unknown;
1314
+ createdAt: Date;
1315
+ }[];
1316
+ total: number;
1317
+ limit: number;
1318
+ offset: number;
1319
+ }>;
1320
+ recordPolicyAcceptance(db: PostgresJsDatabase, data: CreatePolicyAcceptanceInput): Promise<{
1321
+ id: string;
1322
+ createdAt: Date;
1323
+ personId: string | null;
1324
+ metadata: unknown;
1325
+ bookingId: string | null;
1326
+ orderId: string | null;
1327
+ method: "signature" | "implicit" | "explicit_checkbox";
1328
+ ipAddress: string | null;
1329
+ userAgent: string | null;
1330
+ policyVersionId: string;
1331
+ offerId: string | null;
1332
+ acceptedAt: Date;
1333
+ acceptedBy: string | null;
1334
+ } | null>;
1335
+ };
1336
+ //# sourceMappingURL=service-core.d.ts.map