@instockng/api-client 1.0.21 → 1.0.24

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.
@@ -228,125 +228,7 @@ export declare function useGetCart(cartId: string, options?: Omit<UseQueryOption
228
228
  flat?: boolean;
229
229
  };
230
230
  };
231
- };
232
- id: string;
233
- name: string | null;
234
- createdAt: string;
235
- updatedAt: string;
236
- deletedAt: string;
237
- isActive: boolean;
238
- thumbnailUrl: string | null;
239
- productId: string;
240
- sku: string;
241
- trackInventory: boolean;
242
- lowStockThreshold: number | null;
243
- };
244
- quantity: number;
245
- basePrice: number;
246
- discountPercent: number;
247
- finalPrice: number;
248
- subtotal: number;
249
- }[];
250
- pricing: {
251
- subtotal: number;
252
- deliveryCharge: number;
253
- discount: {
254
- code: string;
255
- type: "percentage" | "fixed";
256
- value: number;
257
- amount: number;
258
- description: string | null;
259
- };
260
- total: number;
261
- };
262
- createdAt: string;
263
- updatedAt: string;
264
- expiresAt: string;
265
- convertedToOrderId: string;
266
- wasRecovered: boolean;
267
- recoveryUrl: string;
268
- }, Error>;
269
- /**
270
- * Hook to update cart using RPC
271
- *
272
- * @param cartId - Cart UUID
273
- * @param options - React Query mutation options
274
- *
275
- * @example
276
- * ```tsx
277
- * const updateCart = useUpdateCart('cart-123');
278
- * updateCart.mutate({
279
- * customerEmail: 'user@example.com',
280
- * deliveryZoneId: 'zone-123'
281
- * });
282
- * ```
283
- */
284
- export declare function useUpdateCart(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof updateCart>>, Error, Parameters<typeof updateCart>[1]>): import("@tanstack/react-query").UseMutationResult<{
285
- id: string;
286
- brand: {
287
- createdAt: string;
288
- updatedAt: string;
289
- deletedAt: string;
290
- id: string;
291
- name: string;
292
- slug: string;
293
- logoUrl: string | null;
294
- siteUrl: string;
295
- domain: string;
296
- metaPixelId: string | null;
297
- tiktokPixelId: string | null;
298
- paystackPublicKey: string | null;
299
- paystackSecretKey: string | null;
300
- };
301
- customerPhone: string;
302
- customerEmail: string;
303
- customerFirstName: string;
304
- customerLastName: string;
305
- availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
306
- deliveryZone: {
307
- id: string;
308
- name: string;
309
- };
310
- recoveryAttempts: number;
311
- lastRecoveryAttemptAt: string;
312
- recoveryDiscountCode: {
313
- id: string;
314
- type: string;
315
- value: string;
316
- createdAt: string;
317
- updatedAt: string;
318
- deletedAt: string;
319
- brandId: string | null;
320
- isActive: boolean;
321
- code: string;
322
- minPurchase: string;
323
- maxDiscount: string;
324
- usageLimit: number | null;
325
- usageCount: number;
326
- perCustomerLimit: number | null;
327
- validFrom: string;
328
- validUntil: string;
329
- isAutoApply: boolean;
330
- description: string | null;
331
- category: string;
332
- createdBy: string | null;
333
- };
334
- items: {
335
- id: string;
336
- variant: {
337
- price: number;
338
- product: {
339
- id: string;
340
- name: string;
341
- slug: string;
342
- createdAt: string;
343
- updatedAt: string;
344
- deletedAt: string;
345
- brandId: string;
346
- isActive: boolean;
347
- description: string | null;
348
- thumbnailUrl: string | null;
349
- quantityDiscounts: string | number | boolean | {
231
+ media: string | number | boolean | {
350
232
  [x: string]: string | number | boolean | /*elided*/ any | {
351
233
  [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
352
234
  length: number;
@@ -491,133 +373,8 @@ export declare function useUpdateCart(cartId: string, options?: UseMutationOptio
491
373
  flat?: boolean;
492
374
  };
493
375
  };
494
- };
495
- id: string;
496
- name: string | null;
497
- createdAt: string;
498
- updatedAt: string;
499
- deletedAt: string;
500
- isActive: boolean;
501
- thumbnailUrl: string | null;
502
- productId: string;
503
- sku: string;
504
- trackInventory: boolean;
505
- lowStockThreshold: number | null;
506
- };
507
- quantity: number;
508
- basePrice: number;
509
- discountPercent: number;
510
- finalPrice: number;
511
- subtotal: number;
512
- }[];
513
- pricing: {
514
- subtotal: number;
515
- deliveryCharge: number;
516
- discount: {
517
- code: string;
518
- type: "percentage" | "fixed";
519
- value: number;
520
- amount: number;
521
- description: string | null;
522
- };
523
- total: number;
524
- };
525
- createdAt: string;
526
- updatedAt: string;
527
- expiresAt: string;
528
- convertedToOrderId: string;
529
- wasRecovered: boolean;
530
- recoveryUrl: string;
531
- } | {
532
- error: {
533
- code: string;
534
- message: string;
535
- };
536
- }, Error, {
537
- customerPhone?: string | null;
538
- customerEmail?: string | null;
539
- customerFirstName?: string | null;
540
- customerLastName?: string | null;
541
- deliveryZoneId?: string | null;
542
- ifUnmodifiedSince?: string;
543
- }, unknown>;
544
- /**
545
- * Hook to create a new cart using RPC
546
- *
547
- * @param options - React Query mutation options
548
- *
549
- * @example
550
- * ```tsx
551
- * const createCart = useCreateCart();
552
- * createCart.mutate('my-brand');
553
- * ```
554
- */
555
- export declare function useCreateCart(options?: UseMutationOptions<Awaited<ReturnType<typeof createCart>>, Error, string>): import("@tanstack/react-query").UseMutationResult<{
556
- id: string;
557
- brand: {
558
- createdAt: string;
559
- updatedAt: string;
560
- deletedAt: string;
561
- id: string;
562
- name: string;
563
- slug: string;
564
- logoUrl: string | null;
565
- siteUrl: string;
566
- domain: string;
567
- metaPixelId: string | null;
568
- tiktokPixelId: string | null;
569
- paystackPublicKey: string | null;
570
- paystackSecretKey: string | null;
571
- };
572
- customerPhone: string;
573
- customerEmail: string;
574
- customerFirstName: string;
575
- customerLastName: string;
576
- availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
577
- deliveryZone: {
578
- id: string;
579
- name: string;
580
- };
581
- recoveryAttempts: number;
582
- lastRecoveryAttemptAt: string;
583
- recoveryDiscountCode: {
584
- id: string;
585
- type: string;
586
- value: string;
587
- createdAt: string;
588
- updatedAt: string;
589
- deletedAt: string;
590
- brandId: string | null;
591
- isActive: boolean;
592
- code: string;
593
- minPurchase: string;
594
- maxDiscount: string;
595
- usageLimit: number | null;
596
- usageCount: number;
597
- perCustomerLimit: number | null;
598
- validFrom: string;
599
- validUntil: string;
600
- isAutoApply: boolean;
601
- description: string | null;
602
- category: string;
603
- createdBy: string | null;
604
- };
605
- items: {
606
- id: string;
607
- variant: {
608
- price: number;
609
- product: {
610
- id: string;
611
- name: string;
612
- slug: string;
613
- createdAt: string;
614
- updatedAt: string;
615
- deletedAt: string;
616
- brandId: string;
617
- isActive: boolean;
618
- description: string | null;
619
- thumbnailUrl: string | null;
620
- quantityDiscounts: string | number | boolean | {
376
+ features: string | null;
377
+ faqs: string | number | boolean | {
621
378
  [x: string]: string | number | boolean | /*elided*/ any | {
622
379
  [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
623
380
  length: number;
@@ -772,6 +529,7 @@ export declare function useCreateCart(options?: UseMutationOptions<Awaited<Retur
772
529
  thumbnailUrl: string | null;
773
530
  productId: string;
774
531
  sku: string;
532
+ compareAtPrice: string;
775
533
  trackInventory: boolean;
776
534
  lowStockThreshold: number | null;
777
535
  };
@@ -799,22 +557,23 @@ export declare function useCreateCart(options?: UseMutationOptions<Awaited<Retur
799
557
  convertedToOrderId: string;
800
558
  wasRecovered: boolean;
801
559
  recoveryUrl: string;
802
- }, Error, string, unknown>;
560
+ }, Error>;
803
561
  /**
804
- * Hook to apply discount code to cart using RPC
562
+ * Hook to update cart using RPC
805
563
  *
806
564
  * @param cartId - Cart UUID
807
565
  * @param options - React Query mutation options
808
566
  *
809
567
  * @example
810
568
  * ```tsx
811
- * const applyDiscount = useApplyDiscount('cart-123');
812
- * applyDiscount.mutate({ code: 'SAVE10' });
813
- * ```
814
- */
815
- export declare function useApplyDiscount(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof applyDiscount>>, Error, {
816
- code: string;
817
- }>): import("@tanstack/react-query").UseMutationResult<{
569
+ * const updateCart = useUpdateCart('cart-123');
570
+ * updateCart.mutate({
571
+ * customerEmail: 'user@example.com',
572
+ * deliveryZoneId: 'zone-123'
573
+ * });
574
+ * ```
575
+ */
576
+ export declare function useUpdateCart(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof updateCart>>, Error, Parameters<typeof updateCart>[1]>): import("@tanstack/react-query").UseMutationResult<{
818
577
  id: string;
819
578
  brand: {
820
579
  createdAt: string;
@@ -1024,129 +783,7 @@ export declare function useApplyDiscount(cartId: string, options?: UseMutationOp
1024
783
  flat?: boolean;
1025
784
  };
1026
785
  };
1027
- };
1028
- id: string;
1029
- name: string | null;
1030
- createdAt: string;
1031
- updatedAt: string;
1032
- deletedAt: string;
1033
- isActive: boolean;
1034
- thumbnailUrl: string | null;
1035
- productId: string;
1036
- sku: string;
1037
- trackInventory: boolean;
1038
- lowStockThreshold: number | null;
1039
- };
1040
- quantity: number;
1041
- basePrice: number;
1042
- discountPercent: number;
1043
- finalPrice: number;
1044
- subtotal: number;
1045
- }[];
1046
- pricing: {
1047
- subtotal: number;
1048
- deliveryCharge: number;
1049
- discount: {
1050
- code: string;
1051
- type: "percentage" | "fixed";
1052
- value: number;
1053
- amount: number;
1054
- description: string | null;
1055
- };
1056
- total: number;
1057
- };
1058
- createdAt: string;
1059
- updatedAt: string;
1060
- expiresAt: string;
1061
- convertedToOrderId: string;
1062
- wasRecovered: boolean;
1063
- recoveryUrl: string;
1064
- } | {
1065
- error: {
1066
- code: string;
1067
- message: string;
1068
- };
1069
- }, Error, {
1070
- code: string;
1071
- }, unknown>;
1072
- /**
1073
- * Hook to remove discount code from cart using RPC
1074
- *
1075
- * @param cartId - Cart UUID
1076
- * @param options - React Query mutation options
1077
- *
1078
- * @example
1079
- * ```tsx
1080
- * const removeDiscount = useRemoveDiscount('cart-123');
1081
- * removeDiscount.mutate();
1082
- * ```
1083
- */
1084
- export declare function useRemoveDiscount(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof removeDiscount>>, Error, void>): import("@tanstack/react-query").UseMutationResult<{
1085
- id: string;
1086
- brand: {
1087
- createdAt: string;
1088
- updatedAt: string;
1089
- deletedAt: string;
1090
- id: string;
1091
- name: string;
1092
- slug: string;
1093
- logoUrl: string | null;
1094
- siteUrl: string;
1095
- domain: string;
1096
- metaPixelId: string | null;
1097
- tiktokPixelId: string | null;
1098
- paystackPublicKey: string | null;
1099
- paystackSecretKey: string | null;
1100
- };
1101
- customerPhone: string;
1102
- customerEmail: string;
1103
- customerFirstName: string;
1104
- customerLastName: string;
1105
- availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
1106
- deliveryZone: {
1107
- id: string;
1108
- name: string;
1109
- };
1110
- recoveryAttempts: number;
1111
- lastRecoveryAttemptAt: string;
1112
- recoveryDiscountCode: {
1113
- id: string;
1114
- type: string;
1115
- value: string;
1116
- createdAt: string;
1117
- updatedAt: string;
1118
- deletedAt: string;
1119
- brandId: string | null;
1120
- isActive: boolean;
1121
- code: string;
1122
- minPurchase: string;
1123
- maxDiscount: string;
1124
- usageLimit: number | null;
1125
- usageCount: number;
1126
- perCustomerLimit: number | null;
1127
- validFrom: string;
1128
- validUntil: string;
1129
- isAutoApply: boolean;
1130
- description: string | null;
1131
- category: string;
1132
- createdBy: string | null;
1133
- };
1134
- items: {
1135
- id: string;
1136
- variant: {
1137
- price: number;
1138
- product: {
1139
- id: string;
1140
- name: string;
1141
- slug: string;
1142
- createdAt: string;
1143
- updatedAt: string;
1144
- deletedAt: string;
1145
- brandId: string;
1146
- isActive: boolean;
1147
- description: string | null;
1148
- thumbnailUrl: string | null;
1149
- quantityDiscounts: string | number | boolean | {
786
+ media: string | number | boolean | {
1150
787
  [x: string]: string | number | boolean | /*elided*/ any | {
1151
788
  [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
1152
789
  length: number;
@@ -1291,135 +928,8 @@ export declare function useRemoveDiscount(cartId: string, options?: UseMutationO
1291
928
  flat?: boolean;
1292
929
  };
1293
930
  };
1294
- };
1295
- id: string;
1296
- name: string | null;
1297
- createdAt: string;
1298
- updatedAt: string;
1299
- deletedAt: string;
1300
- isActive: boolean;
1301
- thumbnailUrl: string | null;
1302
- productId: string;
1303
- sku: string;
1304
- trackInventory: boolean;
1305
- lowStockThreshold: number | null;
1306
- };
1307
- quantity: number;
1308
- basePrice: number;
1309
- discountPercent: number;
1310
- finalPrice: number;
1311
- subtotal: number;
1312
- }[];
1313
- pricing: {
1314
- subtotal: number;
1315
- deliveryCharge: number;
1316
- discount: {
1317
- code: string;
1318
- type: "percentage" | "fixed";
1319
- value: number;
1320
- amount: number;
1321
- description: string | null;
1322
- };
1323
- total: number;
1324
- };
1325
- createdAt: string;
1326
- updatedAt: string;
1327
- expiresAt: string;
1328
- convertedToOrderId: string;
1329
- wasRecovered: boolean;
1330
- recoveryUrl: string;
1331
- } | {
1332
- error: {
1333
- code: string;
1334
- message: string;
1335
- };
1336
- }, Error, void, unknown>;
1337
- /**
1338
- * Hook to add item to cart using RPC
1339
- *
1340
- * @param cartId - Cart UUID
1341
- * @param options - React Query mutation options
1342
- *
1343
- * @example
1344
- * ```tsx
1345
- * const addItem = useAddCartItem('cart-123');
1346
- * addItem.mutate({ sku: 'PROD-001', quantity: 2, fbc: '_fbc_cookie', fbp: '_fbp_cookie', ttp: '_ttp_cookie', ttclid: 'tiktok_click_id' });
1347
- * ```
1348
- */
1349
- export declare function useAddCartItem(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof addCartItem>>, Error, {
1350
- sku: string;
1351
- quantity: number;
1352
- fbc?: string;
1353
- fbp?: string;
1354
- ttp?: string;
1355
- ttclid?: string;
1356
- refreshRecommendations?: boolean;
1357
- }>): import("@tanstack/react-query").UseMutationResult<{
1358
- id: string;
1359
- brand: {
1360
- createdAt: string;
1361
- updatedAt: string;
1362
- deletedAt: string;
1363
- id: string;
1364
- name: string;
1365
- slug: string;
1366
- logoUrl: string | null;
1367
- siteUrl: string;
1368
- domain: string;
1369
- metaPixelId: string | null;
1370
- tiktokPixelId: string | null;
1371
- paystackPublicKey: string | null;
1372
- paystackSecretKey: string | null;
1373
- };
1374
- customerPhone: string;
1375
- customerEmail: string;
1376
- customerFirstName: string;
1377
- customerLastName: string;
1378
- availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
1379
- deliveryZone: {
1380
- id: string;
1381
- name: string;
1382
- };
1383
- recoveryAttempts: number;
1384
- lastRecoveryAttemptAt: string;
1385
- recoveryDiscountCode: {
1386
- id: string;
1387
- type: string;
1388
- value: string;
1389
- createdAt: string;
1390
- updatedAt: string;
1391
- deletedAt: string;
1392
- brandId: string | null;
1393
- isActive: boolean;
1394
- code: string;
1395
- minPurchase: string;
1396
- maxDiscount: string;
1397
- usageLimit: number | null;
1398
- usageCount: number;
1399
- perCustomerLimit: number | null;
1400
- validFrom: string;
1401
- validUntil: string;
1402
- isAutoApply: boolean;
1403
- description: string | null;
1404
- category: string;
1405
- createdBy: string | null;
1406
- };
1407
- items: {
1408
- id: string;
1409
- variant: {
1410
- price: number;
1411
- product: {
1412
- id: string;
1413
- name: string;
1414
- slug: string;
1415
- createdAt: string;
1416
- updatedAt: string;
1417
- deletedAt: string;
1418
- brandId: string;
1419
- isActive: boolean;
1420
- description: string | null;
1421
- thumbnailUrl: string | null;
1422
- quantityDiscounts: string | number | boolean | {
931
+ features: string | null;
932
+ faqs: string | number | boolean | {
1423
933
  [x: string]: string | number | boolean | /*elided*/ any | {
1424
934
  [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
1425
935
  length: number;
@@ -1574,6 +1084,7 @@ export declare function useAddCartItem(cartId: string, options?: UseMutationOpti
1574
1084
  thumbnailUrl: string | null;
1575
1085
  productId: string;
1576
1086
  sku: string;
1087
+ compareAtPrice: string;
1577
1088
  trackInventory: boolean;
1578
1089
  lowStockThreshold: number | null;
1579
1090
  };
@@ -1607,30 +1118,25 @@ export declare function useAddCartItem(cartId: string, options?: UseMutationOpti
1607
1118
  message: string;
1608
1119
  };
1609
1120
  }, Error, {
1610
- sku: string;
1611
- quantity: number;
1612
- fbc?: string;
1613
- fbp?: string;
1614
- ttp?: string;
1615
- ttclid?: string;
1616
- refreshRecommendations?: boolean;
1121
+ customerPhone?: string | null;
1122
+ customerEmail?: string | null;
1123
+ customerFirstName?: string | null;
1124
+ customerLastName?: string | null;
1125
+ deliveryZoneId?: string | null;
1126
+ ifUnmodifiedSince?: string;
1617
1127
  }, unknown>;
1618
1128
  /**
1619
- * Hook to update cart item quantity using RPC
1129
+ * Hook to create a new cart using RPC
1620
1130
  *
1621
- * @param cartId - Cart UUID
1622
1131
  * @param options - React Query mutation options
1623
1132
  *
1624
1133
  * @example
1625
1134
  * ```tsx
1626
- * const updateItem = useUpdateCartItem('cart-123');
1627
- * updateItem.mutate({ itemId: 'item-456', quantity: 3 });
1135
+ * const createCart = useCreateCart();
1136
+ * createCart.mutate('my-brand');
1628
1137
  * ```
1629
1138
  */
1630
- export declare function useUpdateCartItem(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof updateCartItem>>, Error, {
1631
- itemId: string;
1632
- quantity: number;
1633
- }>): import("@tanstack/react-query").UseMutationResult<{
1139
+ export declare function useCreateCart(options?: UseMutationOptions<Awaited<ReturnType<typeof createCart>>, Error, string>): import("@tanstack/react-query").UseMutationResult<{
1634
1140
  id: string;
1635
1141
  brand: {
1636
1142
  createdAt: string;
@@ -1840,125 +1346,7 @@ export declare function useUpdateCartItem(cartId: string, options?: UseMutationO
1840
1346
  flat?: boolean;
1841
1347
  };
1842
1348
  };
1843
- };
1844
- id: string;
1845
- name: string | null;
1846
- createdAt: string;
1847
- updatedAt: string;
1848
- deletedAt: string;
1849
- isActive: boolean;
1850
- thumbnailUrl: string | null;
1851
- productId: string;
1852
- sku: string;
1853
- trackInventory: boolean;
1854
- lowStockThreshold: number | null;
1855
- };
1856
- quantity: number;
1857
- basePrice: number;
1858
- discountPercent: number;
1859
- finalPrice: number;
1860
- subtotal: number;
1861
- }[];
1862
- pricing: {
1863
- subtotal: number;
1864
- deliveryCharge: number;
1865
- discount: {
1866
- code: string;
1867
- type: "percentage" | "fixed";
1868
- value: number;
1869
- amount: number;
1870
- description: string | null;
1871
- };
1872
- total: number;
1873
- };
1874
- createdAt: string;
1875
- updatedAt: string;
1876
- expiresAt: string;
1877
- convertedToOrderId: string;
1878
- wasRecovered: boolean;
1879
- recoveryUrl: string;
1880
- }, Error, {
1881
- itemId: string;
1882
- quantity: number;
1883
- }, unknown>;
1884
- /**
1885
- * Hook to remove item from cart using RPC
1886
- *
1887
- * @param cartId - Cart UUID
1888
- * @param options - React Query mutation options
1889
- *
1890
- * @example
1891
- * ```tsx
1892
- * const removeItem = useRemoveCartItem('cart-123');
1893
- * removeItem.mutate('item-456'); // Pass itemId in mutate call
1894
- * ```
1895
- */
1896
- export declare function useRemoveCartItem(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof removeCartItem>>, Error, string>): import("@tanstack/react-query").UseMutationResult<{
1897
- id: string;
1898
- brand: {
1899
- createdAt: string;
1900
- updatedAt: string;
1901
- deletedAt: string;
1902
- id: string;
1903
- name: string;
1904
- slug: string;
1905
- logoUrl: string | null;
1906
- siteUrl: string;
1907
- domain: string;
1908
- metaPixelId: string | null;
1909
- tiktokPixelId: string | null;
1910
- paystackPublicKey: string | null;
1911
- paystackSecretKey: string | null;
1912
- };
1913
- customerPhone: string;
1914
- customerEmail: string;
1915
- customerFirstName: string;
1916
- customerLastName: string;
1917
- availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
1918
- deliveryZone: {
1919
- id: string;
1920
- name: string;
1921
- };
1922
- recoveryAttempts: number;
1923
- lastRecoveryAttemptAt: string;
1924
- recoveryDiscountCode: {
1925
- id: string;
1926
- type: string;
1927
- value: string;
1928
- createdAt: string;
1929
- updatedAt: string;
1930
- deletedAt: string;
1931
- brandId: string | null;
1932
- isActive: boolean;
1933
- code: string;
1934
- minPurchase: string;
1935
- maxDiscount: string;
1936
- usageLimit: number | null;
1937
- usageCount: number;
1938
- perCustomerLimit: number | null;
1939
- validFrom: string;
1940
- validUntil: string;
1941
- isAutoApply: boolean;
1942
- description: string | null;
1943
- category: string;
1944
- createdBy: string | null;
1945
- };
1946
- items: {
1947
- id: string;
1948
- variant: {
1949
- price: number;
1950
- product: {
1951
- id: string;
1952
- name: string;
1953
- slug: string;
1954
- createdAt: string;
1955
- updatedAt: string;
1956
- deletedAt: string;
1957
- brandId: string;
1958
- isActive: boolean;
1959
- description: string | null;
1960
- thumbnailUrl: string | null;
1961
- quantityDiscounts: string | number | boolean | {
1349
+ media: string | number | boolean | {
1962
1350
  [x: string]: string | number | boolean | /*elided*/ any | {
1963
1351
  [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
1964
1352
  length: number;
@@ -2103,135 +1491,8 @@ export declare function useRemoveCartItem(cartId: string, options?: UseMutationO
2103
1491
  flat?: boolean;
2104
1492
  };
2105
1493
  };
2106
- };
2107
- id: string;
2108
- name: string | null;
2109
- createdAt: string;
2110
- updatedAt: string;
2111
- deletedAt: string;
2112
- isActive: boolean;
2113
- thumbnailUrl: string | null;
2114
- productId: string;
2115
- sku: string;
2116
- trackInventory: boolean;
2117
- lowStockThreshold: number | null;
2118
- };
2119
- quantity: number;
2120
- basePrice: number;
2121
- discountPercent: number;
2122
- finalPrice: number;
2123
- subtotal: number;
2124
- }[];
2125
- pricing: {
2126
- subtotal: number;
2127
- deliveryCharge: number;
2128
- discount: {
2129
- code: string;
2130
- type: "percentage" | "fixed";
2131
- value: number;
2132
- amount: number;
2133
- description: string | null;
2134
- };
2135
- total: number;
2136
- };
2137
- createdAt: string;
2138
- updatedAt: string;
2139
- expiresAt: string;
2140
- convertedToOrderId: string;
2141
- wasRecovered: boolean;
2142
- recoveryUrl: string;
2143
- }, Error, string, unknown>;
2144
- /**
2145
- * Hook to checkout a cart and create an order using RPC
2146
- *
2147
- * @param cartId - Cart UUID
2148
- * @param options - React Query mutation options
2149
- *
2150
- * @example
2151
- * ```tsx
2152
- * const checkout = useCheckoutCart('cart-123');
2153
- * checkout.mutate({
2154
- * firstName: 'John',
2155
- * lastName: 'Doe',
2156
- * email: 'john@example.com',
2157
- * phone: '+1234567890',
2158
- * address: '123 Main St',
2159
- * city: 'New York',
2160
- * deliveryZoneId: 'zone-123',
2161
- * paymentMethod: 'cod'
2162
- * });
2163
- * ```
2164
- */
2165
- export declare function useCheckoutCart(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof checkoutCart>>, Error, Parameters<typeof checkoutCart>[1]>): import("@tanstack/react-query").UseMutationResult<{
2166
- subtotal: number;
2167
- deliveryCharge: number;
2168
- totalPrice: number;
2169
- discountAmount: number;
2170
- createdAt: string;
2171
- updatedAt: string;
2172
- deletedAt: string;
2173
- prospectSince: string;
2174
- lastRecoveryAttemptAt: string;
2175
- brand: {
2176
- createdAt: string;
2177
- updatedAt: string;
2178
- deletedAt: string;
2179
- id: string;
2180
- name: string;
2181
- slug: string;
2182
- logoUrl: string | null;
2183
- siteUrl: string;
2184
- domain: string;
2185
- metaPixelId: string | null;
2186
- tiktokPixelId: string | null;
2187
- paystackPublicKey: string | null;
2188
- paystackSecretKey: string | null;
2189
- };
2190
- deliveryZone: {
2191
- deliveryCost: number;
2192
- freeShippingThreshold: number;
2193
- createdAt: string;
2194
- updatedAt: string;
2195
- deletedAt: string;
2196
- state: {
2197
- createdAt: string;
2198
- updatedAt: string;
2199
- deletedAt: string;
2200
- id: string;
2201
- name: string;
2202
- isActive: boolean;
2203
- };
2204
- id: string;
2205
- name: string;
2206
- brandId: string | null;
2207
- stateId: string;
2208
- allowCOD: boolean;
2209
- allowOnline: boolean;
2210
- waybillOnly: boolean;
2211
- estimatedDays: number | null;
2212
- noteTitle: string | null;
2213
- noteContent: string | null;
2214
- isActive: boolean;
2215
- };
2216
- items: {
2217
- priceAtPurchase: number;
2218
- variant: {
2219
- price: number;
2220
- createdAt: string;
2221
- updatedAt: string;
2222
- deletedAt: string;
2223
- product: {
2224
- createdAt: string;
2225
- updatedAt: string;
2226
- deletedAt: string;
2227
- id: string;
2228
- name: string;
2229
- slug: string;
2230
- brandId: string;
2231
- isActive: boolean;
2232
- description: string | null;
2233
- thumbnailUrl: string | null;
2234
- quantityDiscounts: string | number | boolean | {
1494
+ features: string | null;
1495
+ faqs: string | number | boolean | {
2235
1496
  [x: string]: string | number | boolean | /*elided*/ any | {
2236
1497
  [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2237
1498
  length: number;
@@ -2379,81 +1640,58 @@ export declare function useCheckoutCart(cartId: string, options?: UseMutationOpt
2379
1640
  };
2380
1641
  id: string;
2381
1642
  name: string | null;
1643
+ createdAt: string;
1644
+ updatedAt: string;
1645
+ deletedAt: string;
2382
1646
  isActive: boolean;
2383
1647
  thumbnailUrl: string | null;
2384
1648
  productId: string;
2385
1649
  sku: string;
1650
+ compareAtPrice: string;
2386
1651
  trackInventory: boolean;
2387
1652
  lowStockThreshold: number | null;
2388
1653
  };
2389
- warehouse: {
2390
- createdAt: string;
2391
- updatedAt: string;
2392
- deletedAt: string;
2393
- id: string;
2394
- name: string;
2395
- isActive: boolean;
2396
- address: string | null;
2397
- city: string | null;
2398
- state: string | null;
2399
- };
2400
- id: string;
2401
- orderId: string;
2402
- variantId: string;
2403
- warehouseId: string | null;
2404
1654
  quantity: number;
1655
+ basePrice: number;
1656
+ discountPercent: number;
1657
+ finalPrice: number;
1658
+ subtotal: number;
2405
1659
  }[];
2406
- email: string | null;
2407
- id: string;
2408
- brandId: string;
2409
- deliveryZoneId: string;
2410
- recoveryAttempts: number;
2411
- recoveryDiscountCodeId: string | null;
1660
+ pricing: {
1661
+ subtotal: number;
1662
+ deliveryCharge: number;
1663
+ discount: {
1664
+ code: string;
1665
+ type: "percentage" | "fixed";
1666
+ value: number;
1667
+ amount: number;
1668
+ description: string | null;
1669
+ };
1670
+ total: number;
1671
+ };
1672
+ createdAt: string;
1673
+ updatedAt: string;
1674
+ expiresAt: string;
1675
+ convertedToOrderId: string;
2412
1676
  wasRecovered: boolean;
2413
- estimatedDays: number | null;
2414
- orderNumber: number;
2415
- firstName: string;
2416
- lastName: string;
2417
- phone: string;
2418
- address: string;
2419
- city: string;
2420
- discountCodeId: string | null;
2421
- paymentMethod: import("@prisma/client").$Enums.PaymentMethod;
2422
- paystackReference: string | null;
2423
- status: import("@prisma/client").$Enums.OrderStatus;
2424
- cancellationReason: string | null;
2425
- prospectReason: import("@prisma/client").$Enums.ProspectReason | null;
2426
- userActionToken: string;
2427
- }, Error, {
2428
- firstName: string;
2429
- lastName: string;
2430
- phone?: string;
2431
- email?: string;
2432
- address: string;
2433
- city: string;
2434
- deliveryZoneId: string;
2435
- paymentMethod: "cod" | "online";
2436
- paystackReference?: string;
2437
- ifUnmodifiedSince?: string;
2438
- fbc?: string;
2439
- fbp?: string;
2440
- ttp?: string;
2441
- ttclid?: string;
2442
- }, unknown>;
1677
+ recoveryUrl: string;
1678
+ }, Error, string, unknown>;
2443
1679
  /**
2444
- * Hook to get recommended products for a cart using RPC
1680
+ * Hook to apply discount code to cart using RPC
2445
1681
  *
2446
1682
  * @param cartId - Cart UUID
2447
- * @param limit - Maximum number of recommendations (default: 6)
2448
- * @param options - React Query options
1683
+ * @param options - React Query mutation options
2449
1684
  *
2450
1685
  * @example
2451
1686
  * ```tsx
2452
- * const { data: recommendations, isLoading } = useGetCartRecommendations('cart-123', 6);
2453
- * console.log(recommendations); // Array of products from same brand
1687
+ * const applyDiscount = useApplyDiscount('cart-123');
1688
+ * applyDiscount.mutate({ code: 'SAVE10' });
2454
1689
  * ```
2455
1690
  */
2456
- export declare function useGetCartRecommendations(cartId: string | null | undefined, limit: number, options?: Omit<UseQueryOptions<Awaited<ReturnType<typeof fetchCartRecommendations>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
1691
+ export declare function useApplyDiscount(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof applyDiscount>>, Error, {
1692
+ code: string;
1693
+ }>): import("@tanstack/react-query").UseMutationResult<{
1694
+ id: string;
2457
1695
  brand: {
2458
1696
  createdAt: string;
2459
1697
  updatedAt: string;
@@ -2469,31 +1707,3708 @@ export declare function useGetCartRecommendations(cartId: string | null | undefi
2469
1707
  paystackPublicKey: string | null;
2470
1708
  paystackSecretKey: string | null;
2471
1709
  };
2472
- variants: {
1710
+ customerPhone: string;
1711
+ customerEmail: string;
1712
+ customerFirstName: string;
1713
+ customerLastName: string;
1714
+ availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
1715
+ deliveryZone: {
1716
+ id: string;
1717
+ name: string;
1718
+ };
1719
+ recoveryAttempts: number;
1720
+ lastRecoveryAttemptAt: string;
1721
+ recoveryDiscountCode: {
1722
+ id: string;
1723
+ type: string;
1724
+ value: string;
2473
1725
  createdAt: string;
2474
1726
  updatedAt: string;
2475
- price: number;
2476
1727
  deletedAt: string;
2477
- id: string;
2478
- name: string | null;
1728
+ brandId: string | null;
2479
1729
  isActive: boolean;
2480
- thumbnailUrl: string | null;
2481
- productId: string;
2482
- sku: string;
2483
- trackInventory: boolean;
2484
- lowStockThreshold: number | null;
2485
- }[];
2486
- id: string;
2487
- name: string;
2488
- slug: string;
2489
- createdAt: string;
2490
- updatedAt: string;
2491
- deletedAt: string;
2492
- brandId: string;
2493
- isActive: boolean;
2494
- description: string | null;
2495
- thumbnailUrl: string | null;
2496
- quantityDiscounts: string | number | boolean | {
1730
+ code: string;
1731
+ minPurchase: string;
1732
+ maxDiscount: string;
1733
+ usageLimit: number | null;
1734
+ usageCount: number;
1735
+ perCustomerLimit: number | null;
1736
+ validFrom: string;
1737
+ validUntil: string;
1738
+ isAutoApply: boolean;
1739
+ description: string | null;
1740
+ category: string;
1741
+ createdBy: string | null;
1742
+ };
1743
+ items: {
1744
+ id: string;
1745
+ variant: {
1746
+ price: number;
1747
+ product: {
1748
+ id: string;
1749
+ name: string;
1750
+ slug: string;
1751
+ createdAt: string;
1752
+ updatedAt: string;
1753
+ deletedAt: string;
1754
+ brandId: string;
1755
+ isActive: boolean;
1756
+ description: string | null;
1757
+ thumbnailUrl: string | null;
1758
+ quantityDiscounts: string | number | boolean | {
1759
+ [x: string]: string | number | boolean | /*elided*/ any | {
1760
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
1761
+ length: number;
1762
+ toString: never;
1763
+ toLocaleString: never;
1764
+ pop: never;
1765
+ push: never;
1766
+ concat: never;
1767
+ join: never;
1768
+ reverse: never;
1769
+ shift: never;
1770
+ slice: never;
1771
+ sort: never;
1772
+ splice: never;
1773
+ unshift: never;
1774
+ indexOf: never;
1775
+ lastIndexOf: never;
1776
+ every: never;
1777
+ some: never;
1778
+ forEach: never;
1779
+ map: never;
1780
+ filter: never;
1781
+ reduce: never;
1782
+ reduceRight: never;
1783
+ find: never;
1784
+ findIndex: never;
1785
+ fill: never;
1786
+ copyWithin: never;
1787
+ entries: never;
1788
+ keys: never;
1789
+ values: never;
1790
+ includes: never;
1791
+ flatMap: never;
1792
+ flat: never;
1793
+ [Symbol.iterator]: never;
1794
+ readonly [Symbol.unscopables]: {
1795
+ [x: number]: boolean;
1796
+ length?: boolean;
1797
+ toString?: boolean;
1798
+ toLocaleString?: boolean;
1799
+ pop?: boolean;
1800
+ push?: boolean;
1801
+ concat?: boolean;
1802
+ join?: boolean;
1803
+ reverse?: boolean;
1804
+ shift?: boolean;
1805
+ slice?: boolean;
1806
+ sort?: boolean;
1807
+ splice?: boolean;
1808
+ unshift?: boolean;
1809
+ indexOf?: boolean;
1810
+ lastIndexOf?: boolean;
1811
+ every?: boolean;
1812
+ some?: boolean;
1813
+ forEach?: boolean;
1814
+ map?: boolean;
1815
+ filter?: boolean;
1816
+ reduce?: boolean;
1817
+ reduceRight?: boolean;
1818
+ find?: boolean;
1819
+ findIndex?: boolean;
1820
+ fill?: boolean;
1821
+ copyWithin?: boolean;
1822
+ entries?: boolean;
1823
+ keys?: boolean;
1824
+ values?: boolean;
1825
+ includes?: boolean;
1826
+ flatMap?: boolean;
1827
+ flat?: boolean;
1828
+ };
1829
+ };
1830
+ } | {
1831
+ [x: number]: string | number | boolean | {
1832
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
1833
+ } | /*elided*/ any;
1834
+ length: number;
1835
+ toString: never;
1836
+ toLocaleString: never;
1837
+ pop: never;
1838
+ push: never;
1839
+ concat: never;
1840
+ join: never;
1841
+ reverse: never;
1842
+ shift: never;
1843
+ slice: never;
1844
+ sort: never;
1845
+ splice: never;
1846
+ unshift: never;
1847
+ indexOf: never;
1848
+ lastIndexOf: never;
1849
+ every: never;
1850
+ some: never;
1851
+ forEach: never;
1852
+ map: never;
1853
+ filter: never;
1854
+ reduce: never;
1855
+ reduceRight: never;
1856
+ find: never;
1857
+ findIndex: never;
1858
+ fill: never;
1859
+ copyWithin: never;
1860
+ entries: never;
1861
+ keys: never;
1862
+ values: never;
1863
+ includes: never;
1864
+ flatMap: never;
1865
+ flat: never;
1866
+ [Symbol.iterator]: never;
1867
+ readonly [Symbol.unscopables]: {
1868
+ [x: number]: boolean;
1869
+ length?: boolean;
1870
+ toString?: boolean;
1871
+ toLocaleString?: boolean;
1872
+ pop?: boolean;
1873
+ push?: boolean;
1874
+ concat?: boolean;
1875
+ join?: boolean;
1876
+ reverse?: boolean;
1877
+ shift?: boolean;
1878
+ slice?: boolean;
1879
+ sort?: boolean;
1880
+ splice?: boolean;
1881
+ unshift?: boolean;
1882
+ indexOf?: boolean;
1883
+ lastIndexOf?: boolean;
1884
+ every?: boolean;
1885
+ some?: boolean;
1886
+ forEach?: boolean;
1887
+ map?: boolean;
1888
+ filter?: boolean;
1889
+ reduce?: boolean;
1890
+ reduceRight?: boolean;
1891
+ find?: boolean;
1892
+ findIndex?: boolean;
1893
+ fill?: boolean;
1894
+ copyWithin?: boolean;
1895
+ entries?: boolean;
1896
+ keys?: boolean;
1897
+ values?: boolean;
1898
+ includes?: boolean;
1899
+ flatMap?: boolean;
1900
+ flat?: boolean;
1901
+ };
1902
+ };
1903
+ media: string | number | boolean | {
1904
+ [x: string]: string | number | boolean | /*elided*/ any | {
1905
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
1906
+ length: number;
1907
+ toString: never;
1908
+ toLocaleString: never;
1909
+ pop: never;
1910
+ push: never;
1911
+ concat: never;
1912
+ join: never;
1913
+ reverse: never;
1914
+ shift: never;
1915
+ slice: never;
1916
+ sort: never;
1917
+ splice: never;
1918
+ unshift: never;
1919
+ indexOf: never;
1920
+ lastIndexOf: never;
1921
+ every: never;
1922
+ some: never;
1923
+ forEach: never;
1924
+ map: never;
1925
+ filter: never;
1926
+ reduce: never;
1927
+ reduceRight: never;
1928
+ find: never;
1929
+ findIndex: never;
1930
+ fill: never;
1931
+ copyWithin: never;
1932
+ entries: never;
1933
+ keys: never;
1934
+ values: never;
1935
+ includes: never;
1936
+ flatMap: never;
1937
+ flat: never;
1938
+ [Symbol.iterator]: never;
1939
+ readonly [Symbol.unscopables]: {
1940
+ [x: number]: boolean;
1941
+ length?: boolean;
1942
+ toString?: boolean;
1943
+ toLocaleString?: boolean;
1944
+ pop?: boolean;
1945
+ push?: boolean;
1946
+ concat?: boolean;
1947
+ join?: boolean;
1948
+ reverse?: boolean;
1949
+ shift?: boolean;
1950
+ slice?: boolean;
1951
+ sort?: boolean;
1952
+ splice?: boolean;
1953
+ unshift?: boolean;
1954
+ indexOf?: boolean;
1955
+ lastIndexOf?: boolean;
1956
+ every?: boolean;
1957
+ some?: boolean;
1958
+ forEach?: boolean;
1959
+ map?: boolean;
1960
+ filter?: boolean;
1961
+ reduce?: boolean;
1962
+ reduceRight?: boolean;
1963
+ find?: boolean;
1964
+ findIndex?: boolean;
1965
+ fill?: boolean;
1966
+ copyWithin?: boolean;
1967
+ entries?: boolean;
1968
+ keys?: boolean;
1969
+ values?: boolean;
1970
+ includes?: boolean;
1971
+ flatMap?: boolean;
1972
+ flat?: boolean;
1973
+ };
1974
+ };
1975
+ } | {
1976
+ [x: number]: string | number | boolean | {
1977
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
1978
+ } | /*elided*/ any;
1979
+ length: number;
1980
+ toString: never;
1981
+ toLocaleString: never;
1982
+ pop: never;
1983
+ push: never;
1984
+ concat: never;
1985
+ join: never;
1986
+ reverse: never;
1987
+ shift: never;
1988
+ slice: never;
1989
+ sort: never;
1990
+ splice: never;
1991
+ unshift: never;
1992
+ indexOf: never;
1993
+ lastIndexOf: never;
1994
+ every: never;
1995
+ some: never;
1996
+ forEach: never;
1997
+ map: never;
1998
+ filter: never;
1999
+ reduce: never;
2000
+ reduceRight: never;
2001
+ find: never;
2002
+ findIndex: never;
2003
+ fill: never;
2004
+ copyWithin: never;
2005
+ entries: never;
2006
+ keys: never;
2007
+ values: never;
2008
+ includes: never;
2009
+ flatMap: never;
2010
+ flat: never;
2011
+ [Symbol.iterator]: never;
2012
+ readonly [Symbol.unscopables]: {
2013
+ [x: number]: boolean;
2014
+ length?: boolean;
2015
+ toString?: boolean;
2016
+ toLocaleString?: boolean;
2017
+ pop?: boolean;
2018
+ push?: boolean;
2019
+ concat?: boolean;
2020
+ join?: boolean;
2021
+ reverse?: boolean;
2022
+ shift?: boolean;
2023
+ slice?: boolean;
2024
+ sort?: boolean;
2025
+ splice?: boolean;
2026
+ unshift?: boolean;
2027
+ indexOf?: boolean;
2028
+ lastIndexOf?: boolean;
2029
+ every?: boolean;
2030
+ some?: boolean;
2031
+ forEach?: boolean;
2032
+ map?: boolean;
2033
+ filter?: boolean;
2034
+ reduce?: boolean;
2035
+ reduceRight?: boolean;
2036
+ find?: boolean;
2037
+ findIndex?: boolean;
2038
+ fill?: boolean;
2039
+ copyWithin?: boolean;
2040
+ entries?: boolean;
2041
+ keys?: boolean;
2042
+ values?: boolean;
2043
+ includes?: boolean;
2044
+ flatMap?: boolean;
2045
+ flat?: boolean;
2046
+ };
2047
+ };
2048
+ features: string | null;
2049
+ faqs: string | number | boolean | {
2050
+ [x: string]: string | number | boolean | /*elided*/ any | {
2051
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2052
+ length: number;
2053
+ toString: never;
2054
+ toLocaleString: never;
2055
+ pop: never;
2056
+ push: never;
2057
+ concat: never;
2058
+ join: never;
2059
+ reverse: never;
2060
+ shift: never;
2061
+ slice: never;
2062
+ sort: never;
2063
+ splice: never;
2064
+ unshift: never;
2065
+ indexOf: never;
2066
+ lastIndexOf: never;
2067
+ every: never;
2068
+ some: never;
2069
+ forEach: never;
2070
+ map: never;
2071
+ filter: never;
2072
+ reduce: never;
2073
+ reduceRight: never;
2074
+ find: never;
2075
+ findIndex: never;
2076
+ fill: never;
2077
+ copyWithin: never;
2078
+ entries: never;
2079
+ keys: never;
2080
+ values: never;
2081
+ includes: never;
2082
+ flatMap: never;
2083
+ flat: never;
2084
+ [Symbol.iterator]: never;
2085
+ readonly [Symbol.unscopables]: {
2086
+ [x: number]: boolean;
2087
+ length?: boolean;
2088
+ toString?: boolean;
2089
+ toLocaleString?: boolean;
2090
+ pop?: boolean;
2091
+ push?: boolean;
2092
+ concat?: boolean;
2093
+ join?: boolean;
2094
+ reverse?: boolean;
2095
+ shift?: boolean;
2096
+ slice?: boolean;
2097
+ sort?: boolean;
2098
+ splice?: boolean;
2099
+ unshift?: boolean;
2100
+ indexOf?: boolean;
2101
+ lastIndexOf?: boolean;
2102
+ every?: boolean;
2103
+ some?: boolean;
2104
+ forEach?: boolean;
2105
+ map?: boolean;
2106
+ filter?: boolean;
2107
+ reduce?: boolean;
2108
+ reduceRight?: boolean;
2109
+ find?: boolean;
2110
+ findIndex?: boolean;
2111
+ fill?: boolean;
2112
+ copyWithin?: boolean;
2113
+ entries?: boolean;
2114
+ keys?: boolean;
2115
+ values?: boolean;
2116
+ includes?: boolean;
2117
+ flatMap?: boolean;
2118
+ flat?: boolean;
2119
+ };
2120
+ };
2121
+ } | {
2122
+ [x: number]: string | number | boolean | {
2123
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2124
+ } | /*elided*/ any;
2125
+ length: number;
2126
+ toString: never;
2127
+ toLocaleString: never;
2128
+ pop: never;
2129
+ push: never;
2130
+ concat: never;
2131
+ join: never;
2132
+ reverse: never;
2133
+ shift: never;
2134
+ slice: never;
2135
+ sort: never;
2136
+ splice: never;
2137
+ unshift: never;
2138
+ indexOf: never;
2139
+ lastIndexOf: never;
2140
+ every: never;
2141
+ some: never;
2142
+ forEach: never;
2143
+ map: never;
2144
+ filter: never;
2145
+ reduce: never;
2146
+ reduceRight: never;
2147
+ find: never;
2148
+ findIndex: never;
2149
+ fill: never;
2150
+ copyWithin: never;
2151
+ entries: never;
2152
+ keys: never;
2153
+ values: never;
2154
+ includes: never;
2155
+ flatMap: never;
2156
+ flat: never;
2157
+ [Symbol.iterator]: never;
2158
+ readonly [Symbol.unscopables]: {
2159
+ [x: number]: boolean;
2160
+ length?: boolean;
2161
+ toString?: boolean;
2162
+ toLocaleString?: boolean;
2163
+ pop?: boolean;
2164
+ push?: boolean;
2165
+ concat?: boolean;
2166
+ join?: boolean;
2167
+ reverse?: boolean;
2168
+ shift?: boolean;
2169
+ slice?: boolean;
2170
+ sort?: boolean;
2171
+ splice?: boolean;
2172
+ unshift?: boolean;
2173
+ indexOf?: boolean;
2174
+ lastIndexOf?: boolean;
2175
+ every?: boolean;
2176
+ some?: boolean;
2177
+ forEach?: boolean;
2178
+ map?: boolean;
2179
+ filter?: boolean;
2180
+ reduce?: boolean;
2181
+ reduceRight?: boolean;
2182
+ find?: boolean;
2183
+ findIndex?: boolean;
2184
+ fill?: boolean;
2185
+ copyWithin?: boolean;
2186
+ entries?: boolean;
2187
+ keys?: boolean;
2188
+ values?: boolean;
2189
+ includes?: boolean;
2190
+ flatMap?: boolean;
2191
+ flat?: boolean;
2192
+ };
2193
+ };
2194
+ };
2195
+ id: string;
2196
+ name: string | null;
2197
+ createdAt: string;
2198
+ updatedAt: string;
2199
+ deletedAt: string;
2200
+ isActive: boolean;
2201
+ thumbnailUrl: string | null;
2202
+ productId: string;
2203
+ sku: string;
2204
+ compareAtPrice: string;
2205
+ trackInventory: boolean;
2206
+ lowStockThreshold: number | null;
2207
+ };
2208
+ quantity: number;
2209
+ basePrice: number;
2210
+ discountPercent: number;
2211
+ finalPrice: number;
2212
+ subtotal: number;
2213
+ }[];
2214
+ pricing: {
2215
+ subtotal: number;
2216
+ deliveryCharge: number;
2217
+ discount: {
2218
+ code: string;
2219
+ type: "percentage" | "fixed";
2220
+ value: number;
2221
+ amount: number;
2222
+ description: string | null;
2223
+ };
2224
+ total: number;
2225
+ };
2226
+ createdAt: string;
2227
+ updatedAt: string;
2228
+ expiresAt: string;
2229
+ convertedToOrderId: string;
2230
+ wasRecovered: boolean;
2231
+ recoveryUrl: string;
2232
+ } | {
2233
+ error: {
2234
+ code: string;
2235
+ message: string;
2236
+ };
2237
+ }, Error, {
2238
+ code: string;
2239
+ }, unknown>;
2240
+ /**
2241
+ * Hook to remove discount code from cart using RPC
2242
+ *
2243
+ * @param cartId - Cart UUID
2244
+ * @param options - React Query mutation options
2245
+ *
2246
+ * @example
2247
+ * ```tsx
2248
+ * const removeDiscount = useRemoveDiscount('cart-123');
2249
+ * removeDiscount.mutate();
2250
+ * ```
2251
+ */
2252
+ export declare function useRemoveDiscount(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof removeDiscount>>, Error, void>): import("@tanstack/react-query").UseMutationResult<{
2253
+ id: string;
2254
+ brand: {
2255
+ createdAt: string;
2256
+ updatedAt: string;
2257
+ deletedAt: string;
2258
+ id: string;
2259
+ name: string;
2260
+ slug: string;
2261
+ logoUrl: string | null;
2262
+ siteUrl: string;
2263
+ domain: string;
2264
+ metaPixelId: string | null;
2265
+ tiktokPixelId: string | null;
2266
+ paystackPublicKey: string | null;
2267
+ paystackSecretKey: string | null;
2268
+ };
2269
+ customerPhone: string;
2270
+ customerEmail: string;
2271
+ customerFirstName: string;
2272
+ customerLastName: string;
2273
+ availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
2274
+ deliveryZone: {
2275
+ id: string;
2276
+ name: string;
2277
+ };
2278
+ recoveryAttempts: number;
2279
+ lastRecoveryAttemptAt: string;
2280
+ recoveryDiscountCode: {
2281
+ id: string;
2282
+ type: string;
2283
+ value: string;
2284
+ createdAt: string;
2285
+ updatedAt: string;
2286
+ deletedAt: string;
2287
+ brandId: string | null;
2288
+ isActive: boolean;
2289
+ code: string;
2290
+ minPurchase: string;
2291
+ maxDiscount: string;
2292
+ usageLimit: number | null;
2293
+ usageCount: number;
2294
+ perCustomerLimit: number | null;
2295
+ validFrom: string;
2296
+ validUntil: string;
2297
+ isAutoApply: boolean;
2298
+ description: string | null;
2299
+ category: string;
2300
+ createdBy: string | null;
2301
+ };
2302
+ items: {
2303
+ id: string;
2304
+ variant: {
2305
+ price: number;
2306
+ product: {
2307
+ id: string;
2308
+ name: string;
2309
+ slug: string;
2310
+ createdAt: string;
2311
+ updatedAt: string;
2312
+ deletedAt: string;
2313
+ brandId: string;
2314
+ isActive: boolean;
2315
+ description: string | null;
2316
+ thumbnailUrl: string | null;
2317
+ quantityDiscounts: string | number | boolean | {
2318
+ [x: string]: string | number | boolean | /*elided*/ any | {
2319
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2320
+ length: number;
2321
+ toString: never;
2322
+ toLocaleString: never;
2323
+ pop: never;
2324
+ push: never;
2325
+ concat: never;
2326
+ join: never;
2327
+ reverse: never;
2328
+ shift: never;
2329
+ slice: never;
2330
+ sort: never;
2331
+ splice: never;
2332
+ unshift: never;
2333
+ indexOf: never;
2334
+ lastIndexOf: never;
2335
+ every: never;
2336
+ some: never;
2337
+ forEach: never;
2338
+ map: never;
2339
+ filter: never;
2340
+ reduce: never;
2341
+ reduceRight: never;
2342
+ find: never;
2343
+ findIndex: never;
2344
+ fill: never;
2345
+ copyWithin: never;
2346
+ entries: never;
2347
+ keys: never;
2348
+ values: never;
2349
+ includes: never;
2350
+ flatMap: never;
2351
+ flat: never;
2352
+ [Symbol.iterator]: never;
2353
+ readonly [Symbol.unscopables]: {
2354
+ [x: number]: boolean;
2355
+ length?: boolean;
2356
+ toString?: boolean;
2357
+ toLocaleString?: boolean;
2358
+ pop?: boolean;
2359
+ push?: boolean;
2360
+ concat?: boolean;
2361
+ join?: boolean;
2362
+ reverse?: boolean;
2363
+ shift?: boolean;
2364
+ slice?: boolean;
2365
+ sort?: boolean;
2366
+ splice?: boolean;
2367
+ unshift?: boolean;
2368
+ indexOf?: boolean;
2369
+ lastIndexOf?: boolean;
2370
+ every?: boolean;
2371
+ some?: boolean;
2372
+ forEach?: boolean;
2373
+ map?: boolean;
2374
+ filter?: boolean;
2375
+ reduce?: boolean;
2376
+ reduceRight?: boolean;
2377
+ find?: boolean;
2378
+ findIndex?: boolean;
2379
+ fill?: boolean;
2380
+ copyWithin?: boolean;
2381
+ entries?: boolean;
2382
+ keys?: boolean;
2383
+ values?: boolean;
2384
+ includes?: boolean;
2385
+ flatMap?: boolean;
2386
+ flat?: boolean;
2387
+ };
2388
+ };
2389
+ } | {
2390
+ [x: number]: string | number | boolean | {
2391
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2392
+ } | /*elided*/ any;
2393
+ length: number;
2394
+ toString: never;
2395
+ toLocaleString: never;
2396
+ pop: never;
2397
+ push: never;
2398
+ concat: never;
2399
+ join: never;
2400
+ reverse: never;
2401
+ shift: never;
2402
+ slice: never;
2403
+ sort: never;
2404
+ splice: never;
2405
+ unshift: never;
2406
+ indexOf: never;
2407
+ lastIndexOf: never;
2408
+ every: never;
2409
+ some: never;
2410
+ forEach: never;
2411
+ map: never;
2412
+ filter: never;
2413
+ reduce: never;
2414
+ reduceRight: never;
2415
+ find: never;
2416
+ findIndex: never;
2417
+ fill: never;
2418
+ copyWithin: never;
2419
+ entries: never;
2420
+ keys: never;
2421
+ values: never;
2422
+ includes: never;
2423
+ flatMap: never;
2424
+ flat: never;
2425
+ [Symbol.iterator]: never;
2426
+ readonly [Symbol.unscopables]: {
2427
+ [x: number]: boolean;
2428
+ length?: boolean;
2429
+ toString?: boolean;
2430
+ toLocaleString?: boolean;
2431
+ pop?: boolean;
2432
+ push?: boolean;
2433
+ concat?: boolean;
2434
+ join?: boolean;
2435
+ reverse?: boolean;
2436
+ shift?: boolean;
2437
+ slice?: boolean;
2438
+ sort?: boolean;
2439
+ splice?: boolean;
2440
+ unshift?: boolean;
2441
+ indexOf?: boolean;
2442
+ lastIndexOf?: boolean;
2443
+ every?: boolean;
2444
+ some?: boolean;
2445
+ forEach?: boolean;
2446
+ map?: boolean;
2447
+ filter?: boolean;
2448
+ reduce?: boolean;
2449
+ reduceRight?: boolean;
2450
+ find?: boolean;
2451
+ findIndex?: boolean;
2452
+ fill?: boolean;
2453
+ copyWithin?: boolean;
2454
+ entries?: boolean;
2455
+ keys?: boolean;
2456
+ values?: boolean;
2457
+ includes?: boolean;
2458
+ flatMap?: boolean;
2459
+ flat?: boolean;
2460
+ };
2461
+ };
2462
+ media: string | number | boolean | {
2463
+ [x: string]: string | number | boolean | /*elided*/ any | {
2464
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2465
+ length: number;
2466
+ toString: never;
2467
+ toLocaleString: never;
2468
+ pop: never;
2469
+ push: never;
2470
+ concat: never;
2471
+ join: never;
2472
+ reverse: never;
2473
+ shift: never;
2474
+ slice: never;
2475
+ sort: never;
2476
+ splice: never;
2477
+ unshift: never;
2478
+ indexOf: never;
2479
+ lastIndexOf: never;
2480
+ every: never;
2481
+ some: never;
2482
+ forEach: never;
2483
+ map: never;
2484
+ filter: never;
2485
+ reduce: never;
2486
+ reduceRight: never;
2487
+ find: never;
2488
+ findIndex: never;
2489
+ fill: never;
2490
+ copyWithin: never;
2491
+ entries: never;
2492
+ keys: never;
2493
+ values: never;
2494
+ includes: never;
2495
+ flatMap: never;
2496
+ flat: never;
2497
+ [Symbol.iterator]: never;
2498
+ readonly [Symbol.unscopables]: {
2499
+ [x: number]: boolean;
2500
+ length?: boolean;
2501
+ toString?: boolean;
2502
+ toLocaleString?: boolean;
2503
+ pop?: boolean;
2504
+ push?: boolean;
2505
+ concat?: boolean;
2506
+ join?: boolean;
2507
+ reverse?: boolean;
2508
+ shift?: boolean;
2509
+ slice?: boolean;
2510
+ sort?: boolean;
2511
+ splice?: boolean;
2512
+ unshift?: boolean;
2513
+ indexOf?: boolean;
2514
+ lastIndexOf?: boolean;
2515
+ every?: boolean;
2516
+ some?: boolean;
2517
+ forEach?: boolean;
2518
+ map?: boolean;
2519
+ filter?: boolean;
2520
+ reduce?: boolean;
2521
+ reduceRight?: boolean;
2522
+ find?: boolean;
2523
+ findIndex?: boolean;
2524
+ fill?: boolean;
2525
+ copyWithin?: boolean;
2526
+ entries?: boolean;
2527
+ keys?: boolean;
2528
+ values?: boolean;
2529
+ includes?: boolean;
2530
+ flatMap?: boolean;
2531
+ flat?: boolean;
2532
+ };
2533
+ };
2534
+ } | {
2535
+ [x: number]: string | number | boolean | {
2536
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2537
+ } | /*elided*/ any;
2538
+ length: number;
2539
+ toString: never;
2540
+ toLocaleString: never;
2541
+ pop: never;
2542
+ push: never;
2543
+ concat: never;
2544
+ join: never;
2545
+ reverse: never;
2546
+ shift: never;
2547
+ slice: never;
2548
+ sort: never;
2549
+ splice: never;
2550
+ unshift: never;
2551
+ indexOf: never;
2552
+ lastIndexOf: never;
2553
+ every: never;
2554
+ some: never;
2555
+ forEach: never;
2556
+ map: never;
2557
+ filter: never;
2558
+ reduce: never;
2559
+ reduceRight: never;
2560
+ find: never;
2561
+ findIndex: never;
2562
+ fill: never;
2563
+ copyWithin: never;
2564
+ entries: never;
2565
+ keys: never;
2566
+ values: never;
2567
+ includes: never;
2568
+ flatMap: never;
2569
+ flat: never;
2570
+ [Symbol.iterator]: never;
2571
+ readonly [Symbol.unscopables]: {
2572
+ [x: number]: boolean;
2573
+ length?: boolean;
2574
+ toString?: boolean;
2575
+ toLocaleString?: boolean;
2576
+ pop?: boolean;
2577
+ push?: boolean;
2578
+ concat?: boolean;
2579
+ join?: boolean;
2580
+ reverse?: boolean;
2581
+ shift?: boolean;
2582
+ slice?: boolean;
2583
+ sort?: boolean;
2584
+ splice?: boolean;
2585
+ unshift?: boolean;
2586
+ indexOf?: boolean;
2587
+ lastIndexOf?: boolean;
2588
+ every?: boolean;
2589
+ some?: boolean;
2590
+ forEach?: boolean;
2591
+ map?: boolean;
2592
+ filter?: boolean;
2593
+ reduce?: boolean;
2594
+ reduceRight?: boolean;
2595
+ find?: boolean;
2596
+ findIndex?: boolean;
2597
+ fill?: boolean;
2598
+ copyWithin?: boolean;
2599
+ entries?: boolean;
2600
+ keys?: boolean;
2601
+ values?: boolean;
2602
+ includes?: boolean;
2603
+ flatMap?: boolean;
2604
+ flat?: boolean;
2605
+ };
2606
+ };
2607
+ features: string | null;
2608
+ faqs: string | number | boolean | {
2609
+ [x: string]: string | number | boolean | /*elided*/ any | {
2610
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2611
+ length: number;
2612
+ toString: never;
2613
+ toLocaleString: never;
2614
+ pop: never;
2615
+ push: never;
2616
+ concat: never;
2617
+ join: never;
2618
+ reverse: never;
2619
+ shift: never;
2620
+ slice: never;
2621
+ sort: never;
2622
+ splice: never;
2623
+ unshift: never;
2624
+ indexOf: never;
2625
+ lastIndexOf: never;
2626
+ every: never;
2627
+ some: never;
2628
+ forEach: never;
2629
+ map: never;
2630
+ filter: never;
2631
+ reduce: never;
2632
+ reduceRight: never;
2633
+ find: never;
2634
+ findIndex: never;
2635
+ fill: never;
2636
+ copyWithin: never;
2637
+ entries: never;
2638
+ keys: never;
2639
+ values: never;
2640
+ includes: never;
2641
+ flatMap: never;
2642
+ flat: never;
2643
+ [Symbol.iterator]: never;
2644
+ readonly [Symbol.unscopables]: {
2645
+ [x: number]: boolean;
2646
+ length?: boolean;
2647
+ toString?: boolean;
2648
+ toLocaleString?: boolean;
2649
+ pop?: boolean;
2650
+ push?: boolean;
2651
+ concat?: boolean;
2652
+ join?: boolean;
2653
+ reverse?: boolean;
2654
+ shift?: boolean;
2655
+ slice?: boolean;
2656
+ sort?: boolean;
2657
+ splice?: boolean;
2658
+ unshift?: boolean;
2659
+ indexOf?: boolean;
2660
+ lastIndexOf?: boolean;
2661
+ every?: boolean;
2662
+ some?: boolean;
2663
+ forEach?: boolean;
2664
+ map?: boolean;
2665
+ filter?: boolean;
2666
+ reduce?: boolean;
2667
+ reduceRight?: boolean;
2668
+ find?: boolean;
2669
+ findIndex?: boolean;
2670
+ fill?: boolean;
2671
+ copyWithin?: boolean;
2672
+ entries?: boolean;
2673
+ keys?: boolean;
2674
+ values?: boolean;
2675
+ includes?: boolean;
2676
+ flatMap?: boolean;
2677
+ flat?: boolean;
2678
+ };
2679
+ };
2680
+ } | {
2681
+ [x: number]: string | number | boolean | {
2682
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2683
+ } | /*elided*/ any;
2684
+ length: number;
2685
+ toString: never;
2686
+ toLocaleString: never;
2687
+ pop: never;
2688
+ push: never;
2689
+ concat: never;
2690
+ join: never;
2691
+ reverse: never;
2692
+ shift: never;
2693
+ slice: never;
2694
+ sort: never;
2695
+ splice: never;
2696
+ unshift: never;
2697
+ indexOf: never;
2698
+ lastIndexOf: never;
2699
+ every: never;
2700
+ some: never;
2701
+ forEach: never;
2702
+ map: never;
2703
+ filter: never;
2704
+ reduce: never;
2705
+ reduceRight: never;
2706
+ find: never;
2707
+ findIndex: never;
2708
+ fill: never;
2709
+ copyWithin: never;
2710
+ entries: never;
2711
+ keys: never;
2712
+ values: never;
2713
+ includes: never;
2714
+ flatMap: never;
2715
+ flat: never;
2716
+ [Symbol.iterator]: never;
2717
+ readonly [Symbol.unscopables]: {
2718
+ [x: number]: boolean;
2719
+ length?: boolean;
2720
+ toString?: boolean;
2721
+ toLocaleString?: boolean;
2722
+ pop?: boolean;
2723
+ push?: boolean;
2724
+ concat?: boolean;
2725
+ join?: boolean;
2726
+ reverse?: boolean;
2727
+ shift?: boolean;
2728
+ slice?: boolean;
2729
+ sort?: boolean;
2730
+ splice?: boolean;
2731
+ unshift?: boolean;
2732
+ indexOf?: boolean;
2733
+ lastIndexOf?: boolean;
2734
+ every?: boolean;
2735
+ some?: boolean;
2736
+ forEach?: boolean;
2737
+ map?: boolean;
2738
+ filter?: boolean;
2739
+ reduce?: boolean;
2740
+ reduceRight?: boolean;
2741
+ find?: boolean;
2742
+ findIndex?: boolean;
2743
+ fill?: boolean;
2744
+ copyWithin?: boolean;
2745
+ entries?: boolean;
2746
+ keys?: boolean;
2747
+ values?: boolean;
2748
+ includes?: boolean;
2749
+ flatMap?: boolean;
2750
+ flat?: boolean;
2751
+ };
2752
+ };
2753
+ };
2754
+ id: string;
2755
+ name: string | null;
2756
+ createdAt: string;
2757
+ updatedAt: string;
2758
+ deletedAt: string;
2759
+ isActive: boolean;
2760
+ thumbnailUrl: string | null;
2761
+ productId: string;
2762
+ sku: string;
2763
+ compareAtPrice: string;
2764
+ trackInventory: boolean;
2765
+ lowStockThreshold: number | null;
2766
+ };
2767
+ quantity: number;
2768
+ basePrice: number;
2769
+ discountPercent: number;
2770
+ finalPrice: number;
2771
+ subtotal: number;
2772
+ }[];
2773
+ pricing: {
2774
+ subtotal: number;
2775
+ deliveryCharge: number;
2776
+ discount: {
2777
+ code: string;
2778
+ type: "percentage" | "fixed";
2779
+ value: number;
2780
+ amount: number;
2781
+ description: string | null;
2782
+ };
2783
+ total: number;
2784
+ };
2785
+ createdAt: string;
2786
+ updatedAt: string;
2787
+ expiresAt: string;
2788
+ convertedToOrderId: string;
2789
+ wasRecovered: boolean;
2790
+ recoveryUrl: string;
2791
+ } | {
2792
+ error: {
2793
+ code: string;
2794
+ message: string;
2795
+ };
2796
+ }, Error, void, unknown>;
2797
+ /**
2798
+ * Hook to add item to cart using RPC
2799
+ *
2800
+ * @param cartId - Cart UUID
2801
+ * @param options - React Query mutation options
2802
+ *
2803
+ * @example
2804
+ * ```tsx
2805
+ * const addItem = useAddCartItem('cart-123');
2806
+ * addItem.mutate({ sku: 'PROD-001', quantity: 2, fbc: '_fbc_cookie', fbp: '_fbp_cookie', ttp: '_ttp_cookie', ttclid: 'tiktok_click_id' });
2807
+ * ```
2808
+ */
2809
+ export declare function useAddCartItem(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof addCartItem>>, Error, {
2810
+ sku: string;
2811
+ quantity: number;
2812
+ fbc?: string;
2813
+ fbp?: string;
2814
+ ttp?: string;
2815
+ ttclid?: string;
2816
+ refreshRecommendations?: boolean;
2817
+ }>): import("@tanstack/react-query").UseMutationResult<{
2818
+ id: string;
2819
+ brand: {
2820
+ createdAt: string;
2821
+ updatedAt: string;
2822
+ deletedAt: string;
2823
+ id: string;
2824
+ name: string;
2825
+ slug: string;
2826
+ logoUrl: string | null;
2827
+ siteUrl: string;
2828
+ domain: string;
2829
+ metaPixelId: string | null;
2830
+ tiktokPixelId: string | null;
2831
+ paystackPublicKey: string | null;
2832
+ paystackSecretKey: string | null;
2833
+ };
2834
+ customerPhone: string;
2835
+ customerEmail: string;
2836
+ customerFirstName: string;
2837
+ customerLastName: string;
2838
+ availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
2839
+ deliveryZone: {
2840
+ id: string;
2841
+ name: string;
2842
+ };
2843
+ recoveryAttempts: number;
2844
+ lastRecoveryAttemptAt: string;
2845
+ recoveryDiscountCode: {
2846
+ id: string;
2847
+ type: string;
2848
+ value: string;
2849
+ createdAt: string;
2850
+ updatedAt: string;
2851
+ deletedAt: string;
2852
+ brandId: string | null;
2853
+ isActive: boolean;
2854
+ code: string;
2855
+ minPurchase: string;
2856
+ maxDiscount: string;
2857
+ usageLimit: number | null;
2858
+ usageCount: number;
2859
+ perCustomerLimit: number | null;
2860
+ validFrom: string;
2861
+ validUntil: string;
2862
+ isAutoApply: boolean;
2863
+ description: string | null;
2864
+ category: string;
2865
+ createdBy: string | null;
2866
+ };
2867
+ items: {
2868
+ id: string;
2869
+ variant: {
2870
+ price: number;
2871
+ product: {
2872
+ id: string;
2873
+ name: string;
2874
+ slug: string;
2875
+ createdAt: string;
2876
+ updatedAt: string;
2877
+ deletedAt: string;
2878
+ brandId: string;
2879
+ isActive: boolean;
2880
+ description: string | null;
2881
+ thumbnailUrl: string | null;
2882
+ quantityDiscounts: string | number | boolean | {
2883
+ [x: string]: string | number | boolean | /*elided*/ any | {
2884
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2885
+ length: number;
2886
+ toString: never;
2887
+ toLocaleString: never;
2888
+ pop: never;
2889
+ push: never;
2890
+ concat: never;
2891
+ join: never;
2892
+ reverse: never;
2893
+ shift: never;
2894
+ slice: never;
2895
+ sort: never;
2896
+ splice: never;
2897
+ unshift: never;
2898
+ indexOf: never;
2899
+ lastIndexOf: never;
2900
+ every: never;
2901
+ some: never;
2902
+ forEach: never;
2903
+ map: never;
2904
+ filter: never;
2905
+ reduce: never;
2906
+ reduceRight: never;
2907
+ find: never;
2908
+ findIndex: never;
2909
+ fill: never;
2910
+ copyWithin: never;
2911
+ entries: never;
2912
+ keys: never;
2913
+ values: never;
2914
+ includes: never;
2915
+ flatMap: never;
2916
+ flat: never;
2917
+ [Symbol.iterator]: never;
2918
+ readonly [Symbol.unscopables]: {
2919
+ [x: number]: boolean;
2920
+ length?: boolean;
2921
+ toString?: boolean;
2922
+ toLocaleString?: boolean;
2923
+ pop?: boolean;
2924
+ push?: boolean;
2925
+ concat?: boolean;
2926
+ join?: boolean;
2927
+ reverse?: boolean;
2928
+ shift?: boolean;
2929
+ slice?: boolean;
2930
+ sort?: boolean;
2931
+ splice?: boolean;
2932
+ unshift?: boolean;
2933
+ indexOf?: boolean;
2934
+ lastIndexOf?: boolean;
2935
+ every?: boolean;
2936
+ some?: boolean;
2937
+ forEach?: boolean;
2938
+ map?: boolean;
2939
+ filter?: boolean;
2940
+ reduce?: boolean;
2941
+ reduceRight?: boolean;
2942
+ find?: boolean;
2943
+ findIndex?: boolean;
2944
+ fill?: boolean;
2945
+ copyWithin?: boolean;
2946
+ entries?: boolean;
2947
+ keys?: boolean;
2948
+ values?: boolean;
2949
+ includes?: boolean;
2950
+ flatMap?: boolean;
2951
+ flat?: boolean;
2952
+ };
2953
+ };
2954
+ } | {
2955
+ [x: number]: string | number | boolean | {
2956
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2957
+ } | /*elided*/ any;
2958
+ length: number;
2959
+ toString: never;
2960
+ toLocaleString: never;
2961
+ pop: never;
2962
+ push: never;
2963
+ concat: never;
2964
+ join: never;
2965
+ reverse: never;
2966
+ shift: never;
2967
+ slice: never;
2968
+ sort: never;
2969
+ splice: never;
2970
+ unshift: never;
2971
+ indexOf: never;
2972
+ lastIndexOf: never;
2973
+ every: never;
2974
+ some: never;
2975
+ forEach: never;
2976
+ map: never;
2977
+ filter: never;
2978
+ reduce: never;
2979
+ reduceRight: never;
2980
+ find: never;
2981
+ findIndex: never;
2982
+ fill: never;
2983
+ copyWithin: never;
2984
+ entries: never;
2985
+ keys: never;
2986
+ values: never;
2987
+ includes: never;
2988
+ flatMap: never;
2989
+ flat: never;
2990
+ [Symbol.iterator]: never;
2991
+ readonly [Symbol.unscopables]: {
2992
+ [x: number]: boolean;
2993
+ length?: boolean;
2994
+ toString?: boolean;
2995
+ toLocaleString?: boolean;
2996
+ pop?: boolean;
2997
+ push?: boolean;
2998
+ concat?: boolean;
2999
+ join?: boolean;
3000
+ reverse?: boolean;
3001
+ shift?: boolean;
3002
+ slice?: boolean;
3003
+ sort?: boolean;
3004
+ splice?: boolean;
3005
+ unshift?: boolean;
3006
+ indexOf?: boolean;
3007
+ lastIndexOf?: boolean;
3008
+ every?: boolean;
3009
+ some?: boolean;
3010
+ forEach?: boolean;
3011
+ map?: boolean;
3012
+ filter?: boolean;
3013
+ reduce?: boolean;
3014
+ reduceRight?: boolean;
3015
+ find?: boolean;
3016
+ findIndex?: boolean;
3017
+ fill?: boolean;
3018
+ copyWithin?: boolean;
3019
+ entries?: boolean;
3020
+ keys?: boolean;
3021
+ values?: boolean;
3022
+ includes?: boolean;
3023
+ flatMap?: boolean;
3024
+ flat?: boolean;
3025
+ };
3026
+ };
3027
+ media: string | number | boolean | {
3028
+ [x: string]: string | number | boolean | /*elided*/ any | {
3029
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3030
+ length: number;
3031
+ toString: never;
3032
+ toLocaleString: never;
3033
+ pop: never;
3034
+ push: never;
3035
+ concat: never;
3036
+ join: never;
3037
+ reverse: never;
3038
+ shift: never;
3039
+ slice: never;
3040
+ sort: never;
3041
+ splice: never;
3042
+ unshift: never;
3043
+ indexOf: never;
3044
+ lastIndexOf: never;
3045
+ every: never;
3046
+ some: never;
3047
+ forEach: never;
3048
+ map: never;
3049
+ filter: never;
3050
+ reduce: never;
3051
+ reduceRight: never;
3052
+ find: never;
3053
+ findIndex: never;
3054
+ fill: never;
3055
+ copyWithin: never;
3056
+ entries: never;
3057
+ keys: never;
3058
+ values: never;
3059
+ includes: never;
3060
+ flatMap: never;
3061
+ flat: never;
3062
+ [Symbol.iterator]: never;
3063
+ readonly [Symbol.unscopables]: {
3064
+ [x: number]: boolean;
3065
+ length?: boolean;
3066
+ toString?: boolean;
3067
+ toLocaleString?: boolean;
3068
+ pop?: boolean;
3069
+ push?: boolean;
3070
+ concat?: boolean;
3071
+ join?: boolean;
3072
+ reverse?: boolean;
3073
+ shift?: boolean;
3074
+ slice?: boolean;
3075
+ sort?: boolean;
3076
+ splice?: boolean;
3077
+ unshift?: boolean;
3078
+ indexOf?: boolean;
3079
+ lastIndexOf?: boolean;
3080
+ every?: boolean;
3081
+ some?: boolean;
3082
+ forEach?: boolean;
3083
+ map?: boolean;
3084
+ filter?: boolean;
3085
+ reduce?: boolean;
3086
+ reduceRight?: boolean;
3087
+ find?: boolean;
3088
+ findIndex?: boolean;
3089
+ fill?: boolean;
3090
+ copyWithin?: boolean;
3091
+ entries?: boolean;
3092
+ keys?: boolean;
3093
+ values?: boolean;
3094
+ includes?: boolean;
3095
+ flatMap?: boolean;
3096
+ flat?: boolean;
3097
+ };
3098
+ };
3099
+ } | {
3100
+ [x: number]: string | number | boolean | {
3101
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3102
+ } | /*elided*/ any;
3103
+ length: number;
3104
+ toString: never;
3105
+ toLocaleString: never;
3106
+ pop: never;
3107
+ push: never;
3108
+ concat: never;
3109
+ join: never;
3110
+ reverse: never;
3111
+ shift: never;
3112
+ slice: never;
3113
+ sort: never;
3114
+ splice: never;
3115
+ unshift: never;
3116
+ indexOf: never;
3117
+ lastIndexOf: never;
3118
+ every: never;
3119
+ some: never;
3120
+ forEach: never;
3121
+ map: never;
3122
+ filter: never;
3123
+ reduce: never;
3124
+ reduceRight: never;
3125
+ find: never;
3126
+ findIndex: never;
3127
+ fill: never;
3128
+ copyWithin: never;
3129
+ entries: never;
3130
+ keys: never;
3131
+ values: never;
3132
+ includes: never;
3133
+ flatMap: never;
3134
+ flat: never;
3135
+ [Symbol.iterator]: never;
3136
+ readonly [Symbol.unscopables]: {
3137
+ [x: number]: boolean;
3138
+ length?: boolean;
3139
+ toString?: boolean;
3140
+ toLocaleString?: boolean;
3141
+ pop?: boolean;
3142
+ push?: boolean;
3143
+ concat?: boolean;
3144
+ join?: boolean;
3145
+ reverse?: boolean;
3146
+ shift?: boolean;
3147
+ slice?: boolean;
3148
+ sort?: boolean;
3149
+ splice?: boolean;
3150
+ unshift?: boolean;
3151
+ indexOf?: boolean;
3152
+ lastIndexOf?: boolean;
3153
+ every?: boolean;
3154
+ some?: boolean;
3155
+ forEach?: boolean;
3156
+ map?: boolean;
3157
+ filter?: boolean;
3158
+ reduce?: boolean;
3159
+ reduceRight?: boolean;
3160
+ find?: boolean;
3161
+ findIndex?: boolean;
3162
+ fill?: boolean;
3163
+ copyWithin?: boolean;
3164
+ entries?: boolean;
3165
+ keys?: boolean;
3166
+ values?: boolean;
3167
+ includes?: boolean;
3168
+ flatMap?: boolean;
3169
+ flat?: boolean;
3170
+ };
3171
+ };
3172
+ features: string | null;
3173
+ faqs: string | number | boolean | {
3174
+ [x: string]: string | number | boolean | /*elided*/ any | {
3175
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3176
+ length: number;
3177
+ toString: never;
3178
+ toLocaleString: never;
3179
+ pop: never;
3180
+ push: never;
3181
+ concat: never;
3182
+ join: never;
3183
+ reverse: never;
3184
+ shift: never;
3185
+ slice: never;
3186
+ sort: never;
3187
+ splice: never;
3188
+ unshift: never;
3189
+ indexOf: never;
3190
+ lastIndexOf: never;
3191
+ every: never;
3192
+ some: never;
3193
+ forEach: never;
3194
+ map: never;
3195
+ filter: never;
3196
+ reduce: never;
3197
+ reduceRight: never;
3198
+ find: never;
3199
+ findIndex: never;
3200
+ fill: never;
3201
+ copyWithin: never;
3202
+ entries: never;
3203
+ keys: never;
3204
+ values: never;
3205
+ includes: never;
3206
+ flatMap: never;
3207
+ flat: never;
3208
+ [Symbol.iterator]: never;
3209
+ readonly [Symbol.unscopables]: {
3210
+ [x: number]: boolean;
3211
+ length?: boolean;
3212
+ toString?: boolean;
3213
+ toLocaleString?: boolean;
3214
+ pop?: boolean;
3215
+ push?: boolean;
3216
+ concat?: boolean;
3217
+ join?: boolean;
3218
+ reverse?: boolean;
3219
+ shift?: boolean;
3220
+ slice?: boolean;
3221
+ sort?: boolean;
3222
+ splice?: boolean;
3223
+ unshift?: boolean;
3224
+ indexOf?: boolean;
3225
+ lastIndexOf?: boolean;
3226
+ every?: boolean;
3227
+ some?: boolean;
3228
+ forEach?: boolean;
3229
+ map?: boolean;
3230
+ filter?: boolean;
3231
+ reduce?: boolean;
3232
+ reduceRight?: boolean;
3233
+ find?: boolean;
3234
+ findIndex?: boolean;
3235
+ fill?: boolean;
3236
+ copyWithin?: boolean;
3237
+ entries?: boolean;
3238
+ keys?: boolean;
3239
+ values?: boolean;
3240
+ includes?: boolean;
3241
+ flatMap?: boolean;
3242
+ flat?: boolean;
3243
+ };
3244
+ };
3245
+ } | {
3246
+ [x: number]: string | number | boolean | {
3247
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3248
+ } | /*elided*/ any;
3249
+ length: number;
3250
+ toString: never;
3251
+ toLocaleString: never;
3252
+ pop: never;
3253
+ push: never;
3254
+ concat: never;
3255
+ join: never;
3256
+ reverse: never;
3257
+ shift: never;
3258
+ slice: never;
3259
+ sort: never;
3260
+ splice: never;
3261
+ unshift: never;
3262
+ indexOf: never;
3263
+ lastIndexOf: never;
3264
+ every: never;
3265
+ some: never;
3266
+ forEach: never;
3267
+ map: never;
3268
+ filter: never;
3269
+ reduce: never;
3270
+ reduceRight: never;
3271
+ find: never;
3272
+ findIndex: never;
3273
+ fill: never;
3274
+ copyWithin: never;
3275
+ entries: never;
3276
+ keys: never;
3277
+ values: never;
3278
+ includes: never;
3279
+ flatMap: never;
3280
+ flat: never;
3281
+ [Symbol.iterator]: never;
3282
+ readonly [Symbol.unscopables]: {
3283
+ [x: number]: boolean;
3284
+ length?: boolean;
3285
+ toString?: boolean;
3286
+ toLocaleString?: boolean;
3287
+ pop?: boolean;
3288
+ push?: boolean;
3289
+ concat?: boolean;
3290
+ join?: boolean;
3291
+ reverse?: boolean;
3292
+ shift?: boolean;
3293
+ slice?: boolean;
3294
+ sort?: boolean;
3295
+ splice?: boolean;
3296
+ unshift?: boolean;
3297
+ indexOf?: boolean;
3298
+ lastIndexOf?: boolean;
3299
+ every?: boolean;
3300
+ some?: boolean;
3301
+ forEach?: boolean;
3302
+ map?: boolean;
3303
+ filter?: boolean;
3304
+ reduce?: boolean;
3305
+ reduceRight?: boolean;
3306
+ find?: boolean;
3307
+ findIndex?: boolean;
3308
+ fill?: boolean;
3309
+ copyWithin?: boolean;
3310
+ entries?: boolean;
3311
+ keys?: boolean;
3312
+ values?: boolean;
3313
+ includes?: boolean;
3314
+ flatMap?: boolean;
3315
+ flat?: boolean;
3316
+ };
3317
+ };
3318
+ };
3319
+ id: string;
3320
+ name: string | null;
3321
+ createdAt: string;
3322
+ updatedAt: string;
3323
+ deletedAt: string;
3324
+ isActive: boolean;
3325
+ thumbnailUrl: string | null;
3326
+ productId: string;
3327
+ sku: string;
3328
+ compareAtPrice: string;
3329
+ trackInventory: boolean;
3330
+ lowStockThreshold: number | null;
3331
+ };
3332
+ quantity: number;
3333
+ basePrice: number;
3334
+ discountPercent: number;
3335
+ finalPrice: number;
3336
+ subtotal: number;
3337
+ }[];
3338
+ pricing: {
3339
+ subtotal: number;
3340
+ deliveryCharge: number;
3341
+ discount: {
3342
+ code: string;
3343
+ type: "percentage" | "fixed";
3344
+ value: number;
3345
+ amount: number;
3346
+ description: string | null;
3347
+ };
3348
+ total: number;
3349
+ };
3350
+ createdAt: string;
3351
+ updatedAt: string;
3352
+ expiresAt: string;
3353
+ convertedToOrderId: string;
3354
+ wasRecovered: boolean;
3355
+ recoveryUrl: string;
3356
+ } | {
3357
+ error: {
3358
+ code: string;
3359
+ message: string;
3360
+ };
3361
+ }, Error, {
3362
+ sku: string;
3363
+ quantity: number;
3364
+ fbc?: string;
3365
+ fbp?: string;
3366
+ ttp?: string;
3367
+ ttclid?: string;
3368
+ refreshRecommendations?: boolean;
3369
+ }, unknown>;
3370
+ /**
3371
+ * Hook to update cart item quantity using RPC
3372
+ *
3373
+ * @param cartId - Cart UUID
3374
+ * @param options - React Query mutation options
3375
+ *
3376
+ * @example
3377
+ * ```tsx
3378
+ * const updateItem = useUpdateCartItem('cart-123');
3379
+ * updateItem.mutate({ itemId: 'item-456', quantity: 3 });
3380
+ * ```
3381
+ */
3382
+ export declare function useUpdateCartItem(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof updateCartItem>>, Error, {
3383
+ itemId: string;
3384
+ quantity: number;
3385
+ }>): import("@tanstack/react-query").UseMutationResult<{
3386
+ id: string;
3387
+ brand: {
3388
+ createdAt: string;
3389
+ updatedAt: string;
3390
+ deletedAt: string;
3391
+ id: string;
3392
+ name: string;
3393
+ slug: string;
3394
+ logoUrl: string | null;
3395
+ siteUrl: string;
3396
+ domain: string;
3397
+ metaPixelId: string | null;
3398
+ tiktokPixelId: string | null;
3399
+ paystackPublicKey: string | null;
3400
+ paystackSecretKey: string | null;
3401
+ };
3402
+ customerPhone: string;
3403
+ customerEmail: string;
3404
+ customerFirstName: string;
3405
+ customerLastName: string;
3406
+ availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
3407
+ deliveryZone: {
3408
+ id: string;
3409
+ name: string;
3410
+ };
3411
+ recoveryAttempts: number;
3412
+ lastRecoveryAttemptAt: string;
3413
+ recoveryDiscountCode: {
3414
+ id: string;
3415
+ type: string;
3416
+ value: string;
3417
+ createdAt: string;
3418
+ updatedAt: string;
3419
+ deletedAt: string;
3420
+ brandId: string | null;
3421
+ isActive: boolean;
3422
+ code: string;
3423
+ minPurchase: string;
3424
+ maxDiscount: string;
3425
+ usageLimit: number | null;
3426
+ usageCount: number;
3427
+ perCustomerLimit: number | null;
3428
+ validFrom: string;
3429
+ validUntil: string;
3430
+ isAutoApply: boolean;
3431
+ description: string | null;
3432
+ category: string;
3433
+ createdBy: string | null;
3434
+ };
3435
+ items: {
3436
+ id: string;
3437
+ variant: {
3438
+ price: number;
3439
+ product: {
3440
+ id: string;
3441
+ name: string;
3442
+ slug: string;
3443
+ createdAt: string;
3444
+ updatedAt: string;
3445
+ deletedAt: string;
3446
+ brandId: string;
3447
+ isActive: boolean;
3448
+ description: string | null;
3449
+ thumbnailUrl: string | null;
3450
+ quantityDiscounts: string | number | boolean | {
3451
+ [x: string]: string | number | boolean | /*elided*/ any | {
3452
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3453
+ length: number;
3454
+ toString: never;
3455
+ toLocaleString: never;
3456
+ pop: never;
3457
+ push: never;
3458
+ concat: never;
3459
+ join: never;
3460
+ reverse: never;
3461
+ shift: never;
3462
+ slice: never;
3463
+ sort: never;
3464
+ splice: never;
3465
+ unshift: never;
3466
+ indexOf: never;
3467
+ lastIndexOf: never;
3468
+ every: never;
3469
+ some: never;
3470
+ forEach: never;
3471
+ map: never;
3472
+ filter: never;
3473
+ reduce: never;
3474
+ reduceRight: never;
3475
+ find: never;
3476
+ findIndex: never;
3477
+ fill: never;
3478
+ copyWithin: never;
3479
+ entries: never;
3480
+ keys: never;
3481
+ values: never;
3482
+ includes: never;
3483
+ flatMap: never;
3484
+ flat: never;
3485
+ [Symbol.iterator]: never;
3486
+ readonly [Symbol.unscopables]: {
3487
+ [x: number]: boolean;
3488
+ length?: boolean;
3489
+ toString?: boolean;
3490
+ toLocaleString?: boolean;
3491
+ pop?: boolean;
3492
+ push?: boolean;
3493
+ concat?: boolean;
3494
+ join?: boolean;
3495
+ reverse?: boolean;
3496
+ shift?: boolean;
3497
+ slice?: boolean;
3498
+ sort?: boolean;
3499
+ splice?: boolean;
3500
+ unshift?: boolean;
3501
+ indexOf?: boolean;
3502
+ lastIndexOf?: boolean;
3503
+ every?: boolean;
3504
+ some?: boolean;
3505
+ forEach?: boolean;
3506
+ map?: boolean;
3507
+ filter?: boolean;
3508
+ reduce?: boolean;
3509
+ reduceRight?: boolean;
3510
+ find?: boolean;
3511
+ findIndex?: boolean;
3512
+ fill?: boolean;
3513
+ copyWithin?: boolean;
3514
+ entries?: boolean;
3515
+ keys?: boolean;
3516
+ values?: boolean;
3517
+ includes?: boolean;
3518
+ flatMap?: boolean;
3519
+ flat?: boolean;
3520
+ };
3521
+ };
3522
+ } | {
3523
+ [x: number]: string | number | boolean | {
3524
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3525
+ } | /*elided*/ any;
3526
+ length: number;
3527
+ toString: never;
3528
+ toLocaleString: never;
3529
+ pop: never;
3530
+ push: never;
3531
+ concat: never;
3532
+ join: never;
3533
+ reverse: never;
3534
+ shift: never;
3535
+ slice: never;
3536
+ sort: never;
3537
+ splice: never;
3538
+ unshift: never;
3539
+ indexOf: never;
3540
+ lastIndexOf: never;
3541
+ every: never;
3542
+ some: never;
3543
+ forEach: never;
3544
+ map: never;
3545
+ filter: never;
3546
+ reduce: never;
3547
+ reduceRight: never;
3548
+ find: never;
3549
+ findIndex: never;
3550
+ fill: never;
3551
+ copyWithin: never;
3552
+ entries: never;
3553
+ keys: never;
3554
+ values: never;
3555
+ includes: never;
3556
+ flatMap: never;
3557
+ flat: never;
3558
+ [Symbol.iterator]: never;
3559
+ readonly [Symbol.unscopables]: {
3560
+ [x: number]: boolean;
3561
+ length?: boolean;
3562
+ toString?: boolean;
3563
+ toLocaleString?: boolean;
3564
+ pop?: boolean;
3565
+ push?: boolean;
3566
+ concat?: boolean;
3567
+ join?: boolean;
3568
+ reverse?: boolean;
3569
+ shift?: boolean;
3570
+ slice?: boolean;
3571
+ sort?: boolean;
3572
+ splice?: boolean;
3573
+ unshift?: boolean;
3574
+ indexOf?: boolean;
3575
+ lastIndexOf?: boolean;
3576
+ every?: boolean;
3577
+ some?: boolean;
3578
+ forEach?: boolean;
3579
+ map?: boolean;
3580
+ filter?: boolean;
3581
+ reduce?: boolean;
3582
+ reduceRight?: boolean;
3583
+ find?: boolean;
3584
+ findIndex?: boolean;
3585
+ fill?: boolean;
3586
+ copyWithin?: boolean;
3587
+ entries?: boolean;
3588
+ keys?: boolean;
3589
+ values?: boolean;
3590
+ includes?: boolean;
3591
+ flatMap?: boolean;
3592
+ flat?: boolean;
3593
+ };
3594
+ };
3595
+ media: string | number | boolean | {
3596
+ [x: string]: string | number | boolean | /*elided*/ any | {
3597
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3598
+ length: number;
3599
+ toString: never;
3600
+ toLocaleString: never;
3601
+ pop: never;
3602
+ push: never;
3603
+ concat: never;
3604
+ join: never;
3605
+ reverse: never;
3606
+ shift: never;
3607
+ slice: never;
3608
+ sort: never;
3609
+ splice: never;
3610
+ unshift: never;
3611
+ indexOf: never;
3612
+ lastIndexOf: never;
3613
+ every: never;
3614
+ some: never;
3615
+ forEach: never;
3616
+ map: never;
3617
+ filter: never;
3618
+ reduce: never;
3619
+ reduceRight: never;
3620
+ find: never;
3621
+ findIndex: never;
3622
+ fill: never;
3623
+ copyWithin: never;
3624
+ entries: never;
3625
+ keys: never;
3626
+ values: never;
3627
+ includes: never;
3628
+ flatMap: never;
3629
+ flat: never;
3630
+ [Symbol.iterator]: never;
3631
+ readonly [Symbol.unscopables]: {
3632
+ [x: number]: boolean;
3633
+ length?: boolean;
3634
+ toString?: boolean;
3635
+ toLocaleString?: boolean;
3636
+ pop?: boolean;
3637
+ push?: boolean;
3638
+ concat?: boolean;
3639
+ join?: boolean;
3640
+ reverse?: boolean;
3641
+ shift?: boolean;
3642
+ slice?: boolean;
3643
+ sort?: boolean;
3644
+ splice?: boolean;
3645
+ unshift?: boolean;
3646
+ indexOf?: boolean;
3647
+ lastIndexOf?: boolean;
3648
+ every?: boolean;
3649
+ some?: boolean;
3650
+ forEach?: boolean;
3651
+ map?: boolean;
3652
+ filter?: boolean;
3653
+ reduce?: boolean;
3654
+ reduceRight?: boolean;
3655
+ find?: boolean;
3656
+ findIndex?: boolean;
3657
+ fill?: boolean;
3658
+ copyWithin?: boolean;
3659
+ entries?: boolean;
3660
+ keys?: boolean;
3661
+ values?: boolean;
3662
+ includes?: boolean;
3663
+ flatMap?: boolean;
3664
+ flat?: boolean;
3665
+ };
3666
+ };
3667
+ } | {
3668
+ [x: number]: string | number | boolean | {
3669
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3670
+ } | /*elided*/ any;
3671
+ length: number;
3672
+ toString: never;
3673
+ toLocaleString: never;
3674
+ pop: never;
3675
+ push: never;
3676
+ concat: never;
3677
+ join: never;
3678
+ reverse: never;
3679
+ shift: never;
3680
+ slice: never;
3681
+ sort: never;
3682
+ splice: never;
3683
+ unshift: never;
3684
+ indexOf: never;
3685
+ lastIndexOf: never;
3686
+ every: never;
3687
+ some: never;
3688
+ forEach: never;
3689
+ map: never;
3690
+ filter: never;
3691
+ reduce: never;
3692
+ reduceRight: never;
3693
+ find: never;
3694
+ findIndex: never;
3695
+ fill: never;
3696
+ copyWithin: never;
3697
+ entries: never;
3698
+ keys: never;
3699
+ values: never;
3700
+ includes: never;
3701
+ flatMap: never;
3702
+ flat: never;
3703
+ [Symbol.iterator]: never;
3704
+ readonly [Symbol.unscopables]: {
3705
+ [x: number]: boolean;
3706
+ length?: boolean;
3707
+ toString?: boolean;
3708
+ toLocaleString?: boolean;
3709
+ pop?: boolean;
3710
+ push?: boolean;
3711
+ concat?: boolean;
3712
+ join?: boolean;
3713
+ reverse?: boolean;
3714
+ shift?: boolean;
3715
+ slice?: boolean;
3716
+ sort?: boolean;
3717
+ splice?: boolean;
3718
+ unshift?: boolean;
3719
+ indexOf?: boolean;
3720
+ lastIndexOf?: boolean;
3721
+ every?: boolean;
3722
+ some?: boolean;
3723
+ forEach?: boolean;
3724
+ map?: boolean;
3725
+ filter?: boolean;
3726
+ reduce?: boolean;
3727
+ reduceRight?: boolean;
3728
+ find?: boolean;
3729
+ findIndex?: boolean;
3730
+ fill?: boolean;
3731
+ copyWithin?: boolean;
3732
+ entries?: boolean;
3733
+ keys?: boolean;
3734
+ values?: boolean;
3735
+ includes?: boolean;
3736
+ flatMap?: boolean;
3737
+ flat?: boolean;
3738
+ };
3739
+ };
3740
+ features: string | null;
3741
+ faqs: string | number | boolean | {
3742
+ [x: string]: string | number | boolean | /*elided*/ any | {
3743
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3744
+ length: number;
3745
+ toString: never;
3746
+ toLocaleString: never;
3747
+ pop: never;
3748
+ push: never;
3749
+ concat: never;
3750
+ join: never;
3751
+ reverse: never;
3752
+ shift: never;
3753
+ slice: never;
3754
+ sort: never;
3755
+ splice: never;
3756
+ unshift: never;
3757
+ indexOf: never;
3758
+ lastIndexOf: never;
3759
+ every: never;
3760
+ some: never;
3761
+ forEach: never;
3762
+ map: never;
3763
+ filter: never;
3764
+ reduce: never;
3765
+ reduceRight: never;
3766
+ find: never;
3767
+ findIndex: never;
3768
+ fill: never;
3769
+ copyWithin: never;
3770
+ entries: never;
3771
+ keys: never;
3772
+ values: never;
3773
+ includes: never;
3774
+ flatMap: never;
3775
+ flat: never;
3776
+ [Symbol.iterator]: never;
3777
+ readonly [Symbol.unscopables]: {
3778
+ [x: number]: boolean;
3779
+ length?: boolean;
3780
+ toString?: boolean;
3781
+ toLocaleString?: boolean;
3782
+ pop?: boolean;
3783
+ push?: boolean;
3784
+ concat?: boolean;
3785
+ join?: boolean;
3786
+ reverse?: boolean;
3787
+ shift?: boolean;
3788
+ slice?: boolean;
3789
+ sort?: boolean;
3790
+ splice?: boolean;
3791
+ unshift?: boolean;
3792
+ indexOf?: boolean;
3793
+ lastIndexOf?: boolean;
3794
+ every?: boolean;
3795
+ some?: boolean;
3796
+ forEach?: boolean;
3797
+ map?: boolean;
3798
+ filter?: boolean;
3799
+ reduce?: boolean;
3800
+ reduceRight?: boolean;
3801
+ find?: boolean;
3802
+ findIndex?: boolean;
3803
+ fill?: boolean;
3804
+ copyWithin?: boolean;
3805
+ entries?: boolean;
3806
+ keys?: boolean;
3807
+ values?: boolean;
3808
+ includes?: boolean;
3809
+ flatMap?: boolean;
3810
+ flat?: boolean;
3811
+ };
3812
+ };
3813
+ } | {
3814
+ [x: number]: string | number | boolean | {
3815
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
3816
+ } | /*elided*/ any;
3817
+ length: number;
3818
+ toString: never;
3819
+ toLocaleString: never;
3820
+ pop: never;
3821
+ push: never;
3822
+ concat: never;
3823
+ join: never;
3824
+ reverse: never;
3825
+ shift: never;
3826
+ slice: never;
3827
+ sort: never;
3828
+ splice: never;
3829
+ unshift: never;
3830
+ indexOf: never;
3831
+ lastIndexOf: never;
3832
+ every: never;
3833
+ some: never;
3834
+ forEach: never;
3835
+ map: never;
3836
+ filter: never;
3837
+ reduce: never;
3838
+ reduceRight: never;
3839
+ find: never;
3840
+ findIndex: never;
3841
+ fill: never;
3842
+ copyWithin: never;
3843
+ entries: never;
3844
+ keys: never;
3845
+ values: never;
3846
+ includes: never;
3847
+ flatMap: never;
3848
+ flat: never;
3849
+ [Symbol.iterator]: never;
3850
+ readonly [Symbol.unscopables]: {
3851
+ [x: number]: boolean;
3852
+ length?: boolean;
3853
+ toString?: boolean;
3854
+ toLocaleString?: boolean;
3855
+ pop?: boolean;
3856
+ push?: boolean;
3857
+ concat?: boolean;
3858
+ join?: boolean;
3859
+ reverse?: boolean;
3860
+ shift?: boolean;
3861
+ slice?: boolean;
3862
+ sort?: boolean;
3863
+ splice?: boolean;
3864
+ unshift?: boolean;
3865
+ indexOf?: boolean;
3866
+ lastIndexOf?: boolean;
3867
+ every?: boolean;
3868
+ some?: boolean;
3869
+ forEach?: boolean;
3870
+ map?: boolean;
3871
+ filter?: boolean;
3872
+ reduce?: boolean;
3873
+ reduceRight?: boolean;
3874
+ find?: boolean;
3875
+ findIndex?: boolean;
3876
+ fill?: boolean;
3877
+ copyWithin?: boolean;
3878
+ entries?: boolean;
3879
+ keys?: boolean;
3880
+ values?: boolean;
3881
+ includes?: boolean;
3882
+ flatMap?: boolean;
3883
+ flat?: boolean;
3884
+ };
3885
+ };
3886
+ };
3887
+ id: string;
3888
+ name: string | null;
3889
+ createdAt: string;
3890
+ updatedAt: string;
3891
+ deletedAt: string;
3892
+ isActive: boolean;
3893
+ thumbnailUrl: string | null;
3894
+ productId: string;
3895
+ sku: string;
3896
+ compareAtPrice: string;
3897
+ trackInventory: boolean;
3898
+ lowStockThreshold: number | null;
3899
+ };
3900
+ quantity: number;
3901
+ basePrice: number;
3902
+ discountPercent: number;
3903
+ finalPrice: number;
3904
+ subtotal: number;
3905
+ }[];
3906
+ pricing: {
3907
+ subtotal: number;
3908
+ deliveryCharge: number;
3909
+ discount: {
3910
+ code: string;
3911
+ type: "percentage" | "fixed";
3912
+ value: number;
3913
+ amount: number;
3914
+ description: string | null;
3915
+ };
3916
+ total: number;
3917
+ };
3918
+ createdAt: string;
3919
+ updatedAt: string;
3920
+ expiresAt: string;
3921
+ convertedToOrderId: string;
3922
+ wasRecovered: boolean;
3923
+ recoveryUrl: string;
3924
+ }, Error, {
3925
+ itemId: string;
3926
+ quantity: number;
3927
+ }, unknown>;
3928
+ /**
3929
+ * Hook to remove item from cart using RPC
3930
+ *
3931
+ * @param cartId - Cart UUID
3932
+ * @param options - React Query mutation options
3933
+ *
3934
+ * @example
3935
+ * ```tsx
3936
+ * const removeItem = useRemoveCartItem('cart-123');
3937
+ * removeItem.mutate('item-456'); // Pass itemId in mutate call
3938
+ * ```
3939
+ */
3940
+ export declare function useRemoveCartItem(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof removeCartItem>>, Error, string>): import("@tanstack/react-query").UseMutationResult<{
3941
+ id: string;
3942
+ brand: {
3943
+ createdAt: string;
3944
+ updatedAt: string;
3945
+ deletedAt: string;
3946
+ id: string;
3947
+ name: string;
3948
+ slug: string;
3949
+ logoUrl: string | null;
3950
+ siteUrl: string;
3951
+ domain: string;
3952
+ metaPixelId: string | null;
3953
+ tiktokPixelId: string | null;
3954
+ paystackPublicKey: string | null;
3955
+ paystackSecretKey: string | null;
3956
+ };
3957
+ customerPhone: string;
3958
+ customerEmail: string;
3959
+ customerFirstName: string;
3960
+ customerLastName: string;
3961
+ availablePaymentMethods: import("@prisma/client").$Enums.PaymentMethod[];
3962
+ deliveryZone: {
3963
+ id: string;
3964
+ name: string;
3965
+ };
3966
+ recoveryAttempts: number;
3967
+ lastRecoveryAttemptAt: string;
3968
+ recoveryDiscountCode: {
3969
+ id: string;
3970
+ type: string;
3971
+ value: string;
3972
+ createdAt: string;
3973
+ updatedAt: string;
3974
+ deletedAt: string;
3975
+ brandId: string | null;
3976
+ isActive: boolean;
3977
+ code: string;
3978
+ minPurchase: string;
3979
+ maxDiscount: string;
3980
+ usageLimit: number | null;
3981
+ usageCount: number;
3982
+ perCustomerLimit: number | null;
3983
+ validFrom: string;
3984
+ validUntil: string;
3985
+ isAutoApply: boolean;
3986
+ description: string | null;
3987
+ category: string;
3988
+ createdBy: string | null;
3989
+ };
3990
+ items: {
3991
+ id: string;
3992
+ variant: {
3993
+ price: number;
3994
+ product: {
3995
+ id: string;
3996
+ name: string;
3997
+ slug: string;
3998
+ createdAt: string;
3999
+ updatedAt: string;
4000
+ deletedAt: string;
4001
+ brandId: string;
4002
+ isActive: boolean;
4003
+ description: string | null;
4004
+ thumbnailUrl: string | null;
4005
+ quantityDiscounts: string | number | boolean | {
4006
+ [x: string]: string | number | boolean | /*elided*/ any | {
4007
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4008
+ length: number;
4009
+ toString: never;
4010
+ toLocaleString: never;
4011
+ pop: never;
4012
+ push: never;
4013
+ concat: never;
4014
+ join: never;
4015
+ reverse: never;
4016
+ shift: never;
4017
+ slice: never;
4018
+ sort: never;
4019
+ splice: never;
4020
+ unshift: never;
4021
+ indexOf: never;
4022
+ lastIndexOf: never;
4023
+ every: never;
4024
+ some: never;
4025
+ forEach: never;
4026
+ map: never;
4027
+ filter: never;
4028
+ reduce: never;
4029
+ reduceRight: never;
4030
+ find: never;
4031
+ findIndex: never;
4032
+ fill: never;
4033
+ copyWithin: never;
4034
+ entries: never;
4035
+ keys: never;
4036
+ values: never;
4037
+ includes: never;
4038
+ flatMap: never;
4039
+ flat: never;
4040
+ [Symbol.iterator]: never;
4041
+ readonly [Symbol.unscopables]: {
4042
+ [x: number]: boolean;
4043
+ length?: boolean;
4044
+ toString?: boolean;
4045
+ toLocaleString?: boolean;
4046
+ pop?: boolean;
4047
+ push?: boolean;
4048
+ concat?: boolean;
4049
+ join?: boolean;
4050
+ reverse?: boolean;
4051
+ shift?: boolean;
4052
+ slice?: boolean;
4053
+ sort?: boolean;
4054
+ splice?: boolean;
4055
+ unshift?: boolean;
4056
+ indexOf?: boolean;
4057
+ lastIndexOf?: boolean;
4058
+ every?: boolean;
4059
+ some?: boolean;
4060
+ forEach?: boolean;
4061
+ map?: boolean;
4062
+ filter?: boolean;
4063
+ reduce?: boolean;
4064
+ reduceRight?: boolean;
4065
+ find?: boolean;
4066
+ findIndex?: boolean;
4067
+ fill?: boolean;
4068
+ copyWithin?: boolean;
4069
+ entries?: boolean;
4070
+ keys?: boolean;
4071
+ values?: boolean;
4072
+ includes?: boolean;
4073
+ flatMap?: boolean;
4074
+ flat?: boolean;
4075
+ };
4076
+ };
4077
+ } | {
4078
+ [x: number]: string | number | boolean | {
4079
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4080
+ } | /*elided*/ any;
4081
+ length: number;
4082
+ toString: never;
4083
+ toLocaleString: never;
4084
+ pop: never;
4085
+ push: never;
4086
+ concat: never;
4087
+ join: never;
4088
+ reverse: never;
4089
+ shift: never;
4090
+ slice: never;
4091
+ sort: never;
4092
+ splice: never;
4093
+ unshift: never;
4094
+ indexOf: never;
4095
+ lastIndexOf: never;
4096
+ every: never;
4097
+ some: never;
4098
+ forEach: never;
4099
+ map: never;
4100
+ filter: never;
4101
+ reduce: never;
4102
+ reduceRight: never;
4103
+ find: never;
4104
+ findIndex: never;
4105
+ fill: never;
4106
+ copyWithin: never;
4107
+ entries: never;
4108
+ keys: never;
4109
+ values: never;
4110
+ includes: never;
4111
+ flatMap: never;
4112
+ flat: never;
4113
+ [Symbol.iterator]: never;
4114
+ readonly [Symbol.unscopables]: {
4115
+ [x: number]: boolean;
4116
+ length?: boolean;
4117
+ toString?: boolean;
4118
+ toLocaleString?: boolean;
4119
+ pop?: boolean;
4120
+ push?: boolean;
4121
+ concat?: boolean;
4122
+ join?: boolean;
4123
+ reverse?: boolean;
4124
+ shift?: boolean;
4125
+ slice?: boolean;
4126
+ sort?: boolean;
4127
+ splice?: boolean;
4128
+ unshift?: boolean;
4129
+ indexOf?: boolean;
4130
+ lastIndexOf?: boolean;
4131
+ every?: boolean;
4132
+ some?: boolean;
4133
+ forEach?: boolean;
4134
+ map?: boolean;
4135
+ filter?: boolean;
4136
+ reduce?: boolean;
4137
+ reduceRight?: boolean;
4138
+ find?: boolean;
4139
+ findIndex?: boolean;
4140
+ fill?: boolean;
4141
+ copyWithin?: boolean;
4142
+ entries?: boolean;
4143
+ keys?: boolean;
4144
+ values?: boolean;
4145
+ includes?: boolean;
4146
+ flatMap?: boolean;
4147
+ flat?: boolean;
4148
+ };
4149
+ };
4150
+ media: string | number | boolean | {
4151
+ [x: string]: string | number | boolean | /*elided*/ any | {
4152
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4153
+ length: number;
4154
+ toString: never;
4155
+ toLocaleString: never;
4156
+ pop: never;
4157
+ push: never;
4158
+ concat: never;
4159
+ join: never;
4160
+ reverse: never;
4161
+ shift: never;
4162
+ slice: never;
4163
+ sort: never;
4164
+ splice: never;
4165
+ unshift: never;
4166
+ indexOf: never;
4167
+ lastIndexOf: never;
4168
+ every: never;
4169
+ some: never;
4170
+ forEach: never;
4171
+ map: never;
4172
+ filter: never;
4173
+ reduce: never;
4174
+ reduceRight: never;
4175
+ find: never;
4176
+ findIndex: never;
4177
+ fill: never;
4178
+ copyWithin: never;
4179
+ entries: never;
4180
+ keys: never;
4181
+ values: never;
4182
+ includes: never;
4183
+ flatMap: never;
4184
+ flat: never;
4185
+ [Symbol.iterator]: never;
4186
+ readonly [Symbol.unscopables]: {
4187
+ [x: number]: boolean;
4188
+ length?: boolean;
4189
+ toString?: boolean;
4190
+ toLocaleString?: boolean;
4191
+ pop?: boolean;
4192
+ push?: boolean;
4193
+ concat?: boolean;
4194
+ join?: boolean;
4195
+ reverse?: boolean;
4196
+ shift?: boolean;
4197
+ slice?: boolean;
4198
+ sort?: boolean;
4199
+ splice?: boolean;
4200
+ unshift?: boolean;
4201
+ indexOf?: boolean;
4202
+ lastIndexOf?: boolean;
4203
+ every?: boolean;
4204
+ some?: boolean;
4205
+ forEach?: boolean;
4206
+ map?: boolean;
4207
+ filter?: boolean;
4208
+ reduce?: boolean;
4209
+ reduceRight?: boolean;
4210
+ find?: boolean;
4211
+ findIndex?: boolean;
4212
+ fill?: boolean;
4213
+ copyWithin?: boolean;
4214
+ entries?: boolean;
4215
+ keys?: boolean;
4216
+ values?: boolean;
4217
+ includes?: boolean;
4218
+ flatMap?: boolean;
4219
+ flat?: boolean;
4220
+ };
4221
+ };
4222
+ } | {
4223
+ [x: number]: string | number | boolean | {
4224
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4225
+ } | /*elided*/ any;
4226
+ length: number;
4227
+ toString: never;
4228
+ toLocaleString: never;
4229
+ pop: never;
4230
+ push: never;
4231
+ concat: never;
4232
+ join: never;
4233
+ reverse: never;
4234
+ shift: never;
4235
+ slice: never;
4236
+ sort: never;
4237
+ splice: never;
4238
+ unshift: never;
4239
+ indexOf: never;
4240
+ lastIndexOf: never;
4241
+ every: never;
4242
+ some: never;
4243
+ forEach: never;
4244
+ map: never;
4245
+ filter: never;
4246
+ reduce: never;
4247
+ reduceRight: never;
4248
+ find: never;
4249
+ findIndex: never;
4250
+ fill: never;
4251
+ copyWithin: never;
4252
+ entries: never;
4253
+ keys: never;
4254
+ values: never;
4255
+ includes: never;
4256
+ flatMap: never;
4257
+ flat: never;
4258
+ [Symbol.iterator]: never;
4259
+ readonly [Symbol.unscopables]: {
4260
+ [x: number]: boolean;
4261
+ length?: boolean;
4262
+ toString?: boolean;
4263
+ toLocaleString?: boolean;
4264
+ pop?: boolean;
4265
+ push?: boolean;
4266
+ concat?: boolean;
4267
+ join?: boolean;
4268
+ reverse?: boolean;
4269
+ shift?: boolean;
4270
+ slice?: boolean;
4271
+ sort?: boolean;
4272
+ splice?: boolean;
4273
+ unshift?: boolean;
4274
+ indexOf?: boolean;
4275
+ lastIndexOf?: boolean;
4276
+ every?: boolean;
4277
+ some?: boolean;
4278
+ forEach?: boolean;
4279
+ map?: boolean;
4280
+ filter?: boolean;
4281
+ reduce?: boolean;
4282
+ reduceRight?: boolean;
4283
+ find?: boolean;
4284
+ findIndex?: boolean;
4285
+ fill?: boolean;
4286
+ copyWithin?: boolean;
4287
+ entries?: boolean;
4288
+ keys?: boolean;
4289
+ values?: boolean;
4290
+ includes?: boolean;
4291
+ flatMap?: boolean;
4292
+ flat?: boolean;
4293
+ };
4294
+ };
4295
+ features: string | null;
4296
+ faqs: string | number | boolean | {
4297
+ [x: string]: string | number | boolean | /*elided*/ any | {
4298
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4299
+ length: number;
4300
+ toString: never;
4301
+ toLocaleString: never;
4302
+ pop: never;
4303
+ push: never;
4304
+ concat: never;
4305
+ join: never;
4306
+ reverse: never;
4307
+ shift: never;
4308
+ slice: never;
4309
+ sort: never;
4310
+ splice: never;
4311
+ unshift: never;
4312
+ indexOf: never;
4313
+ lastIndexOf: never;
4314
+ every: never;
4315
+ some: never;
4316
+ forEach: never;
4317
+ map: never;
4318
+ filter: never;
4319
+ reduce: never;
4320
+ reduceRight: never;
4321
+ find: never;
4322
+ findIndex: never;
4323
+ fill: never;
4324
+ copyWithin: never;
4325
+ entries: never;
4326
+ keys: never;
4327
+ values: never;
4328
+ includes: never;
4329
+ flatMap: never;
4330
+ flat: never;
4331
+ [Symbol.iterator]: never;
4332
+ readonly [Symbol.unscopables]: {
4333
+ [x: number]: boolean;
4334
+ length?: boolean;
4335
+ toString?: boolean;
4336
+ toLocaleString?: boolean;
4337
+ pop?: boolean;
4338
+ push?: boolean;
4339
+ concat?: boolean;
4340
+ join?: boolean;
4341
+ reverse?: boolean;
4342
+ shift?: boolean;
4343
+ slice?: boolean;
4344
+ sort?: boolean;
4345
+ splice?: boolean;
4346
+ unshift?: boolean;
4347
+ indexOf?: boolean;
4348
+ lastIndexOf?: boolean;
4349
+ every?: boolean;
4350
+ some?: boolean;
4351
+ forEach?: boolean;
4352
+ map?: boolean;
4353
+ filter?: boolean;
4354
+ reduce?: boolean;
4355
+ reduceRight?: boolean;
4356
+ find?: boolean;
4357
+ findIndex?: boolean;
4358
+ fill?: boolean;
4359
+ copyWithin?: boolean;
4360
+ entries?: boolean;
4361
+ keys?: boolean;
4362
+ values?: boolean;
4363
+ includes?: boolean;
4364
+ flatMap?: boolean;
4365
+ flat?: boolean;
4366
+ };
4367
+ };
4368
+ } | {
4369
+ [x: number]: string | number | boolean | {
4370
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4371
+ } | /*elided*/ any;
4372
+ length: number;
4373
+ toString: never;
4374
+ toLocaleString: never;
4375
+ pop: never;
4376
+ push: never;
4377
+ concat: never;
4378
+ join: never;
4379
+ reverse: never;
4380
+ shift: never;
4381
+ slice: never;
4382
+ sort: never;
4383
+ splice: never;
4384
+ unshift: never;
4385
+ indexOf: never;
4386
+ lastIndexOf: never;
4387
+ every: never;
4388
+ some: never;
4389
+ forEach: never;
4390
+ map: never;
4391
+ filter: never;
4392
+ reduce: never;
4393
+ reduceRight: never;
4394
+ find: never;
4395
+ findIndex: never;
4396
+ fill: never;
4397
+ copyWithin: never;
4398
+ entries: never;
4399
+ keys: never;
4400
+ values: never;
4401
+ includes: never;
4402
+ flatMap: never;
4403
+ flat: never;
4404
+ [Symbol.iterator]: never;
4405
+ readonly [Symbol.unscopables]: {
4406
+ [x: number]: boolean;
4407
+ length?: boolean;
4408
+ toString?: boolean;
4409
+ toLocaleString?: boolean;
4410
+ pop?: boolean;
4411
+ push?: boolean;
4412
+ concat?: boolean;
4413
+ join?: boolean;
4414
+ reverse?: boolean;
4415
+ shift?: boolean;
4416
+ slice?: boolean;
4417
+ sort?: boolean;
4418
+ splice?: boolean;
4419
+ unshift?: boolean;
4420
+ indexOf?: boolean;
4421
+ lastIndexOf?: boolean;
4422
+ every?: boolean;
4423
+ some?: boolean;
4424
+ forEach?: boolean;
4425
+ map?: boolean;
4426
+ filter?: boolean;
4427
+ reduce?: boolean;
4428
+ reduceRight?: boolean;
4429
+ find?: boolean;
4430
+ findIndex?: boolean;
4431
+ fill?: boolean;
4432
+ copyWithin?: boolean;
4433
+ entries?: boolean;
4434
+ keys?: boolean;
4435
+ values?: boolean;
4436
+ includes?: boolean;
4437
+ flatMap?: boolean;
4438
+ flat?: boolean;
4439
+ };
4440
+ };
4441
+ };
4442
+ id: string;
4443
+ name: string | null;
4444
+ createdAt: string;
4445
+ updatedAt: string;
4446
+ deletedAt: string;
4447
+ isActive: boolean;
4448
+ thumbnailUrl: string | null;
4449
+ productId: string;
4450
+ sku: string;
4451
+ compareAtPrice: string;
4452
+ trackInventory: boolean;
4453
+ lowStockThreshold: number | null;
4454
+ };
4455
+ quantity: number;
4456
+ basePrice: number;
4457
+ discountPercent: number;
4458
+ finalPrice: number;
4459
+ subtotal: number;
4460
+ }[];
4461
+ pricing: {
4462
+ subtotal: number;
4463
+ deliveryCharge: number;
4464
+ discount: {
4465
+ code: string;
4466
+ type: "percentage" | "fixed";
4467
+ value: number;
4468
+ amount: number;
4469
+ description: string | null;
4470
+ };
4471
+ total: number;
4472
+ };
4473
+ createdAt: string;
4474
+ updatedAt: string;
4475
+ expiresAt: string;
4476
+ convertedToOrderId: string;
4477
+ wasRecovered: boolean;
4478
+ recoveryUrl: string;
4479
+ }, Error, string, unknown>;
4480
+ /**
4481
+ * Hook to checkout a cart and create an order using RPC
4482
+ *
4483
+ * @param cartId - Cart UUID
4484
+ * @param options - React Query mutation options
4485
+ *
4486
+ * @example
4487
+ * ```tsx
4488
+ * const checkout = useCheckoutCart('cart-123');
4489
+ * checkout.mutate({
4490
+ * firstName: 'John',
4491
+ * lastName: 'Doe',
4492
+ * email: 'john@example.com',
4493
+ * phone: '+1234567890',
4494
+ * address: '123 Main St',
4495
+ * city: 'New York',
4496
+ * deliveryZoneId: 'zone-123',
4497
+ * paymentMethod: 'cod'
4498
+ * });
4499
+ * ```
4500
+ */
4501
+ export declare function useCheckoutCart(cartId: string, options?: UseMutationOptions<Awaited<ReturnType<typeof checkoutCart>>, Error, Parameters<typeof checkoutCart>[1]>): import("@tanstack/react-query").UseMutationResult<{
4502
+ subtotal: number;
4503
+ deliveryCharge: number;
4504
+ totalPrice: number;
4505
+ discountAmount: number;
4506
+ createdAt: string;
4507
+ updatedAt: string;
4508
+ deletedAt: string;
4509
+ prospectSince: string;
4510
+ lastRecoveryAttemptAt: string;
4511
+ brand: {
4512
+ createdAt: string;
4513
+ updatedAt: string;
4514
+ deletedAt: string;
4515
+ id: string;
4516
+ name: string;
4517
+ slug: string;
4518
+ logoUrl: string | null;
4519
+ siteUrl: string;
4520
+ domain: string;
4521
+ metaPixelId: string | null;
4522
+ tiktokPixelId: string | null;
4523
+ paystackPublicKey: string | null;
4524
+ paystackSecretKey: string | null;
4525
+ };
4526
+ deliveryZone: {
4527
+ deliveryCost: number;
4528
+ freeShippingThreshold: number;
4529
+ createdAt: string;
4530
+ updatedAt: string;
4531
+ deletedAt: string;
4532
+ state: {
4533
+ createdAt: string;
4534
+ updatedAt: string;
4535
+ deletedAt: string;
4536
+ id: string;
4537
+ name: string;
4538
+ isActive: boolean;
4539
+ };
4540
+ id: string;
4541
+ name: string;
4542
+ brandId: string | null;
4543
+ stateId: string;
4544
+ allowCOD: boolean;
4545
+ allowOnline: boolean;
4546
+ waybillOnly: boolean;
4547
+ estimatedDays: number | null;
4548
+ noteTitle: string | null;
4549
+ noteContent: string | null;
4550
+ isActive: boolean;
4551
+ };
4552
+ items: {
4553
+ priceAtPurchase: number;
4554
+ variant: {
4555
+ price: number;
4556
+ createdAt: string;
4557
+ updatedAt: string;
4558
+ deletedAt: string;
4559
+ product: {
4560
+ createdAt: string;
4561
+ updatedAt: string;
4562
+ deletedAt: string;
4563
+ id: string;
4564
+ name: string;
4565
+ slug: string;
4566
+ brandId: string;
4567
+ isActive: boolean;
4568
+ description: string | null;
4569
+ thumbnailUrl: string | null;
4570
+ quantityDiscounts: string | number | boolean | {
4571
+ [x: string]: string | number | boolean | /*elided*/ any | {
4572
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4573
+ length: number;
4574
+ toString: never;
4575
+ toLocaleString: never;
4576
+ pop: never;
4577
+ push: never;
4578
+ concat: never;
4579
+ join: never;
4580
+ reverse: never;
4581
+ shift: never;
4582
+ slice: never;
4583
+ sort: never;
4584
+ splice: never;
4585
+ unshift: never;
4586
+ indexOf: never;
4587
+ lastIndexOf: never;
4588
+ every: never;
4589
+ some: never;
4590
+ forEach: never;
4591
+ map: never;
4592
+ filter: never;
4593
+ reduce: never;
4594
+ reduceRight: never;
4595
+ find: never;
4596
+ findIndex: never;
4597
+ fill: never;
4598
+ copyWithin: never;
4599
+ entries: never;
4600
+ keys: never;
4601
+ values: never;
4602
+ includes: never;
4603
+ flatMap: never;
4604
+ flat: never;
4605
+ [Symbol.iterator]: never;
4606
+ readonly [Symbol.unscopables]: {
4607
+ [x: number]: boolean;
4608
+ length?: boolean;
4609
+ toString?: boolean;
4610
+ toLocaleString?: boolean;
4611
+ pop?: boolean;
4612
+ push?: boolean;
4613
+ concat?: boolean;
4614
+ join?: boolean;
4615
+ reverse?: boolean;
4616
+ shift?: boolean;
4617
+ slice?: boolean;
4618
+ sort?: boolean;
4619
+ splice?: boolean;
4620
+ unshift?: boolean;
4621
+ indexOf?: boolean;
4622
+ lastIndexOf?: boolean;
4623
+ every?: boolean;
4624
+ some?: boolean;
4625
+ forEach?: boolean;
4626
+ map?: boolean;
4627
+ filter?: boolean;
4628
+ reduce?: boolean;
4629
+ reduceRight?: boolean;
4630
+ find?: boolean;
4631
+ findIndex?: boolean;
4632
+ fill?: boolean;
4633
+ copyWithin?: boolean;
4634
+ entries?: boolean;
4635
+ keys?: boolean;
4636
+ values?: boolean;
4637
+ includes?: boolean;
4638
+ flatMap?: boolean;
4639
+ flat?: boolean;
4640
+ };
4641
+ };
4642
+ } | {
4643
+ [x: number]: string | number | boolean | {
4644
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4645
+ } | /*elided*/ any;
4646
+ length: number;
4647
+ toString: never;
4648
+ toLocaleString: never;
4649
+ pop: never;
4650
+ push: never;
4651
+ concat: never;
4652
+ join: never;
4653
+ reverse: never;
4654
+ shift: never;
4655
+ slice: never;
4656
+ sort: never;
4657
+ splice: never;
4658
+ unshift: never;
4659
+ indexOf: never;
4660
+ lastIndexOf: never;
4661
+ every: never;
4662
+ some: never;
4663
+ forEach: never;
4664
+ map: never;
4665
+ filter: never;
4666
+ reduce: never;
4667
+ reduceRight: never;
4668
+ find: never;
4669
+ findIndex: never;
4670
+ fill: never;
4671
+ copyWithin: never;
4672
+ entries: never;
4673
+ keys: never;
4674
+ values: never;
4675
+ includes: never;
4676
+ flatMap: never;
4677
+ flat: never;
4678
+ [Symbol.iterator]: never;
4679
+ readonly [Symbol.unscopables]: {
4680
+ [x: number]: boolean;
4681
+ length?: boolean;
4682
+ toString?: boolean;
4683
+ toLocaleString?: boolean;
4684
+ pop?: boolean;
4685
+ push?: boolean;
4686
+ concat?: boolean;
4687
+ join?: boolean;
4688
+ reverse?: boolean;
4689
+ shift?: boolean;
4690
+ slice?: boolean;
4691
+ sort?: boolean;
4692
+ splice?: boolean;
4693
+ unshift?: boolean;
4694
+ indexOf?: boolean;
4695
+ lastIndexOf?: boolean;
4696
+ every?: boolean;
4697
+ some?: boolean;
4698
+ forEach?: boolean;
4699
+ map?: boolean;
4700
+ filter?: boolean;
4701
+ reduce?: boolean;
4702
+ reduceRight?: boolean;
4703
+ find?: boolean;
4704
+ findIndex?: boolean;
4705
+ fill?: boolean;
4706
+ copyWithin?: boolean;
4707
+ entries?: boolean;
4708
+ keys?: boolean;
4709
+ values?: boolean;
4710
+ includes?: boolean;
4711
+ flatMap?: boolean;
4712
+ flat?: boolean;
4713
+ };
4714
+ };
4715
+ media: string | number | boolean | {
4716
+ [x: string]: string | number | boolean | /*elided*/ any | {
4717
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4718
+ length: number;
4719
+ toString: never;
4720
+ toLocaleString: never;
4721
+ pop: never;
4722
+ push: never;
4723
+ concat: never;
4724
+ join: never;
4725
+ reverse: never;
4726
+ shift: never;
4727
+ slice: never;
4728
+ sort: never;
4729
+ splice: never;
4730
+ unshift: never;
4731
+ indexOf: never;
4732
+ lastIndexOf: never;
4733
+ every: never;
4734
+ some: never;
4735
+ forEach: never;
4736
+ map: never;
4737
+ filter: never;
4738
+ reduce: never;
4739
+ reduceRight: never;
4740
+ find: never;
4741
+ findIndex: never;
4742
+ fill: never;
4743
+ copyWithin: never;
4744
+ entries: never;
4745
+ keys: never;
4746
+ values: never;
4747
+ includes: never;
4748
+ flatMap: never;
4749
+ flat: never;
4750
+ [Symbol.iterator]: never;
4751
+ readonly [Symbol.unscopables]: {
4752
+ [x: number]: boolean;
4753
+ length?: boolean;
4754
+ toString?: boolean;
4755
+ toLocaleString?: boolean;
4756
+ pop?: boolean;
4757
+ push?: boolean;
4758
+ concat?: boolean;
4759
+ join?: boolean;
4760
+ reverse?: boolean;
4761
+ shift?: boolean;
4762
+ slice?: boolean;
4763
+ sort?: boolean;
4764
+ splice?: boolean;
4765
+ unshift?: boolean;
4766
+ indexOf?: boolean;
4767
+ lastIndexOf?: boolean;
4768
+ every?: boolean;
4769
+ some?: boolean;
4770
+ forEach?: boolean;
4771
+ map?: boolean;
4772
+ filter?: boolean;
4773
+ reduce?: boolean;
4774
+ reduceRight?: boolean;
4775
+ find?: boolean;
4776
+ findIndex?: boolean;
4777
+ fill?: boolean;
4778
+ copyWithin?: boolean;
4779
+ entries?: boolean;
4780
+ keys?: boolean;
4781
+ values?: boolean;
4782
+ includes?: boolean;
4783
+ flatMap?: boolean;
4784
+ flat?: boolean;
4785
+ };
4786
+ };
4787
+ } | {
4788
+ [x: number]: string | number | boolean | {
4789
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4790
+ } | /*elided*/ any;
4791
+ length: number;
4792
+ toString: never;
4793
+ toLocaleString: never;
4794
+ pop: never;
4795
+ push: never;
4796
+ concat: never;
4797
+ join: never;
4798
+ reverse: never;
4799
+ shift: never;
4800
+ slice: never;
4801
+ sort: never;
4802
+ splice: never;
4803
+ unshift: never;
4804
+ indexOf: never;
4805
+ lastIndexOf: never;
4806
+ every: never;
4807
+ some: never;
4808
+ forEach: never;
4809
+ map: never;
4810
+ filter: never;
4811
+ reduce: never;
4812
+ reduceRight: never;
4813
+ find: never;
4814
+ findIndex: never;
4815
+ fill: never;
4816
+ copyWithin: never;
4817
+ entries: never;
4818
+ keys: never;
4819
+ values: never;
4820
+ includes: never;
4821
+ flatMap: never;
4822
+ flat: never;
4823
+ [Symbol.iterator]: never;
4824
+ readonly [Symbol.unscopables]: {
4825
+ [x: number]: boolean;
4826
+ length?: boolean;
4827
+ toString?: boolean;
4828
+ toLocaleString?: boolean;
4829
+ pop?: boolean;
4830
+ push?: boolean;
4831
+ concat?: boolean;
4832
+ join?: boolean;
4833
+ reverse?: boolean;
4834
+ shift?: boolean;
4835
+ slice?: boolean;
4836
+ sort?: boolean;
4837
+ splice?: boolean;
4838
+ unshift?: boolean;
4839
+ indexOf?: boolean;
4840
+ lastIndexOf?: boolean;
4841
+ every?: boolean;
4842
+ some?: boolean;
4843
+ forEach?: boolean;
4844
+ map?: boolean;
4845
+ filter?: boolean;
4846
+ reduce?: boolean;
4847
+ reduceRight?: boolean;
4848
+ find?: boolean;
4849
+ findIndex?: boolean;
4850
+ fill?: boolean;
4851
+ copyWithin?: boolean;
4852
+ entries?: boolean;
4853
+ keys?: boolean;
4854
+ values?: boolean;
4855
+ includes?: boolean;
4856
+ flatMap?: boolean;
4857
+ flat?: boolean;
4858
+ };
4859
+ };
4860
+ features: string | null;
4861
+ faqs: string | number | boolean | {
4862
+ [x: string]: string | number | boolean | /*elided*/ any | {
4863
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4864
+ length: number;
4865
+ toString: never;
4866
+ toLocaleString: never;
4867
+ pop: never;
4868
+ push: never;
4869
+ concat: never;
4870
+ join: never;
4871
+ reverse: never;
4872
+ shift: never;
4873
+ slice: never;
4874
+ sort: never;
4875
+ splice: never;
4876
+ unshift: never;
4877
+ indexOf: never;
4878
+ lastIndexOf: never;
4879
+ every: never;
4880
+ some: never;
4881
+ forEach: never;
4882
+ map: never;
4883
+ filter: never;
4884
+ reduce: never;
4885
+ reduceRight: never;
4886
+ find: never;
4887
+ findIndex: never;
4888
+ fill: never;
4889
+ copyWithin: never;
4890
+ entries: never;
4891
+ keys: never;
4892
+ values: never;
4893
+ includes: never;
4894
+ flatMap: never;
4895
+ flat: never;
4896
+ [Symbol.iterator]: never;
4897
+ readonly [Symbol.unscopables]: {
4898
+ [x: number]: boolean;
4899
+ length?: boolean;
4900
+ toString?: boolean;
4901
+ toLocaleString?: boolean;
4902
+ pop?: boolean;
4903
+ push?: boolean;
4904
+ concat?: boolean;
4905
+ join?: boolean;
4906
+ reverse?: boolean;
4907
+ shift?: boolean;
4908
+ slice?: boolean;
4909
+ sort?: boolean;
4910
+ splice?: boolean;
4911
+ unshift?: boolean;
4912
+ indexOf?: boolean;
4913
+ lastIndexOf?: boolean;
4914
+ every?: boolean;
4915
+ some?: boolean;
4916
+ forEach?: boolean;
4917
+ map?: boolean;
4918
+ filter?: boolean;
4919
+ reduce?: boolean;
4920
+ reduceRight?: boolean;
4921
+ find?: boolean;
4922
+ findIndex?: boolean;
4923
+ fill?: boolean;
4924
+ copyWithin?: boolean;
4925
+ entries?: boolean;
4926
+ keys?: boolean;
4927
+ values?: boolean;
4928
+ includes?: boolean;
4929
+ flatMap?: boolean;
4930
+ flat?: boolean;
4931
+ };
4932
+ };
4933
+ } | {
4934
+ [x: number]: string | number | boolean | {
4935
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
4936
+ } | /*elided*/ any;
4937
+ length: number;
4938
+ toString: never;
4939
+ toLocaleString: never;
4940
+ pop: never;
4941
+ push: never;
4942
+ concat: never;
4943
+ join: never;
4944
+ reverse: never;
4945
+ shift: never;
4946
+ slice: never;
4947
+ sort: never;
4948
+ splice: never;
4949
+ unshift: never;
4950
+ indexOf: never;
4951
+ lastIndexOf: never;
4952
+ every: never;
4953
+ some: never;
4954
+ forEach: never;
4955
+ map: never;
4956
+ filter: never;
4957
+ reduce: never;
4958
+ reduceRight: never;
4959
+ find: never;
4960
+ findIndex: never;
4961
+ fill: never;
4962
+ copyWithin: never;
4963
+ entries: never;
4964
+ keys: never;
4965
+ values: never;
4966
+ includes: never;
4967
+ flatMap: never;
4968
+ flat: never;
4969
+ [Symbol.iterator]: never;
4970
+ readonly [Symbol.unscopables]: {
4971
+ [x: number]: boolean;
4972
+ length?: boolean;
4973
+ toString?: boolean;
4974
+ toLocaleString?: boolean;
4975
+ pop?: boolean;
4976
+ push?: boolean;
4977
+ concat?: boolean;
4978
+ join?: boolean;
4979
+ reverse?: boolean;
4980
+ shift?: boolean;
4981
+ slice?: boolean;
4982
+ sort?: boolean;
4983
+ splice?: boolean;
4984
+ unshift?: boolean;
4985
+ indexOf?: boolean;
4986
+ lastIndexOf?: boolean;
4987
+ every?: boolean;
4988
+ some?: boolean;
4989
+ forEach?: boolean;
4990
+ map?: boolean;
4991
+ filter?: boolean;
4992
+ reduce?: boolean;
4993
+ reduceRight?: boolean;
4994
+ find?: boolean;
4995
+ findIndex?: boolean;
4996
+ fill?: boolean;
4997
+ copyWithin?: boolean;
4998
+ entries?: boolean;
4999
+ keys?: boolean;
5000
+ values?: boolean;
5001
+ includes?: boolean;
5002
+ flatMap?: boolean;
5003
+ flat?: boolean;
5004
+ };
5005
+ };
5006
+ };
5007
+ id: string;
5008
+ name: string | null;
5009
+ isActive: boolean;
5010
+ thumbnailUrl: string | null;
5011
+ productId: string;
5012
+ sku: string;
5013
+ compareAtPrice: string;
5014
+ trackInventory: boolean;
5015
+ lowStockThreshold: number | null;
5016
+ };
5017
+ warehouse: {
5018
+ createdAt: string;
5019
+ updatedAt: string;
5020
+ deletedAt: string;
5021
+ id: string;
5022
+ name: string;
5023
+ isActive: boolean;
5024
+ address: string | null;
5025
+ city: string | null;
5026
+ state: string | null;
5027
+ };
5028
+ id: string;
5029
+ orderId: string;
5030
+ variantId: string;
5031
+ warehouseId: string | null;
5032
+ quantity: number;
5033
+ }[];
5034
+ email: string | null;
5035
+ id: string;
5036
+ brandId: string;
5037
+ deliveryZoneId: string;
5038
+ recoveryAttempts: number;
5039
+ recoveryDiscountCodeId: string | null;
5040
+ wasRecovered: boolean;
5041
+ estimatedDays: number | null;
5042
+ orderNumber: number;
5043
+ firstName: string;
5044
+ lastName: string;
5045
+ phone: string;
5046
+ address: string;
5047
+ city: string;
5048
+ discountCodeId: string | null;
5049
+ paymentMethod: import("@prisma/client").$Enums.PaymentMethod;
5050
+ paystackReference: string | null;
5051
+ status: import("@prisma/client").$Enums.OrderStatus;
5052
+ cancellationReason: string | null;
5053
+ prospectReason: import("@prisma/client").$Enums.ProspectReason | null;
5054
+ userActionToken: string;
5055
+ }, Error, {
5056
+ firstName: string;
5057
+ lastName: string;
5058
+ phone?: string;
5059
+ email?: string;
5060
+ address: string;
5061
+ city: string;
5062
+ deliveryZoneId: string;
5063
+ paymentMethod: "cod" | "online";
5064
+ paystackReference?: string;
5065
+ ifUnmodifiedSince?: string;
5066
+ fbc?: string;
5067
+ fbp?: string;
5068
+ ttp?: string;
5069
+ ttclid?: string;
5070
+ }, unknown>;
5071
+ /**
5072
+ * Hook to get recommended products for a cart using RPC
5073
+ *
5074
+ * @param cartId - Cart UUID
5075
+ * @param limit - Maximum number of recommendations (default: 6)
5076
+ * @param options - React Query options
5077
+ *
5078
+ * @example
5079
+ * ```tsx
5080
+ * const { data: recommendations, isLoading } = useGetCartRecommendations('cart-123', 6);
5081
+ * console.log(recommendations); // Array of products from same brand
5082
+ * ```
5083
+ */
5084
+ export declare function useGetCartRecommendations(cartId: string | null | undefined, limit: number, options?: Omit<UseQueryOptions<Awaited<ReturnType<typeof fetchCartRecommendations>>, Error>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<{
5085
+ id: string;
5086
+ name: string;
5087
+ slug: string;
5088
+ description: string;
5089
+ thumbnailUrl: string;
5090
+ quantityDiscounts: string | number | boolean | {
5091
+ [x: string]: string | number | boolean | /*elided*/ any | {
5092
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
5093
+ length: number;
5094
+ toString: never;
5095
+ toLocaleString: never;
5096
+ pop: never;
5097
+ push: never;
5098
+ concat: never;
5099
+ join: never;
5100
+ reverse: never;
5101
+ shift: never;
5102
+ slice: never;
5103
+ sort: never;
5104
+ splice: never;
5105
+ unshift: never;
5106
+ indexOf: never;
5107
+ lastIndexOf: never;
5108
+ every: never;
5109
+ some: never;
5110
+ forEach: never;
5111
+ map: never;
5112
+ filter: never;
5113
+ reduce: never;
5114
+ reduceRight: never;
5115
+ find: never;
5116
+ findIndex: never;
5117
+ fill: never;
5118
+ copyWithin: never;
5119
+ entries: never;
5120
+ keys: never;
5121
+ values: never;
5122
+ includes: never;
5123
+ flatMap: never;
5124
+ flat: never;
5125
+ [Symbol.iterator]: never;
5126
+ readonly [Symbol.unscopables]: {
5127
+ [x: number]: boolean;
5128
+ length?: boolean;
5129
+ toString?: boolean;
5130
+ toLocaleString?: boolean;
5131
+ pop?: boolean;
5132
+ push?: boolean;
5133
+ concat?: boolean;
5134
+ join?: boolean;
5135
+ reverse?: boolean;
5136
+ shift?: boolean;
5137
+ slice?: boolean;
5138
+ sort?: boolean;
5139
+ splice?: boolean;
5140
+ unshift?: boolean;
5141
+ indexOf?: boolean;
5142
+ lastIndexOf?: boolean;
5143
+ every?: boolean;
5144
+ some?: boolean;
5145
+ forEach?: boolean;
5146
+ map?: boolean;
5147
+ filter?: boolean;
5148
+ reduce?: boolean;
5149
+ reduceRight?: boolean;
5150
+ find?: boolean;
5151
+ findIndex?: boolean;
5152
+ fill?: boolean;
5153
+ copyWithin?: boolean;
5154
+ entries?: boolean;
5155
+ keys?: boolean;
5156
+ values?: boolean;
5157
+ includes?: boolean;
5158
+ flatMap?: boolean;
5159
+ flat?: boolean;
5160
+ };
5161
+ };
5162
+ } | {
5163
+ [x: number]: string | number | boolean | {
5164
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
5165
+ } | /*elided*/ any;
5166
+ length: number;
5167
+ toString: never;
5168
+ toLocaleString: never;
5169
+ pop: never;
5170
+ push: never;
5171
+ concat: never;
5172
+ join: never;
5173
+ reverse: never;
5174
+ shift: never;
5175
+ slice: never;
5176
+ sort: never;
5177
+ splice: never;
5178
+ unshift: never;
5179
+ indexOf: never;
5180
+ lastIndexOf: never;
5181
+ every: never;
5182
+ some: never;
5183
+ forEach: never;
5184
+ map: never;
5185
+ filter: never;
5186
+ reduce: never;
5187
+ reduceRight: never;
5188
+ find: never;
5189
+ findIndex: never;
5190
+ fill: never;
5191
+ copyWithin: never;
5192
+ entries: never;
5193
+ keys: never;
5194
+ values: never;
5195
+ includes: never;
5196
+ flatMap: never;
5197
+ flat: never;
5198
+ [Symbol.iterator]: never;
5199
+ readonly [Symbol.unscopables]: {
5200
+ [x: number]: boolean;
5201
+ length?: boolean;
5202
+ toString?: boolean;
5203
+ toLocaleString?: boolean;
5204
+ pop?: boolean;
5205
+ push?: boolean;
5206
+ concat?: boolean;
5207
+ join?: boolean;
5208
+ reverse?: boolean;
5209
+ shift?: boolean;
5210
+ slice?: boolean;
5211
+ sort?: boolean;
5212
+ splice?: boolean;
5213
+ unshift?: boolean;
5214
+ indexOf?: boolean;
5215
+ lastIndexOf?: boolean;
5216
+ every?: boolean;
5217
+ some?: boolean;
5218
+ forEach?: boolean;
5219
+ map?: boolean;
5220
+ filter?: boolean;
5221
+ reduce?: boolean;
5222
+ reduceRight?: boolean;
5223
+ find?: boolean;
5224
+ findIndex?: boolean;
5225
+ fill?: boolean;
5226
+ copyWithin?: boolean;
5227
+ entries?: boolean;
5228
+ keys?: boolean;
5229
+ values?: boolean;
5230
+ includes?: boolean;
5231
+ flatMap?: boolean;
5232
+ flat?: boolean;
5233
+ };
5234
+ };
5235
+ brand: {
5236
+ createdAt: string;
5237
+ updatedAt: string;
5238
+ deletedAt: string;
5239
+ id: string;
5240
+ name: string;
5241
+ slug: string;
5242
+ logoUrl: string | null;
5243
+ siteUrl: string;
5244
+ domain: string;
5245
+ metaPixelId: string | null;
5246
+ tiktokPixelId: string | null;
5247
+ paystackPublicKey: string | null;
5248
+ paystackSecretKey: string | null;
5249
+ };
5250
+ variants: {
5251
+ createdAt: string;
5252
+ updatedAt: string;
5253
+ price: number;
5254
+ compareAtPrice: number;
5255
+ deletedAt: string;
5256
+ id: string;
5257
+ name: string | null;
5258
+ isActive: boolean;
5259
+ thumbnailUrl: string | null;
5260
+ productId: string;
5261
+ sku: string;
5262
+ trackInventory: boolean;
5263
+ lowStockThreshold: number | null;
5264
+ }[];
5265
+ media: string | number | true | {
5266
+ [x: string]: string | number | boolean | /*elided*/ any | {
5267
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
5268
+ length: number;
5269
+ toString: never;
5270
+ toLocaleString: never;
5271
+ pop: never;
5272
+ push: never;
5273
+ concat: never;
5274
+ join: never;
5275
+ reverse: never;
5276
+ shift: never;
5277
+ slice: never;
5278
+ sort: never;
5279
+ splice: never;
5280
+ unshift: never;
5281
+ indexOf: never;
5282
+ lastIndexOf: never;
5283
+ every: never;
5284
+ some: never;
5285
+ forEach: never;
5286
+ map: never;
5287
+ filter: never;
5288
+ reduce: never;
5289
+ reduceRight: never;
5290
+ find: never;
5291
+ findIndex: never;
5292
+ fill: never;
5293
+ copyWithin: never;
5294
+ entries: never;
5295
+ keys: never;
5296
+ values: never;
5297
+ includes: never;
5298
+ flatMap: never;
5299
+ flat: never;
5300
+ [Symbol.iterator]: never;
5301
+ readonly [Symbol.unscopables]: {
5302
+ [x: number]: boolean;
5303
+ length?: boolean;
5304
+ toString?: boolean;
5305
+ toLocaleString?: boolean;
5306
+ pop?: boolean;
5307
+ push?: boolean;
5308
+ concat?: boolean;
5309
+ join?: boolean;
5310
+ reverse?: boolean;
5311
+ shift?: boolean;
5312
+ slice?: boolean;
5313
+ sort?: boolean;
5314
+ splice?: boolean;
5315
+ unshift?: boolean;
5316
+ indexOf?: boolean;
5317
+ lastIndexOf?: boolean;
5318
+ every?: boolean;
5319
+ some?: boolean;
5320
+ forEach?: boolean;
5321
+ map?: boolean;
5322
+ filter?: boolean;
5323
+ reduce?: boolean;
5324
+ reduceRight?: boolean;
5325
+ find?: boolean;
5326
+ findIndex?: boolean;
5327
+ fill?: boolean;
5328
+ copyWithin?: boolean;
5329
+ entries?: boolean;
5330
+ keys?: boolean;
5331
+ values?: boolean;
5332
+ includes?: boolean;
5333
+ flatMap?: boolean;
5334
+ flat?: boolean;
5335
+ };
5336
+ };
5337
+ } | {
5338
+ [x: number]: string | number | boolean | {
5339
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any;
5340
+ } | /*elided*/ any;
5341
+ length: number;
5342
+ toString: never;
5343
+ toLocaleString: never;
5344
+ pop: never;
5345
+ push: never;
5346
+ concat: never;
5347
+ join: never;
5348
+ reverse: never;
5349
+ shift: never;
5350
+ slice: never;
5351
+ sort: never;
5352
+ splice: never;
5353
+ unshift: never;
5354
+ indexOf: never;
5355
+ lastIndexOf: never;
5356
+ every: never;
5357
+ some: never;
5358
+ forEach: never;
5359
+ map: never;
5360
+ filter: never;
5361
+ reduce: never;
5362
+ reduceRight: never;
5363
+ find: never;
5364
+ findIndex: never;
5365
+ fill: never;
5366
+ copyWithin: never;
5367
+ entries: never;
5368
+ keys: never;
5369
+ values: never;
5370
+ includes: never;
5371
+ flatMap: never;
5372
+ flat: never;
5373
+ [Symbol.iterator]: never;
5374
+ readonly [Symbol.unscopables]: {
5375
+ [x: number]: boolean;
5376
+ length?: boolean;
5377
+ toString?: boolean;
5378
+ toLocaleString?: boolean;
5379
+ pop?: boolean;
5380
+ push?: boolean;
5381
+ concat?: boolean;
5382
+ join?: boolean;
5383
+ reverse?: boolean;
5384
+ shift?: boolean;
5385
+ slice?: boolean;
5386
+ sort?: boolean;
5387
+ splice?: boolean;
5388
+ unshift?: boolean;
5389
+ indexOf?: boolean;
5390
+ lastIndexOf?: boolean;
5391
+ every?: boolean;
5392
+ some?: boolean;
5393
+ forEach?: boolean;
5394
+ map?: boolean;
5395
+ filter?: boolean;
5396
+ reduce?: boolean;
5397
+ reduceRight?: boolean;
5398
+ find?: boolean;
5399
+ findIndex?: boolean;
5400
+ fill?: boolean;
5401
+ copyWithin?: boolean;
5402
+ entries?: boolean;
5403
+ keys?: boolean;
5404
+ values?: boolean;
5405
+ includes?: boolean;
5406
+ flatMap?: boolean;
5407
+ flat?: boolean;
5408
+ };
5409
+ };
5410
+ features: string;
5411
+ faqs: string | number | true | {
2497
5412
  [x: string]: string | number | boolean | /*elided*/ any | {
2498
5413
  [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any;
2499
5414
  length: number;