@voyantjs/crm 0.26.3 → 0.26.5

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.
@@ -1,4 +1,714 @@
1
1
  export declare const crmService: {
2
+ listCustomerSignals(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, query: import("./customer-signals.js").CustomerSignalListQuery): Promise<{
3
+ data: {
4
+ id: string;
5
+ personId: string;
6
+ productId: string | null;
7
+ optionUnitId: string | null;
8
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
9
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
10
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
11
+ priority: string;
12
+ notes: string | null;
13
+ tags: string[];
14
+ assignedToUserId: string | null;
15
+ followUpAt: Date | null;
16
+ resolvedBookingId: string | null;
17
+ sourceSubmissionId: string | null;
18
+ metadata: Record<string, unknown> | null;
19
+ createdAt: Date;
20
+ updatedAt: Date;
21
+ }[];
22
+ total: number;
23
+ limit: number;
24
+ offset: number;
25
+ }>;
26
+ listSignalsForPerson(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, personId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"customer_signals", {
27
+ id: import("drizzle-orm/pg-core").PgColumn<{
28
+ name: string;
29
+ tableName: "customer_signals";
30
+ dataType: "string";
31
+ columnType: "PgText";
32
+ data: string;
33
+ driverParam: string;
34
+ notNull: true;
35
+ hasDefault: true;
36
+ isPrimaryKey: true;
37
+ isAutoincrement: false;
38
+ hasRuntimeDefault: true;
39
+ enumValues: [string, ...string[]];
40
+ baseColumn: never;
41
+ identity: undefined;
42
+ generated: undefined;
43
+ }, {}, {}>;
44
+ personId: import("drizzle-orm/pg-core").PgColumn<{
45
+ name: string;
46
+ tableName: "customer_signals";
47
+ dataType: "string";
48
+ columnType: "PgText";
49
+ data: string;
50
+ driverParam: string;
51
+ notNull: true;
52
+ hasDefault: false;
53
+ isPrimaryKey: false;
54
+ isAutoincrement: false;
55
+ hasRuntimeDefault: false;
56
+ enumValues: [string, ...string[]];
57
+ baseColumn: never;
58
+ identity: undefined;
59
+ generated: undefined;
60
+ }, {}, {}>;
61
+ productId: import("drizzle-orm/pg-core").PgColumn<{
62
+ name: "product_id";
63
+ tableName: "customer_signals";
64
+ dataType: "string";
65
+ columnType: "PgText";
66
+ data: string;
67
+ driverParam: string;
68
+ notNull: false;
69
+ hasDefault: false;
70
+ isPrimaryKey: false;
71
+ isAutoincrement: false;
72
+ hasRuntimeDefault: false;
73
+ enumValues: [string, ...string[]];
74
+ baseColumn: never;
75
+ identity: undefined;
76
+ generated: undefined;
77
+ }, {}, {}>;
78
+ optionUnitId: import("drizzle-orm/pg-core").PgColumn<{
79
+ name: "option_unit_id";
80
+ tableName: "customer_signals";
81
+ dataType: "string";
82
+ columnType: "PgText";
83
+ data: string;
84
+ driverParam: string;
85
+ notNull: false;
86
+ hasDefault: false;
87
+ isPrimaryKey: false;
88
+ isAutoincrement: false;
89
+ hasRuntimeDefault: false;
90
+ enumValues: [string, ...string[]];
91
+ baseColumn: never;
92
+ identity: undefined;
93
+ generated: undefined;
94
+ }, {}, {}>;
95
+ kind: import("drizzle-orm/pg-core").PgColumn<{
96
+ name: "kind";
97
+ tableName: "customer_signals";
98
+ dataType: "string";
99
+ columnType: "PgEnumColumn";
100
+ data: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
101
+ driverParam: string;
102
+ notNull: true;
103
+ hasDefault: false;
104
+ isPrimaryKey: false;
105
+ isAutoincrement: false;
106
+ hasRuntimeDefault: false;
107
+ enumValues: ["wishlist", "notify", "inquiry", "request_offer", "referral"];
108
+ baseColumn: never;
109
+ identity: undefined;
110
+ generated: undefined;
111
+ }, {}, {}>;
112
+ source: import("drizzle-orm/pg-core").PgColumn<{
113
+ name: "source";
114
+ tableName: "customer_signals";
115
+ dataType: "string";
116
+ columnType: "PgEnumColumn";
117
+ data: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
118
+ driverParam: string;
119
+ notNull: true;
120
+ hasDefault: false;
121
+ isPrimaryKey: false;
122
+ isAutoincrement: false;
123
+ hasRuntimeDefault: false;
124
+ enumValues: ["form", "phone", "admin", "abandoned_cart", "website", "booking"];
125
+ baseColumn: never;
126
+ identity: undefined;
127
+ generated: undefined;
128
+ }, {}, {}>;
129
+ status: import("drizzle-orm/pg-core").PgColumn<{
130
+ name: "status";
131
+ tableName: "customer_signals";
132
+ dataType: "string";
133
+ columnType: "PgEnumColumn";
134
+ data: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
135
+ driverParam: string;
136
+ notNull: true;
137
+ hasDefault: true;
138
+ isPrimaryKey: false;
139
+ isAutoincrement: false;
140
+ hasRuntimeDefault: false;
141
+ enumValues: ["new", "contacted", "qualified", "converted", "lost", "expired"];
142
+ baseColumn: never;
143
+ identity: undefined;
144
+ generated: undefined;
145
+ }, {}, {}>;
146
+ priority: import("drizzle-orm/pg-core").PgColumn<{
147
+ name: "priority";
148
+ tableName: "customer_signals";
149
+ dataType: "string";
150
+ columnType: "PgText";
151
+ data: string;
152
+ driverParam: string;
153
+ notNull: true;
154
+ hasDefault: true;
155
+ isPrimaryKey: false;
156
+ isAutoincrement: false;
157
+ hasRuntimeDefault: false;
158
+ enumValues: [string, ...string[]];
159
+ baseColumn: never;
160
+ identity: undefined;
161
+ generated: undefined;
162
+ }, {}, {}>;
163
+ notes: import("drizzle-orm/pg-core").PgColumn<{
164
+ name: "notes";
165
+ tableName: "customer_signals";
166
+ dataType: "string";
167
+ columnType: "PgText";
168
+ data: string;
169
+ driverParam: string;
170
+ notNull: false;
171
+ hasDefault: false;
172
+ isPrimaryKey: false;
173
+ isAutoincrement: false;
174
+ hasRuntimeDefault: false;
175
+ enumValues: [string, ...string[]];
176
+ baseColumn: never;
177
+ identity: undefined;
178
+ generated: undefined;
179
+ }, {}, {}>;
180
+ tags: import("drizzle-orm/pg-core").PgColumn<{
181
+ name: "tags";
182
+ tableName: "customer_signals";
183
+ dataType: "json";
184
+ columnType: "PgJsonb";
185
+ data: string[];
186
+ driverParam: unknown;
187
+ notNull: true;
188
+ hasDefault: true;
189
+ isPrimaryKey: false;
190
+ isAutoincrement: false;
191
+ hasRuntimeDefault: false;
192
+ enumValues: undefined;
193
+ baseColumn: never;
194
+ identity: undefined;
195
+ generated: undefined;
196
+ }, {}, {
197
+ $type: string[];
198
+ }>;
199
+ assignedToUserId: import("drizzle-orm/pg-core").PgColumn<{
200
+ name: "assigned_to_user_id";
201
+ tableName: "customer_signals";
202
+ dataType: "string";
203
+ columnType: "PgText";
204
+ data: string;
205
+ driverParam: string;
206
+ notNull: false;
207
+ hasDefault: false;
208
+ isPrimaryKey: false;
209
+ isAutoincrement: false;
210
+ hasRuntimeDefault: false;
211
+ enumValues: [string, ...string[]];
212
+ baseColumn: never;
213
+ identity: undefined;
214
+ generated: undefined;
215
+ }, {}, {}>;
216
+ followUpAt: import("drizzle-orm/pg-core").PgColumn<{
217
+ name: "follow_up_at";
218
+ tableName: "customer_signals";
219
+ dataType: "date";
220
+ columnType: "PgTimestamp";
221
+ data: Date;
222
+ driverParam: string;
223
+ notNull: false;
224
+ hasDefault: false;
225
+ isPrimaryKey: false;
226
+ isAutoincrement: false;
227
+ hasRuntimeDefault: false;
228
+ enumValues: undefined;
229
+ baseColumn: never;
230
+ identity: undefined;
231
+ generated: undefined;
232
+ }, {}, {}>;
233
+ resolvedBookingId: import("drizzle-orm/pg-core").PgColumn<{
234
+ name: "resolved_booking_id";
235
+ tableName: "customer_signals";
236
+ dataType: "string";
237
+ columnType: "PgText";
238
+ data: string;
239
+ driverParam: string;
240
+ notNull: false;
241
+ hasDefault: false;
242
+ isPrimaryKey: false;
243
+ isAutoincrement: false;
244
+ hasRuntimeDefault: false;
245
+ enumValues: [string, ...string[]];
246
+ baseColumn: never;
247
+ identity: undefined;
248
+ generated: undefined;
249
+ }, {}, {}>;
250
+ sourceSubmissionId: import("drizzle-orm/pg-core").PgColumn<{
251
+ name: "source_submission_id";
252
+ tableName: "customer_signals";
253
+ dataType: "string";
254
+ columnType: "PgText";
255
+ data: string;
256
+ driverParam: string;
257
+ notNull: false;
258
+ hasDefault: false;
259
+ isPrimaryKey: false;
260
+ isAutoincrement: false;
261
+ hasRuntimeDefault: false;
262
+ enumValues: [string, ...string[]];
263
+ baseColumn: never;
264
+ identity: undefined;
265
+ generated: undefined;
266
+ }, {}, {}>;
267
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
268
+ name: "metadata";
269
+ tableName: "customer_signals";
270
+ dataType: "json";
271
+ columnType: "PgJsonb";
272
+ data: Record<string, unknown>;
273
+ driverParam: unknown;
274
+ notNull: false;
275
+ hasDefault: false;
276
+ isPrimaryKey: false;
277
+ isAutoincrement: false;
278
+ hasRuntimeDefault: false;
279
+ enumValues: undefined;
280
+ baseColumn: never;
281
+ identity: undefined;
282
+ generated: undefined;
283
+ }, {}, {
284
+ $type: Record<string, unknown>;
285
+ }>;
286
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
287
+ name: "created_at";
288
+ tableName: "customer_signals";
289
+ dataType: "date";
290
+ columnType: "PgTimestamp";
291
+ data: Date;
292
+ driverParam: string;
293
+ notNull: true;
294
+ hasDefault: true;
295
+ isPrimaryKey: false;
296
+ isAutoincrement: false;
297
+ hasRuntimeDefault: false;
298
+ enumValues: undefined;
299
+ baseColumn: never;
300
+ identity: undefined;
301
+ generated: undefined;
302
+ }, {}, {}>;
303
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
304
+ name: "updated_at";
305
+ tableName: "customer_signals";
306
+ dataType: "date";
307
+ columnType: "PgTimestamp";
308
+ data: Date;
309
+ driverParam: string;
310
+ notNull: true;
311
+ hasDefault: true;
312
+ isPrimaryKey: false;
313
+ isAutoincrement: false;
314
+ hasRuntimeDefault: false;
315
+ enumValues: undefined;
316
+ baseColumn: never;
317
+ identity: undefined;
318
+ generated: undefined;
319
+ }, {}, {}>;
320
+ }, "single", Record<"customer_signals", "not-null">, false, "where" | "orderBy", {
321
+ id: string;
322
+ personId: string;
323
+ productId: string | null;
324
+ optionUnitId: string | null;
325
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
326
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
327
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
328
+ priority: string;
329
+ notes: string | null;
330
+ tags: string[];
331
+ assignedToUserId: string | null;
332
+ followUpAt: Date | null;
333
+ resolvedBookingId: string | null;
334
+ sourceSubmissionId: string | null;
335
+ metadata: Record<string, unknown> | null;
336
+ createdAt: Date;
337
+ updatedAt: Date;
338
+ }[], {
339
+ id: import("drizzle-orm/pg-core").PgColumn<{
340
+ name: string;
341
+ tableName: "customer_signals";
342
+ dataType: "string";
343
+ columnType: "PgText";
344
+ data: string;
345
+ driverParam: string;
346
+ notNull: true;
347
+ hasDefault: true;
348
+ isPrimaryKey: true;
349
+ isAutoincrement: false;
350
+ hasRuntimeDefault: true;
351
+ enumValues: [string, ...string[]];
352
+ baseColumn: never;
353
+ identity: undefined;
354
+ generated: undefined;
355
+ }, {}, {}>;
356
+ personId: import("drizzle-orm/pg-core").PgColumn<{
357
+ name: string;
358
+ tableName: "customer_signals";
359
+ dataType: "string";
360
+ columnType: "PgText";
361
+ data: string;
362
+ driverParam: string;
363
+ notNull: true;
364
+ hasDefault: false;
365
+ isPrimaryKey: false;
366
+ isAutoincrement: false;
367
+ hasRuntimeDefault: false;
368
+ enumValues: [string, ...string[]];
369
+ baseColumn: never;
370
+ identity: undefined;
371
+ generated: undefined;
372
+ }, {}, {}>;
373
+ productId: import("drizzle-orm/pg-core").PgColumn<{
374
+ name: "product_id";
375
+ tableName: "customer_signals";
376
+ dataType: "string";
377
+ columnType: "PgText";
378
+ data: string;
379
+ driverParam: string;
380
+ notNull: false;
381
+ hasDefault: false;
382
+ isPrimaryKey: false;
383
+ isAutoincrement: false;
384
+ hasRuntimeDefault: false;
385
+ enumValues: [string, ...string[]];
386
+ baseColumn: never;
387
+ identity: undefined;
388
+ generated: undefined;
389
+ }, {}, {}>;
390
+ optionUnitId: import("drizzle-orm/pg-core").PgColumn<{
391
+ name: "option_unit_id";
392
+ tableName: "customer_signals";
393
+ dataType: "string";
394
+ columnType: "PgText";
395
+ data: string;
396
+ driverParam: string;
397
+ notNull: false;
398
+ hasDefault: false;
399
+ isPrimaryKey: false;
400
+ isAutoincrement: false;
401
+ hasRuntimeDefault: false;
402
+ enumValues: [string, ...string[]];
403
+ baseColumn: never;
404
+ identity: undefined;
405
+ generated: undefined;
406
+ }, {}, {}>;
407
+ kind: import("drizzle-orm/pg-core").PgColumn<{
408
+ name: "kind";
409
+ tableName: "customer_signals";
410
+ dataType: "string";
411
+ columnType: "PgEnumColumn";
412
+ data: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
413
+ driverParam: string;
414
+ notNull: true;
415
+ hasDefault: false;
416
+ isPrimaryKey: false;
417
+ isAutoincrement: false;
418
+ hasRuntimeDefault: false;
419
+ enumValues: ["wishlist", "notify", "inquiry", "request_offer", "referral"];
420
+ baseColumn: never;
421
+ identity: undefined;
422
+ generated: undefined;
423
+ }, {}, {}>;
424
+ source: import("drizzle-orm/pg-core").PgColumn<{
425
+ name: "source";
426
+ tableName: "customer_signals";
427
+ dataType: "string";
428
+ columnType: "PgEnumColumn";
429
+ data: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
430
+ driverParam: string;
431
+ notNull: true;
432
+ hasDefault: false;
433
+ isPrimaryKey: false;
434
+ isAutoincrement: false;
435
+ hasRuntimeDefault: false;
436
+ enumValues: ["form", "phone", "admin", "abandoned_cart", "website", "booking"];
437
+ baseColumn: never;
438
+ identity: undefined;
439
+ generated: undefined;
440
+ }, {}, {}>;
441
+ status: import("drizzle-orm/pg-core").PgColumn<{
442
+ name: "status";
443
+ tableName: "customer_signals";
444
+ dataType: "string";
445
+ columnType: "PgEnumColumn";
446
+ data: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
447
+ driverParam: string;
448
+ notNull: true;
449
+ hasDefault: true;
450
+ isPrimaryKey: false;
451
+ isAutoincrement: false;
452
+ hasRuntimeDefault: false;
453
+ enumValues: ["new", "contacted", "qualified", "converted", "lost", "expired"];
454
+ baseColumn: never;
455
+ identity: undefined;
456
+ generated: undefined;
457
+ }, {}, {}>;
458
+ priority: import("drizzle-orm/pg-core").PgColumn<{
459
+ name: "priority";
460
+ tableName: "customer_signals";
461
+ dataType: "string";
462
+ columnType: "PgText";
463
+ data: string;
464
+ driverParam: string;
465
+ notNull: true;
466
+ hasDefault: true;
467
+ isPrimaryKey: false;
468
+ isAutoincrement: false;
469
+ hasRuntimeDefault: false;
470
+ enumValues: [string, ...string[]];
471
+ baseColumn: never;
472
+ identity: undefined;
473
+ generated: undefined;
474
+ }, {}, {}>;
475
+ notes: import("drizzle-orm/pg-core").PgColumn<{
476
+ name: "notes";
477
+ tableName: "customer_signals";
478
+ dataType: "string";
479
+ columnType: "PgText";
480
+ data: string;
481
+ driverParam: string;
482
+ notNull: false;
483
+ hasDefault: false;
484
+ isPrimaryKey: false;
485
+ isAutoincrement: false;
486
+ hasRuntimeDefault: false;
487
+ enumValues: [string, ...string[]];
488
+ baseColumn: never;
489
+ identity: undefined;
490
+ generated: undefined;
491
+ }, {}, {}>;
492
+ tags: import("drizzle-orm/pg-core").PgColumn<{
493
+ name: "tags";
494
+ tableName: "customer_signals";
495
+ dataType: "json";
496
+ columnType: "PgJsonb";
497
+ data: string[];
498
+ driverParam: unknown;
499
+ notNull: true;
500
+ hasDefault: true;
501
+ isPrimaryKey: false;
502
+ isAutoincrement: false;
503
+ hasRuntimeDefault: false;
504
+ enumValues: undefined;
505
+ baseColumn: never;
506
+ identity: undefined;
507
+ generated: undefined;
508
+ }, {}, {
509
+ $type: string[];
510
+ }>;
511
+ assignedToUserId: import("drizzle-orm/pg-core").PgColumn<{
512
+ name: "assigned_to_user_id";
513
+ tableName: "customer_signals";
514
+ dataType: "string";
515
+ columnType: "PgText";
516
+ data: string;
517
+ driverParam: string;
518
+ notNull: false;
519
+ hasDefault: false;
520
+ isPrimaryKey: false;
521
+ isAutoincrement: false;
522
+ hasRuntimeDefault: false;
523
+ enumValues: [string, ...string[]];
524
+ baseColumn: never;
525
+ identity: undefined;
526
+ generated: undefined;
527
+ }, {}, {}>;
528
+ followUpAt: import("drizzle-orm/pg-core").PgColumn<{
529
+ name: "follow_up_at";
530
+ tableName: "customer_signals";
531
+ dataType: "date";
532
+ columnType: "PgTimestamp";
533
+ data: Date;
534
+ driverParam: string;
535
+ notNull: false;
536
+ hasDefault: false;
537
+ isPrimaryKey: false;
538
+ isAutoincrement: false;
539
+ hasRuntimeDefault: false;
540
+ enumValues: undefined;
541
+ baseColumn: never;
542
+ identity: undefined;
543
+ generated: undefined;
544
+ }, {}, {}>;
545
+ resolvedBookingId: import("drizzle-orm/pg-core").PgColumn<{
546
+ name: "resolved_booking_id";
547
+ tableName: "customer_signals";
548
+ dataType: "string";
549
+ columnType: "PgText";
550
+ data: string;
551
+ driverParam: string;
552
+ notNull: false;
553
+ hasDefault: false;
554
+ isPrimaryKey: false;
555
+ isAutoincrement: false;
556
+ hasRuntimeDefault: false;
557
+ enumValues: [string, ...string[]];
558
+ baseColumn: never;
559
+ identity: undefined;
560
+ generated: undefined;
561
+ }, {}, {}>;
562
+ sourceSubmissionId: import("drizzle-orm/pg-core").PgColumn<{
563
+ name: "source_submission_id";
564
+ tableName: "customer_signals";
565
+ dataType: "string";
566
+ columnType: "PgText";
567
+ data: string;
568
+ driverParam: string;
569
+ notNull: false;
570
+ hasDefault: false;
571
+ isPrimaryKey: false;
572
+ isAutoincrement: false;
573
+ hasRuntimeDefault: false;
574
+ enumValues: [string, ...string[]];
575
+ baseColumn: never;
576
+ identity: undefined;
577
+ generated: undefined;
578
+ }, {}, {}>;
579
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
580
+ name: "metadata";
581
+ tableName: "customer_signals";
582
+ dataType: "json";
583
+ columnType: "PgJsonb";
584
+ data: Record<string, unknown>;
585
+ driverParam: unknown;
586
+ notNull: false;
587
+ hasDefault: false;
588
+ isPrimaryKey: false;
589
+ isAutoincrement: false;
590
+ hasRuntimeDefault: false;
591
+ enumValues: undefined;
592
+ baseColumn: never;
593
+ identity: undefined;
594
+ generated: undefined;
595
+ }, {}, {
596
+ $type: Record<string, unknown>;
597
+ }>;
598
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
599
+ name: "created_at";
600
+ tableName: "customer_signals";
601
+ dataType: "date";
602
+ columnType: "PgTimestamp";
603
+ data: Date;
604
+ driverParam: string;
605
+ notNull: true;
606
+ hasDefault: true;
607
+ isPrimaryKey: false;
608
+ isAutoincrement: false;
609
+ hasRuntimeDefault: false;
610
+ enumValues: undefined;
611
+ baseColumn: never;
612
+ identity: undefined;
613
+ generated: undefined;
614
+ }, {}, {}>;
615
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
616
+ name: "updated_at";
617
+ tableName: "customer_signals";
618
+ dataType: "date";
619
+ columnType: "PgTimestamp";
620
+ data: Date;
621
+ driverParam: string;
622
+ notNull: true;
623
+ hasDefault: true;
624
+ isPrimaryKey: false;
625
+ isAutoincrement: false;
626
+ hasRuntimeDefault: false;
627
+ enumValues: undefined;
628
+ baseColumn: never;
629
+ identity: undefined;
630
+ generated: undefined;
631
+ }, {}, {}>;
632
+ }>, "where" | "orderBy">;
633
+ getCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
634
+ id: string;
635
+ personId: string;
636
+ productId: string | null;
637
+ optionUnitId: string | null;
638
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
639
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
640
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
641
+ priority: string;
642
+ notes: string | null;
643
+ tags: string[];
644
+ assignedToUserId: string | null;
645
+ followUpAt: Date | null;
646
+ resolvedBookingId: string | null;
647
+ sourceSubmissionId: string | null;
648
+ metadata: Record<string, unknown> | null;
649
+ createdAt: Date;
650
+ updatedAt: Date;
651
+ } | null>;
652
+ createCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, data: import("./customer-signals.js").CreateCustomerSignalInput): Promise<{
653
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
654
+ metadata: Record<string, unknown> | null;
655
+ id: string;
656
+ createdAt: Date;
657
+ updatedAt: Date;
658
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
659
+ notes: string | null;
660
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
661
+ tags: string[];
662
+ personId: string;
663
+ productId: string | null;
664
+ optionUnitId: string | null;
665
+ priority: string;
666
+ assignedToUserId: string | null;
667
+ followUpAt: Date | null;
668
+ resolvedBookingId: string | null;
669
+ sourceSubmissionId: string | null;
670
+ } | null>;
671
+ updateCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string, data: import("./customer-signals.js").UpdateCustomerSignalInput): Promise<{
672
+ id: string;
673
+ personId: string;
674
+ productId: string | null;
675
+ optionUnitId: string | null;
676
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
677
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
678
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
679
+ priority: string;
680
+ notes: string | null;
681
+ tags: string[];
682
+ assignedToUserId: string | null;
683
+ followUpAt: Date | null;
684
+ resolvedBookingId: string | null;
685
+ sourceSubmissionId: string | null;
686
+ metadata: Record<string, unknown> | null;
687
+ createdAt: Date;
688
+ updatedAt: Date;
689
+ } | null>;
690
+ deleteCustomerSignal(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, id: string): Promise<{
691
+ id: string;
692
+ } | null>;
693
+ resolveCustomerSignalToBooking(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, signalId: string, bookingId: string): Promise<{
694
+ id: string;
695
+ personId: string;
696
+ productId: string | null;
697
+ optionUnitId: string | null;
698
+ kind: "wishlist" | "notify" | "inquiry" | "request_offer" | "referral";
699
+ source: "admin" | "form" | "phone" | "website" | "abandoned_cart" | "booking";
700
+ status: "lost" | "expired" | "new" | "contacted" | "qualified" | "converted";
701
+ priority: string;
702
+ notes: string | null;
703
+ tags: string[];
704
+ assignedToUserId: string | null;
705
+ followUpAt: Date | null;
706
+ resolvedBookingId: string | null;
707
+ sourceSubmissionId: string | null;
708
+ metadata: Record<string, unknown> | null;
709
+ createdAt: Date;
710
+ updatedAt: Date;
711
+ } | null>;
2
712
  listPersonRelationships(db: import("drizzle-orm/postgres-js").PostgresJsDatabase, personId: string, query?: import("./person-relationships.js").PersonRelationshipListQuery): Omit<import("drizzle-orm/pg-core").PgSelectBase<"person_relationships", {
3
713
  id: import("drizzle-orm/pg-core").PgColumn<{
4
714
  name: string;
@@ -5179,6 +5889,8 @@ export declare const crmService: {
5179
5889
  id: string;
5180
5890
  } | null>;
5181
5891
  };
5892
+ export type { CreateCustomerSignalInput, CustomerSignalListQuery, UpdateCustomerSignalInput, } from "./customer-signals.js";
5893
+ export { customerSignalsService } from "./customer-signals.js";
5182
5894
  export type { CreatePersonDocumentInput, PersonDocumentListQuery, PersonDocumentType, PersonTravelSnapshot, UpdatePersonDocumentInput, } from "./person-documents.js";
5183
5895
  export { personDocumentNumberPlaintextSchema, personDocumentsService, personPiiBlobPlaintextSchema, } from "./person-documents.js";
5184
5896
  export type { CreatePersonRelationshipInput, PersonRelationshipKind, PersonRelationshipListQuery, UpdatePersonRelationshipInput, } from "./person-relationships.js";