falconhub-apilibrary 1.2.4-dev.71 → 1.2.4-dev.73

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.
package/dist/index.d.mts CHANGED
@@ -494,6 +494,70 @@ interface UserAuthUpdateRequest {
494
494
  phoneVerified?: boolean;
495
495
  }
496
496
 
497
+ /**
498
+ * Interfaz que representa un tipo de usuario.
499
+ */
500
+ interface UserType {
501
+ userTypeId: number;
502
+ userType: string;
503
+ description: string;
504
+ createdAt: string;
505
+ updatedAt: string | null;
506
+ deleted: boolean;
507
+ }
508
+ /**
509
+ * Request para crear o actualizar un tipo de usuario.
510
+ */
511
+ interface UserTypeRequest {
512
+ userType: string;
513
+ description: string;
514
+ }
515
+ /**
516
+ * Filtros disponibles para buscar tipos de usuario.
517
+ */
518
+ interface UserTypesFilter {
519
+ /** Búsqueda general */
520
+ Search?: string;
521
+ /** Filtro por tipo de usuario (búsqueda parcial) */
522
+ UserType?: string;
523
+ /** Filtro por descripción (búsqueda parcial) */
524
+ Description?: string;
525
+ }
526
+
527
+ /**
528
+ * Interfaz que representa un rol del sistema.
529
+ */
530
+ interface Role {
531
+ roleId: number;
532
+ role: string;
533
+ description: string;
534
+ isActive: boolean;
535
+ createdAt: string;
536
+ updatedAt: string | null;
537
+ deleted: boolean;
538
+ }
539
+ /**
540
+ * Request para crear o actualizar un rol.
541
+ */
542
+ interface RoleRequest {
543
+ role: string;
544
+ description: string;
545
+ isActive?: boolean;
546
+ }
547
+ /**
548
+ * Filtros disponibles para buscar roles.
549
+ */
550
+ interface RolesFilter {
551
+ /** Búsqueda general */
552
+ Search?: string;
553
+ /** Filtro por nombre del rol (búsqueda parcial) */
554
+ Role?: string;
555
+ /** Filtro por descripción (búsqueda parcial) */
556
+ Description?: string;
557
+ /** Filtro por estado activo/inactivo */
558
+ IsActive?: boolean;
559
+ }
560
+
497
561
  /**
498
562
  * Utilidad para construir query params a partir de objetos de filtro.
499
563
  *
@@ -666,6 +730,71 @@ declare class UserService {
666
730
  * @param request - Nuevos datos de autenticación
667
731
  */
668
732
  updateAdminAuthentication(id: number, request: UserAuthUpdateRequest): Promise<ResponseModel<AdminAuthentication>>;
733
+ /**
734
+ * Obtiene todos los tipos de usuario con filtros opcionales.
735
+ * @param filter - Filtros opcionales para la búsqueda
736
+ */
737
+ getUserTypes(filter?: UserTypesFilter): Promise<ResponseModel<UserType[]>>;
738
+ /**
739
+ * Obtiene el modelo de filtros disponibles para tipos de usuario.
740
+ */
741
+ getUserTypesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
742
+ /**
743
+ * Obtiene un tipo de usuario por su ID.
744
+ * @param id - ID del tipo de usuario
745
+ */
746
+ getUserTypeById(id: number): Promise<ResponseModel<UserType>>;
747
+ /**
748
+ * Crea un nuevo tipo de usuario.
749
+ * @param request - Datos del tipo de usuario a crear
750
+ */
751
+ createUserType(request: UserTypeRequest): Promise<ResponseModel<UserType>>;
752
+ /**
753
+ * Actualiza un tipo de usuario existente.
754
+ * @param id - ID del tipo de usuario a actualizar
755
+ * @param request - Nuevos datos del tipo de usuario
756
+ */
757
+ updateUserType(id: number, request: UserTypeRequest): Promise<ResponseModel<UserType>>;
758
+ /**
759
+ * Elimina un tipo de usuario.
760
+ * @param id - ID del tipo de usuario a eliminar
761
+ */
762
+ deleteUserType(id: number): Promise<ResponseModel<void>>;
763
+ /**
764
+ * Obtiene todos los roles con filtros opcionales.
765
+ * @param filter - Filtros opcionales para la búsqueda
766
+ */
767
+ getRoles(filter?: RolesFilter): Promise<ResponseModel<Role[]>>;
768
+ /**
769
+ * Obtiene el modelo de filtros disponibles para roles.
770
+ */
771
+ getRolesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
772
+ /**
773
+ * Obtiene un rol por su ID.
774
+ * @param id - ID del rol
775
+ */
776
+ getRoleById(id: number): Promise<ResponseModel<Role>>;
777
+ /**
778
+ * Crea un nuevo rol.
779
+ * @param request - Datos del rol a crear
780
+ */
781
+ createRole(request: RoleRequest): Promise<ResponseModel<Role>>;
782
+ /**
783
+ * Actualiza un rol existente.
784
+ * @param id - ID del rol a actualizar
785
+ * @param request - Nuevos datos del rol
786
+ */
787
+ updateRole(id: number, request: RoleRequest): Promise<ResponseModel<Role>>;
788
+ /**
789
+ * Activa o desactiva un rol.
790
+ * @param id - ID del rol
791
+ */
792
+ toggleRoleStatus(id: number): Promise<ResponseModel<Role>>;
793
+ /**
794
+ * Elimina un rol.
795
+ * @param id - ID del rol a eliminar
796
+ */
797
+ deleteRole(id: number): Promise<ResponseModel<void>>;
669
798
  }
670
799
 
671
800
  /**
@@ -983,7 +1112,81 @@ interface InventoryStatusesFilter {
983
1112
  }
984
1113
 
985
1114
  /**
986
- * Servicio para gestionar inventario: ubicaciones y estatus.
1115
+ * Interfaz que representa un empaque del inventario.
1116
+ */
1117
+ interface Packing {
1118
+ packingId: number;
1119
+ packing: string;
1120
+ materialId: number | null;
1121
+ length: number | null;
1122
+ width: number | null;
1123
+ height: number | null;
1124
+ weightLimit: number | null;
1125
+ cost: number | null;
1126
+ providerId: number | null;
1127
+ isActive: number | null;
1128
+ createdAt: string | null;
1129
+ updatedAt: string | null;
1130
+ deleted: boolean | null;
1131
+ }
1132
+ /**
1133
+ * Request para crear o actualizar un empaque.
1134
+ */
1135
+ interface PackingRequest {
1136
+ packing: string;
1137
+ materialId?: number;
1138
+ length?: number;
1139
+ width?: number;
1140
+ height?: number;
1141
+ weightLimit?: number;
1142
+ cost?: number;
1143
+ providerId?: number;
1144
+ }
1145
+ /**
1146
+ * Filtros disponibles para buscar empaques.
1147
+ */
1148
+ interface PackingsFilter {
1149
+ Search?: string;
1150
+ Packing?: string;
1151
+ MaterialId?: number;
1152
+ ProviderId?: number;
1153
+ }
1154
+
1155
+ /**
1156
+ * Interfaz que representa un material del inventario.
1157
+ */
1158
+ interface Material {
1159
+ materialId: number;
1160
+ material: string;
1161
+ description: string;
1162
+ isRecyclable: boolean | null;
1163
+ isFragile: boolean | null;
1164
+ createdAt: string | null;
1165
+ updatedAt: string | null;
1166
+ deleted: boolean | null;
1167
+ }
1168
+ /**
1169
+ * Request para crear o actualizar un material.
1170
+ */
1171
+ interface MaterialRequest {
1172
+ material: string;
1173
+ description: string;
1174
+ isRecyclable?: boolean;
1175
+ isFragile?: boolean;
1176
+ }
1177
+ /**
1178
+ * Filtros disponibles para buscar materiales.
1179
+ */
1180
+ interface MaterialsFilter {
1181
+ Search?: string;
1182
+ Material?: string;
1183
+ Description?: string;
1184
+ IsRecyclable?: boolean;
1185
+ IsFragile?: boolean;
1186
+ }
1187
+
1188
+ /**
1189
+ * Servicio para gestionar inventario: ubicaciones, estatus, empaques y materiales.
987
1190
  */
988
1191
  declare class InventoryService {
989
1192
  private api;
@@ -1059,6 +1262,1108 @@ declare class InventoryService {
1059
1262
  * @param id - ID del estatus a eliminar
1060
1263
  */
1061
1264
  deleteStatus(id: number): Promise<ResponseModel<void>>;
1265
+ /**
1266
+ * Obtiene todos los empaques con filtros opcionales.
1267
+ * @param filter - Filtros opcionales para la búsqueda
1268
+ */
1269
+ getPackings(filter?: PackingsFilter): Promise<ResponseModel<Packing[]>>;
1270
+ /**
1271
+ * Obtiene el modelo de filtros disponibles para empaques.
1272
+ */
1273
+ getPackingFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1274
+ /**
1275
+ * Obtiene un empaque por su ID.
1276
+ * @param id - ID del empaque
1277
+ */
1278
+ getPackingById(id: number): Promise<ResponseModel<Packing>>;
1279
+ /**
1280
+ * Crea un nuevo empaque.
1281
+ * @param request - Datos del empaque a crear
1282
+ */
1283
+ createPacking(request: PackingRequest): Promise<ResponseModel<Packing>>;
1284
+ /**
1285
+ * Actualiza un empaque existente.
1286
+ * @param id - ID del empaque a actualizar
1287
+ * @param request - Nuevos datos del empaque
1288
+ */
1289
+ updatePacking(id: number, request: PackingRequest): Promise<ResponseModel<Packing>>;
1290
+ /**
1291
+ * Elimina un empaque.
1292
+ * @param id - ID del empaque a eliminar
1293
+ */
1294
+ deletePacking(id: number): Promise<ResponseModel<void>>;
1295
+ /**
1296
+ * Obtiene todos los materiales con filtros opcionales.
1297
+ * @param filter - Filtros opcionales para la búsqueda
1298
+ */
1299
+ getMaterials(filter?: MaterialsFilter): Promise<ResponseModel<Material[]>>;
1300
+ /**
1301
+ * Obtiene el modelo de filtros disponibles para materiales.
1302
+ */
1303
+ getMaterialFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1304
+ /**
1305
+ * Obtiene un material por su ID.
1306
+ * @param id - ID del material
1307
+ */
1308
+ getMaterialById(id: number): Promise<ResponseModel<Material>>;
1309
+ /**
1310
+ * Crea un nuevo material.
1311
+ * @param request - Datos del material a crear
1312
+ */
1313
+ createMaterial(request: MaterialRequest): Promise<ResponseModel<Material>>;
1314
+ /**
1315
+ * Actualiza un material existente.
1316
+ * @param id - ID del material a actualizar
1317
+ * @param request - Nuevos datos del material
1318
+ */
1319
+ updateMaterial(id: number, request: MaterialRequest): Promise<ResponseModel<Material>>;
1320
+ /**
1321
+ * Elimina un material.
1322
+ * @param id - ID del material a eliminar
1323
+ */
1324
+ deleteMaterial(id: number): Promise<ResponseModel<void>>;
1325
+ }
1326
+
1327
+ /**
1328
+ * Interfaz que representa una imagen de producto.
1329
+ */
1330
+ interface ProductImage {
1331
+ productImageId: number;
1332
+ productImage: string;
1333
+ mediaTypeId: number;
1334
+ productId: number | null;
1335
+ mediaRoleId: number | null;
1336
+ imageURL: string;
1337
+ createdAt: string | null;
1338
+ updatedAt: string | null;
1339
+ deleted: boolean | null;
1340
+ }
1341
+ /**
1342
+ * Request para crear o actualizar una imagen de producto.
1343
+ */
1344
+ interface ProductImageRequest {
1345
+ productImage: string;
1346
+ mediaTypeId: number;
1347
+ productId?: number;
1348
+ mediaRoleId?: number;
1349
+ imageURL: string;
1350
+ }
1351
+ /**
1352
+ * Filtros disponibles para buscar imágenes de producto.
1353
+ */
1354
+ interface ProductImagesFilter {
1355
+ Search?: string;
1356
+ ProductImage?: string;
1357
+ MediaTypeId?: number;
1358
+ ProductId?: number;
1359
+ MediaRoleId?: number;
1360
+ }
1361
+
1362
+ /**
1363
+ * Interfaz que representa un bullet de producto.
1364
+ */
1365
+ interface ProductBullet {
1366
+ productBulletId: number;
1367
+ productId: number;
1368
+ bulletOrder: number;
1369
+ title: string;
1370
+ text: string;
1371
+ createdAt: string | null;
1372
+ updatedAt: string | null;
1373
+ deleted: boolean | null;
1374
+ }
1375
+ /**
1376
+ * Request para crear o actualizar un bullet de producto.
1377
+ */
1378
+ interface ProductBulletRequest {
1379
+ productId: number;
1380
+ bulletOrder: number;
1381
+ title: string;
1382
+ text: string;
1383
+ }
1384
+ /**
1385
+ * Filtros disponibles para buscar bullets de producto.
1386
+ */
1387
+ interface ProductBulletsFilter {
1388
+ Search?: string;
1389
+ ProductId?: number;
1390
+ Title?: string;
1391
+ Text?: string;
1392
+ }
1393
+
1394
+ /**
1395
+ * Interfaz que representa un keyword de producto.
1396
+ */
1397
+ interface ProductKeyword {
1398
+ productKeywordId: number;
1399
+ productId: number;
1400
+ keyword: string;
1401
+ createdAt: string | null;
1402
+ updatedAt: string | null;
1403
+ deleted: boolean | null;
1404
+ }
1405
+ /**
1406
+ * Request para crear o actualizar un keyword de producto.
1407
+ */
1408
+ interface ProductKeywordRequest {
1409
+ productId: number;
1410
+ keyword: string;
1411
+ }
1412
+ /**
1413
+ * Filtros disponibles para buscar keywords de producto.
1414
+ */
1415
+ interface ProductKeywordsFilter {
1416
+ Search?: string;
1417
+ ProductId?: number;
1418
+ Keyword?: string;
1419
+ }
1420
+
1421
+ /**
1422
+ * Interfaz que representa un precio de producto.
1423
+ */
1424
+ interface ProductPrice {
1425
+ productPriceId: number;
1426
+ productId: number;
1427
+ priceTypeId: number;
1428
+ value: number;
1429
+ currency: string;
1430
+ eventId: number | null;
1431
+ validFrom: string | null;
1432
+ validTo: string | null;
1433
+ createdAt: string | null;
1434
+ updatedAt: string | null;
1435
+ deleted: boolean | null;
1436
+ }
1437
+ /**
1438
+ * Request para crear o actualizar un precio de producto.
1439
+ */
1440
+ interface ProductPriceRequest {
1441
+ productId: number;
1442
+ priceTypeId: number;
1443
+ value: number;
1444
+ currency: string;
1445
+ eventId?: number;
1446
+ validFrom?: string;
1447
+ validTo?: string;
1448
+ }
1449
+ /**
1450
+ * Filtros disponibles para buscar precios de producto.
1451
+ */
1452
+ interface ProductPricesFilter {
1453
+ Search?: string;
1454
+ ProductId?: number;
1455
+ PriceTypeId?: number;
1456
+ Currency?: string;
1457
+ EventId?: number;
1458
+ }
1459
+
1460
+ /**
1461
+ * Interfaz que representa un producto en blanco.
1462
+ */
1463
+ interface BlankProduct {
1464
+ blankProductId: number;
1465
+ sku: string;
1466
+ providerId: number | null;
1467
+ materialId: number | null;
1468
+ color: string;
1469
+ sizeId: number | null;
1470
+ price: number | null;
1471
+ createdAt: string | null;
1472
+ updatedAt: string | null;
1473
+ deleted: boolean | null;
1474
+ }
1475
+ /**
1476
+ * Request para crear o actualizar un producto en blanco.
1477
+ */
1478
+ interface BlankProductRequest {
1479
+ sku: string;
1480
+ providerId?: number;
1481
+ materialId?: number;
1482
+ color: string;
1483
+ sizeId?: number;
1484
+ price?: number;
1485
+ }
1486
+ /**
1487
+ * Filtros disponibles para buscar productos en blanco.
1488
+ */
1489
+ interface BlankProductsFilter {
1490
+ Search?: string;
1491
+ SKU?: string;
1492
+ ProviderId?: number;
1493
+ MaterialId?: number;
1494
+ Color?: string;
1495
+ SizeId?: number;
1496
+ }
1497
+
1498
+ /**
1499
+ * Interfaz que representa un detalle de producto POD (Print on Demand).
1500
+ */
1501
+ interface DetailProductPOD {
1502
+ detailProductPODId: number;
1503
+ productId: number | null;
1504
+ blankProductId: number | null;
1505
+ mokup: string;
1506
+ frontPrint: string;
1507
+ backPrint: string;
1508
+ sidePrint: string;
1509
+ detailPrint: string;
1510
+ neckLabel: string;
1511
+ handTag: string;
1512
+ royalty: number | null;
1513
+ colorVariant: string;
1514
+ createdAt: string | null;
1515
+ updatedAt: string | null;
1516
+ deleted: boolean | null;
1517
+ }
1518
+ /**
1519
+ * Request para crear o actualizar un detalle de producto POD.
1520
+ */
1521
+ interface DetailProductPODRequest {
1522
+ productId?: number;
1523
+ blankProductId?: number;
1524
+ mokup: string;
1525
+ frontPrint: string;
1526
+ backPrint: string;
1527
+ sidePrint: string;
1528
+ detailPrint: string;
1529
+ neckLabel: string;
1530
+ handTag: string;
1531
+ royalty?: number;
1532
+ colorVariant: string;
1533
+ }
1534
+ /**
1535
+ * Filtros disponibles para buscar detalles de producto POD.
1536
+ */
1537
+ interface DetailProductPODFilter {
1538
+ Search?: string;
1539
+ ProductId?: number;
1540
+ BlankProductId?: number;
1541
+ ColorVariant?: string;
1542
+ }
1543
+
1544
+ /**
1545
+ * Interfaz que representa una talla.
1546
+ */
1547
+ interface Size {
1548
+ sizeId: number;
1549
+ size: string;
1550
+ description: string;
1551
+ sizeGroupId: number | null;
1552
+ width: string;
1553
+ length: string;
1554
+ createdAt: string | null;
1555
+ updatedAt: string | null;
1556
+ deleted: boolean | null;
1557
+ }
1558
+ /**
1559
+ * Request para crear o actualizar una talla.
1560
+ */
1561
+ interface SizeRequest {
1562
+ size: string;
1563
+ description: string;
1564
+ sizeGroupId?: number;
1565
+ width: string;
1566
+ length: string;
1567
+ }
1568
+ /**
1569
+ * Filtros disponibles para buscar tallas.
1570
+ */
1571
+ interface SizesFilter {
1572
+ Search?: string;
1573
+ Size?: string;
1574
+ Description?: string;
1575
+ SizeGroupId?: number;
1576
+ }
1577
+
1578
+ /**
1579
+ * Interfaz que representa un grupo de tallas.
1580
+ */
1581
+ interface SizeGroup {
1582
+ sizeGroupId: number;
1583
+ sizeGroup: string;
1584
+ description: string;
1585
+ createdAt: string | null;
1586
+ updatedAt: string | null;
1587
+ deleted: boolean | null;
1588
+ }
1589
+ /**
1590
+ * Request para crear o actualizar un grupo de tallas.
1591
+ */
1592
+ interface SizeGroupRequest {
1593
+ sizeGroup: string;
1594
+ description: string;
1595
+ }
1596
+ /**
1597
+ * Filtros disponibles para buscar grupos de tallas.
1598
+ */
1599
+ interface SizeGroupsFilter {
1600
+ Search?: string;
1601
+ SizeGroup?: string;
1602
+ Description?: string;
1603
+ }
1604
+
1605
+ /**
1606
+ * Interfaz que representa un tipo de producto.
1607
+ */
1608
+ interface ProductType {
1609
+ productTypeId: number;
1610
+ productType: string;
1611
+ description: string;
1612
+ createdAt: string | null;
1613
+ updatedAt: string | null;
1614
+ deleted: boolean | null;
1615
+ }
1616
+ /**
1617
+ * Request para crear o actualizar un tipo de producto.
1618
+ */
1619
+ interface ProductTypeRequest {
1620
+ productType: string;
1621
+ description: string;
1622
+ }
1623
+ /**
1624
+ * Filtros disponibles para buscar tipos de producto.
1625
+ */
1626
+ interface ProductTypesFilter {
1627
+ Search?: string;
1628
+ ProductType?: string;
1629
+ Description?: string;
1630
+ }
1631
+
1632
+ /**
1633
+ * Interfaz que representa una categoría de producto.
1634
+ */
1635
+ interface ProductCategory {
1636
+ productCategoryId: number;
1637
+ productCategory: string;
1638
+ description: string;
1639
+ isActive: boolean | null;
1640
+ createdAt: string | null;
1641
+ updatedAt: string | null;
1642
+ deleted: boolean | null;
1643
+ }
1644
+ /**
1645
+ * Request para crear o actualizar una categoría de producto.
1646
+ */
1647
+ interface ProductCategoryRequest {
1648
+ productCategory: string;
1649
+ description: string;
1650
+ isActive?: boolean;
1651
+ }
1652
+ /**
1653
+ * Filtros disponibles para buscar categorías de producto.
1654
+ */
1655
+ interface ProductCategoriesFilter {
1656
+ Search?: string;
1657
+ ProductCategory?: string;
1658
+ Description?: string;
1659
+ IsActive?: boolean;
1660
+ }
1661
+
1662
+ /**
1663
+ * Interfaz que representa un estatus de producto.
1664
+ */
1665
+ interface ProductStatus {
1666
+ productStatusId: number;
1667
+ productStatus: string;
1668
+ description: string;
1669
+ isSellable: boolean | null;
1670
+ createdAt: string | null;
1671
+ updatedAt: string | null;
1672
+ deleted: boolean | null;
1673
+ }
1674
+ /**
1675
+ * Request para crear o actualizar un estatus de producto.
1676
+ */
1677
+ interface ProductStatusRequest {
1678
+ productStatus: string;
1679
+ description: string;
1680
+ isSellable?: boolean;
1681
+ }
1682
+ /**
1683
+ * Filtros disponibles para buscar estatus de producto.
1684
+ */
1685
+ interface ProductStatusesFilter {
1686
+ Search?: string;
1687
+ ProductStatus?: string;
1688
+ Description?: string;
1689
+ IsSellable?: boolean;
1690
+ }
1691
+
1692
+ /**
1693
+ * Interfaz que representa un estudio.
1694
+ */
1695
+ interface Studio {
1696
+ studioId: number;
1697
+ studio: string;
1698
+ logo: string;
1699
+ isActive: boolean | null;
1700
+ createdAt: string | null;
1701
+ updatedAt: string | null;
1702
+ deleted: boolean | null;
1703
+ }
1704
+ /**
1705
+ * Request para crear o actualizar un estudio.
1706
+ */
1707
+ interface StudioRequest {
1708
+ studio: string;
1709
+ logo: string;
1710
+ isActive?: boolean;
1711
+ }
1712
+ /**
1713
+ * Filtros disponibles para buscar estudios.
1714
+ */
1715
+ interface StudiosFilter {
1716
+ Search?: string;
1717
+ Studio?: string;
1718
+ IsActive?: boolean;
1719
+ }
1720
+
1721
+ /**
1722
+ * Interfaz que representa una licencia.
1723
+ */
1724
+ interface License {
1725
+ licenseId: number;
1726
+ license: string;
1727
+ studioId: number | null;
1728
+ region: string;
1729
+ isActive: boolean | null;
1730
+ createdAt: string | null;
1731
+ updatedAt: string | null;
1732
+ deleted: boolean | null;
1733
+ }
1734
+ /**
1735
+ * Request para crear o actualizar una licencia.
1736
+ */
1737
+ interface LicenseRequest {
1738
+ license: string;
1739
+ studioId?: number;
1740
+ region: string;
1741
+ isActive?: boolean;
1742
+ }
1743
+ /**
1744
+ * Filtros disponibles para buscar licencias.
1745
+ */
1746
+ interface LicensesFilter {
1747
+ Search?: string;
1748
+ License?: string;
1749
+ StudioId?: number;
1750
+ Region?: string;
1751
+ IsActive?: boolean;
1752
+ }
1753
+
1754
+ /**
1755
+ * Interfaz que representa un proveedor.
1756
+ */
1757
+ interface Provider {
1758
+ providerId: number;
1759
+ provider: string;
1760
+ isActive: boolean | null;
1761
+ createdAt: string | null;
1762
+ updatedAt: string | null;
1763
+ deleted: boolean | null;
1764
+ }
1765
+ /**
1766
+ * Request para crear o actualizar un proveedor.
1767
+ */
1768
+ interface ProviderRequest {
1769
+ provider: string;
1770
+ isActive?: boolean;
1771
+ }
1772
+ /**
1773
+ * Filtros disponibles para buscar proveedores.
1774
+ */
1775
+ interface ProvidersFilter {
1776
+ Search?: string;
1777
+ Provider?: string;
1778
+ IsActive?: boolean;
1779
+ }
1780
+
1781
+ /**
1782
+ * Servicio para gestionar productos y catálogos de productos.
1783
+ */
1784
+ declare class ProductService {
1785
+ private api;
1786
+ private readonly BASE_PATH;
1787
+ constructor(api: API);
1788
+ /**
1789
+ * Obtiene todas las imágenes de producto con filtros opcionales.
1790
+ * @param filter - Filtros opcionales para la búsqueda
1791
+ */
1792
+ getImages(filter?: ProductImagesFilter): Promise<ResponseModel<ProductImage[]>>;
1793
+ /**
1794
+ * Obtiene el modelo de filtros disponibles para imágenes de producto.
1795
+ */
1796
+ getImageFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1797
+ /**
1798
+ * Obtiene una imagen de producto por su ID.
1799
+ * @param id - ID de la imagen
1800
+ */
1801
+ getImageById(id: number): Promise<ResponseModel<ProductImage>>;
1802
+ /**
1803
+ * Crea una nueva imagen de producto.
1804
+ * @param request - Datos de la imagen a crear
1805
+ */
1806
+ createImage(request: ProductImageRequest): Promise<ResponseModel<ProductImage>>;
1807
+ /**
1808
+ * Actualiza una imagen de producto existente.
1809
+ * @param id - ID de la imagen a actualizar
1810
+ * @param request - Nuevos datos de la imagen
1811
+ */
1812
+ updateImage(id: number, request: ProductImageRequest): Promise<ResponseModel<ProductImage>>;
1813
+ /**
1814
+ * Elimina una imagen de producto.
1815
+ * @param id - ID de la imagen a eliminar
1816
+ */
1817
+ deleteImage(id: number): Promise<ResponseModel<void>>;
1818
+ /**
1819
+ * Obtiene todos los bullets de producto con filtros opcionales.
1820
+ * @param filter - Filtros opcionales para la búsqueda
1821
+ */
1822
+ getBullets(filter?: ProductBulletsFilter): Promise<ResponseModel<ProductBullet[]>>;
1823
+ /**
1824
+ * Obtiene el modelo de filtros disponibles para bullets de producto.
1825
+ */
1826
+ getBulletFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1827
+ /**
1828
+ * Obtiene un bullet de producto por su ID.
1829
+ * @param id - ID del bullet
1830
+ */
1831
+ getBulletById(id: number): Promise<ResponseModel<ProductBullet>>;
1832
+ /**
1833
+ * Crea un nuevo bullet de producto.
1834
+ * @param request - Datos del bullet a crear
1835
+ */
1836
+ createBullet(request: ProductBulletRequest): Promise<ResponseModel<ProductBullet>>;
1837
+ /**
1838
+ * Actualiza un bullet de producto existente.
1839
+ * @param id - ID del bullet a actualizar
1840
+ * @param request - Nuevos datos del bullet
1841
+ */
1842
+ updateBullet(id: number, request: ProductBulletRequest): Promise<ResponseModel<ProductBullet>>;
1843
+ /**
1844
+ * Elimina un bullet de producto.
1845
+ * @param id - ID del bullet a eliminar
1846
+ */
1847
+ deleteBullet(id: number): Promise<ResponseModel<void>>;
1848
+ /**
1849
+ * Obtiene todos los keywords de producto con filtros opcionales.
1850
+ * @param filter - Filtros opcionales para la búsqueda
1851
+ */
1852
+ getKeywords(filter?: ProductKeywordsFilter): Promise<ResponseModel<ProductKeyword[]>>;
1853
+ /**
1854
+ * Obtiene el modelo de filtros disponibles para keywords de producto.
1855
+ */
1856
+ getKeywordFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1857
+ /**
1858
+ * Obtiene un keyword de producto por su ID.
1859
+ * @param id - ID del keyword
1860
+ */
1861
+ getKeywordById(id: number): Promise<ResponseModel<ProductKeyword>>;
1862
+ /**
1863
+ * Crea un nuevo keyword de producto.
1864
+ * @param request - Datos del keyword a crear
1865
+ */
1866
+ createKeyword(request: ProductKeywordRequest): Promise<ResponseModel<ProductKeyword>>;
1867
+ /**
1868
+ * Actualiza un keyword de producto existente.
1869
+ * @param id - ID del keyword a actualizar
1870
+ * @param request - Nuevos datos del keyword
1871
+ */
1872
+ updateKeyword(id: number, request: ProductKeywordRequest): Promise<ResponseModel<ProductKeyword>>;
1873
+ /**
1874
+ * Elimina un keyword de producto.
1875
+ * @param id - ID del keyword a eliminar
1876
+ */
1877
+ deleteKeyword(id: number): Promise<ResponseModel<void>>;
1878
+ /**
1879
+ * Obtiene todos los precios de producto con filtros opcionales.
1880
+ * @param filter - Filtros opcionales para la búsqueda
1881
+ */
1882
+ getPrices(filter?: ProductPricesFilter): Promise<ResponseModel<ProductPrice[]>>;
1883
+ /**
1884
+ * Obtiene el modelo de filtros disponibles para precios de producto.
1885
+ */
1886
+ getPriceFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1887
+ /**
1888
+ * Obtiene un precio de producto por su ID.
1889
+ * @param id - ID del precio
1890
+ */
1891
+ getPriceById(id: number): Promise<ResponseModel<ProductPrice>>;
1892
+ /**
1893
+ * Crea un nuevo precio de producto.
1894
+ * @param request - Datos del precio a crear
1895
+ */
1896
+ createPrice(request: ProductPriceRequest): Promise<ResponseModel<ProductPrice>>;
1897
+ /**
1898
+ * Actualiza un precio de producto existente.
1899
+ * @param id - ID del precio a actualizar
1900
+ * @param request - Nuevos datos del precio
1901
+ */
1902
+ updatePrice(id: number, request: ProductPriceRequest): Promise<ResponseModel<ProductPrice>>;
1903
+ /**
1904
+ * Elimina un precio de producto.
1905
+ * @param id - ID del precio a eliminar
1906
+ */
1907
+ deletePrice(id: number): Promise<ResponseModel<void>>;
1908
+ /**
1909
+ * Obtiene todos los productos en blanco con filtros opcionales.
1910
+ * @param filter - Filtros opcionales para la búsqueda
1911
+ */
1912
+ getBlankProducts(filter?: BlankProductsFilter): Promise<ResponseModel<BlankProduct[]>>;
1913
+ /**
1914
+ * Obtiene el modelo de filtros disponibles para productos en blanco.
1915
+ */
1916
+ getBlankProductFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1917
+ /**
1918
+ * Obtiene un producto en blanco por su ID.
1919
+ * @param id - ID del producto en blanco
1920
+ */
1921
+ getBlankProductById(id: number): Promise<ResponseModel<BlankProduct>>;
1922
+ /**
1923
+ * Crea un nuevo producto en blanco.
1924
+ * @param request - Datos del producto en blanco a crear
1925
+ */
1926
+ createBlankProduct(request: BlankProductRequest): Promise<ResponseModel<BlankProduct>>;
1927
+ /**
1928
+ * Actualiza un producto en blanco existente.
1929
+ * @param id - ID del producto en blanco a actualizar
1930
+ * @param request - Nuevos datos del producto en blanco
1931
+ */
1932
+ updateBlankProduct(id: number, request: BlankProductRequest): Promise<ResponseModel<BlankProduct>>;
1933
+ /**
1934
+ * Elimina un producto en blanco.
1935
+ * @param id - ID del producto en blanco a eliminar
1936
+ */
1937
+ deleteBlankProduct(id: number): Promise<ResponseModel<void>>;
1938
+ /**
1939
+ * Obtiene todos los detalles de producto POD con filtros opcionales.
1940
+ * @param filter - Filtros opcionales para la búsqueda
1941
+ */
1942
+ getPODDetails(filter?: DetailProductPODFilter): Promise<ResponseModel<DetailProductPOD[]>>;
1943
+ /**
1944
+ * Obtiene el modelo de filtros disponibles para detalles de producto POD.
1945
+ */
1946
+ getPODDetailFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1947
+ /**
1948
+ * Obtiene un detalle de producto POD por su ID.
1949
+ * @param id - ID del detalle POD
1950
+ */
1951
+ getPODDetailById(id: number): Promise<ResponseModel<DetailProductPOD>>;
1952
+ /**
1953
+ * Crea un nuevo detalle de producto POD.
1954
+ * @param request - Datos del detalle POD a crear
1955
+ */
1956
+ createPODDetail(request: DetailProductPODRequest): Promise<ResponseModel<DetailProductPOD>>;
1957
+ /**
1958
+ * Actualiza un detalle de producto POD existente.
1959
+ * @param id - ID del detalle POD a actualizar
1960
+ * @param request - Nuevos datos del detalle POD
1961
+ */
1962
+ updatePODDetail(id: number, request: DetailProductPODRequest): Promise<ResponseModel<DetailProductPOD>>;
1963
+ /**
1964
+ * Elimina un detalle de producto POD.
1965
+ * @param id - ID del detalle POD a eliminar
1966
+ */
1967
+ deletePODDetail(id: number): Promise<ResponseModel<void>>;
1968
+ /**
1969
+ * Obtiene todas las tallas con filtros opcionales.
1970
+ * @param filter - Filtros opcionales para la búsqueda
1971
+ */
1972
+ getSizes(filter?: SizesFilter): Promise<ResponseModel<Size[]>>;
1973
+ /**
1974
+ * Obtiene el modelo de filtros disponibles para tallas.
1975
+ */
1976
+ getSizeFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1977
+ /**
1978
+ * Obtiene una talla por su ID.
1979
+ * @param id - ID de la talla
1980
+ */
1981
+ getSizeById(id: number): Promise<ResponseModel<Size>>;
1982
+ /**
1983
+ * Crea una nueva talla.
1984
+ * @param request - Datos de la talla a crear
1985
+ */
1986
+ createSize(request: SizeRequest): Promise<ResponseModel<Size>>;
1987
+ /**
1988
+ * Actualiza una talla existente.
1989
+ * @param id - ID de la talla a actualizar
1990
+ * @param request - Nuevos datos de la talla
1991
+ */
1992
+ updateSize(id: number, request: SizeRequest): Promise<ResponseModel<Size>>;
1993
+ /**
1994
+ * Elimina una talla.
1995
+ * @param id - ID de la talla a eliminar
1996
+ */
1997
+ deleteSize(id: number): Promise<ResponseModel<void>>;
1998
+ /**
1999
+ * Obtiene todos los grupos de tallas con filtros opcionales.
2000
+ * @param filter - Filtros opcionales para la búsqueda
2001
+ */
2002
+ getSizeGroups(filter?: SizeGroupsFilter): Promise<ResponseModel<SizeGroup[]>>;
2003
+ /**
2004
+ * Obtiene el modelo de filtros disponibles para grupos de tallas.
2005
+ */
2006
+ getSizeGroupFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2007
+ /**
2008
+ * Obtiene un grupo de tallas por su ID.
2009
+ * @param id - ID del grupo de tallas
2010
+ */
2011
+ getSizeGroupById(id: number): Promise<ResponseModel<SizeGroup>>;
2012
+ /**
2013
+ * Crea un nuevo grupo de tallas.
2014
+ * @param request - Datos del grupo de tallas a crear
2015
+ */
2016
+ createSizeGroup(request: SizeGroupRequest): Promise<ResponseModel<SizeGroup>>;
2017
+ /**
2018
+ * Actualiza un grupo de tallas existente.
2019
+ * @param id - ID del grupo de tallas a actualizar
2020
+ * @param request - Nuevos datos del grupo de tallas
2021
+ */
2022
+ updateSizeGroup(id: number, request: SizeGroupRequest): Promise<ResponseModel<SizeGroup>>;
2023
+ /**
2024
+ * Elimina un grupo de tallas.
2025
+ * @param id - ID del grupo de tallas a eliminar
2026
+ */
2027
+ deleteSizeGroup(id: number): Promise<ResponseModel<void>>;
2028
+ /**
2029
+ * Obtiene todos los tipos de producto con filtros opcionales.
2030
+ * @param filter - Filtros opcionales para la búsqueda
2031
+ */
2032
+ getProductTypes(filter?: ProductTypesFilter): Promise<ResponseModel<ProductType[]>>;
2033
+ /**
2034
+ * Obtiene el modelo de filtros disponibles para tipos de producto.
2035
+ */
2036
+ getProductTypeFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2037
+ /**
2038
+ * Obtiene un tipo de producto por su ID.
2039
+ * @param id - ID del tipo de producto
2040
+ */
2041
+ getProductTypeById(id: number): Promise<ResponseModel<ProductType>>;
2042
+ /**
2043
+ * Crea un nuevo tipo de producto.
2044
+ * @param request - Datos del tipo de producto a crear
2045
+ */
2046
+ createProductType(request: ProductTypeRequest): Promise<ResponseModel<ProductType>>;
2047
+ /**
2048
+ * Actualiza un tipo de producto existente.
2049
+ * @param id - ID del tipo de producto a actualizar
2050
+ * @param request - Nuevos datos del tipo de producto
2051
+ */
2052
+ updateProductType(id: number, request: ProductTypeRequest): Promise<ResponseModel<ProductType>>;
2053
+ /**
2054
+ * Elimina un tipo de producto.
2055
+ * @param id - ID del tipo de producto a eliminar
2056
+ */
2057
+ deleteProductType(id: number): Promise<ResponseModel<void>>;
2058
+ /**
2059
+ * Obtiene todas las categorías de producto con filtros opcionales.
2060
+ * @param filter - Filtros opcionales para la búsqueda
2061
+ */
2062
+ getProductCategories(filter?: ProductCategoriesFilter): Promise<ResponseModel<ProductCategory[]>>;
2063
+ /**
2064
+ * Obtiene el modelo de filtros disponibles para categorías de producto.
2065
+ */
2066
+ getProductCategoryFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2067
+ /**
2068
+ * Obtiene una categoría de producto por su ID.
2069
+ * @param id - ID de la categoría
2070
+ */
2071
+ getProductCategoryById(id: number): Promise<ResponseModel<ProductCategory>>;
2072
+ /**
2073
+ * Crea una nueva categoría de producto.
2074
+ * @param request - Datos de la categoría a crear
2075
+ */
2076
+ createProductCategory(request: ProductCategoryRequest): Promise<ResponseModel<ProductCategory>>;
2077
+ /**
2078
+ * Actualiza una categoría de producto existente.
2079
+ * @param id - ID de la categoría a actualizar
2080
+ * @param request - Nuevos datos de la categoría
2081
+ */
2082
+ updateProductCategory(id: number, request: ProductCategoryRequest): Promise<ResponseModel<ProductCategory>>;
2083
+ /**
2084
+ * Activa o desactiva una categoría de producto.
2085
+ * @param id - ID de la categoría
2086
+ */
2087
+ toggleProductCategoryStatus(id: number): Promise<ResponseModel<ProductCategory>>;
2088
+ /**
2089
+ * Elimina una categoría de producto.
2090
+ * @param id - ID de la categoría a eliminar
2091
+ */
2092
+ deleteProductCategory(id: number): Promise<ResponseModel<void>>;
2093
+ /**
2094
+ * Obtiene todos los estatus de producto con filtros opcionales.
2095
+ * @param filter - Filtros opcionales para la búsqueda
2096
+ */
2097
+ getProductStatuses(filter?: ProductStatusesFilter): Promise<ResponseModel<ProductStatus[]>>;
2098
+ /**
2099
+ * Obtiene el modelo de filtros disponibles para estatus de producto.
2100
+ */
2101
+ getProductStatusFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2102
+ /**
2103
+ * Obtiene un estatus de producto por su ID.
2104
+ * @param id - ID del estatus
2105
+ */
2106
+ getProductStatusById(id: number): Promise<ResponseModel<ProductStatus>>;
2107
+ /**
2108
+ * Crea un nuevo estatus de producto.
2109
+ * @param request - Datos del estatus a crear
2110
+ */
2111
+ createProductStatus(request: ProductStatusRequest): Promise<ResponseModel<ProductStatus>>;
2112
+ /**
2113
+ * Actualiza un estatus de producto existente.
2114
+ * @param id - ID del estatus a actualizar
2115
+ * @param request - Nuevos datos del estatus
2116
+ */
2117
+ updateProductStatus(id: number, request: ProductStatusRequest): Promise<ResponseModel<ProductStatus>>;
2118
+ /**
2119
+ * Elimina un estatus de producto.
2120
+ * @param id - ID del estatus a eliminar
2121
+ */
2122
+ deleteProductStatus(id: number): Promise<ResponseModel<void>>;
2123
+ /**
2124
+ * Obtiene todos los estudios con filtros opcionales.
2125
+ * @param filter - Filtros opcionales para la búsqueda
2126
+ */
2127
+ getStudios(filter?: StudiosFilter): Promise<ResponseModel<Studio[]>>;
2128
+ /**
2129
+ * Obtiene el modelo de filtros disponibles para estudios.
2130
+ */
2131
+ getStudioFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2132
+ /**
2133
+ * Obtiene un estudio por su ID.
2134
+ * @param id - ID del estudio
2135
+ */
2136
+ getStudioById(id: number): Promise<ResponseModel<Studio>>;
2137
+ /**
2138
+ * Crea un nuevo estudio.
2139
+ * @param request - Datos del estudio a crear
2140
+ */
2141
+ createStudio(request: StudioRequest): Promise<ResponseModel<Studio>>;
2142
+ /**
2143
+ * Actualiza un estudio existente.
2144
+ * @param id - ID del estudio a actualizar
2145
+ * @param request - Nuevos datos del estudio
2146
+ */
2147
+ updateStudio(id: number, request: StudioRequest): Promise<ResponseModel<Studio>>;
2148
+ /**
2149
+ * Activa o desactiva un estudio.
2150
+ * @param id - ID del estudio
2151
+ */
2152
+ toggleStudioStatus(id: number): Promise<ResponseModel<Studio>>;
2153
+ /**
2154
+ * Elimina un estudio.
2155
+ * @param id - ID del estudio a eliminar
2156
+ */
2157
+ deleteStudio(id: number): Promise<ResponseModel<void>>;
2158
+ /**
2159
+ * Obtiene todas las licencias con filtros opcionales.
2160
+ * @param filter - Filtros opcionales para la búsqueda
2161
+ */
2162
+ getLicenses(filter?: LicensesFilter): Promise<ResponseModel<License[]>>;
2163
+ /**
2164
+ * Obtiene el modelo de filtros disponibles para licencias.
2165
+ */
2166
+ getLicenseFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2167
+ /**
2168
+ * Obtiene una licencia por su ID.
2169
+ * @param id - ID de la licencia
2170
+ */
2171
+ getLicenseById(id: number): Promise<ResponseModel<License>>;
2172
+ /**
2173
+ * Crea una nueva licencia.
2174
+ * @param request - Datos de la licencia a crear
2175
+ */
2176
+ createLicense(request: LicenseRequest): Promise<ResponseModel<License>>;
2177
+ /**
2178
+ * Actualiza una licencia existente.
2179
+ * @param id - ID de la licencia a actualizar
2180
+ * @param request - Nuevos datos de la licencia
2181
+ */
2182
+ updateLicense(id: number, request: LicenseRequest): Promise<ResponseModel<License>>;
2183
+ /**
2184
+ * Activa o desactiva una licencia.
2185
+ * @param id - ID de la licencia
2186
+ */
2187
+ toggleLicenseStatus(id: number): Promise<ResponseModel<License>>;
2188
+ /**
2189
+ * Elimina una licencia.
2190
+ * @param id - ID de la licencia a eliminar
2191
+ */
2192
+ deleteLicense(id: number): Promise<ResponseModel<void>>;
2193
+ /**
2194
+ * Obtiene todos los proveedores con filtros opcionales.
2195
+ * @param filter - Filtros opcionales para la búsqueda
2196
+ */
2197
+ getProviders(filter?: ProvidersFilter): Promise<ResponseModel<Provider[]>>;
2198
+ /**
2199
+ * Obtiene el modelo de filtros disponibles para proveedores.
2200
+ */
2201
+ getProviderFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2202
+ /**
2203
+ * Obtiene un proveedor por su ID.
2204
+ * @param id - ID del proveedor
2205
+ */
2206
+ getProviderById(id: number): Promise<ResponseModel<Provider>>;
2207
+ /**
2208
+ * Crea un nuevo proveedor.
2209
+ * @param request - Datos del proveedor a crear
2210
+ */
2211
+ createProvider(request: ProviderRequest): Promise<ResponseModel<Provider>>;
2212
+ /**
2213
+ * Actualiza un proveedor existente.
2214
+ * @param id - ID del proveedor a actualizar
2215
+ * @param request - Nuevos datos del proveedor
2216
+ */
2217
+ updateProvider(id: number, request: ProviderRequest): Promise<ResponseModel<Provider>>;
2218
+ /**
2219
+ * Activa o desactiva un proveedor.
2220
+ * @param id - ID del proveedor
2221
+ */
2222
+ toggleProviderStatus(id: number): Promise<ResponseModel<Provider>>;
2223
+ /**
2224
+ * Elimina un proveedor.
2225
+ * @param id - ID del proveedor a eliminar
2226
+ */
2227
+ deleteProvider(id: number): Promise<ResponseModel<void>>;
2228
+ }
2229
+
2230
+ /**
2231
+ * Interfaz que representa un género del catálogo.
2232
+ */
2233
+ interface Gender {
2234
+ genderId: number;
2235
+ gender: string;
2236
+ createdAt: string;
2237
+ updatedAt: string | null;
2238
+ deleted: boolean;
2239
+ }
2240
+ /**
2241
+ * Request para crear o actualizar un género.
2242
+ */
2243
+ interface GenderRequest {
2244
+ gender: string;
2245
+ }
2246
+ /**
2247
+ * Filtros disponibles para buscar géneros.
2248
+ */
2249
+ interface GendersFilter {
2250
+ /** Búsqueda general */
2251
+ Search?: string;
2252
+ /** Filtro por nombre del género (búsqueda parcial) */
2253
+ Gender?: string;
2254
+ }
2255
+
2256
+ /**
2257
+ * Interfaz que representa un código de área del catálogo.
2258
+ */
2259
+ interface AreaCode {
2260
+ areaCodeId: number;
2261
+ countryCode: string;
2262
+ iso: string;
2263
+ countryName: string;
2264
+ isActive: boolean;
2265
+ createdAt: string;
2266
+ updatedAt: string | null;
2267
+ deleted: boolean;
2268
+ }
2269
+ /**
2270
+ * Request para crear o actualizar un código de área.
2271
+ */
2272
+ interface AreaCodeRequest {
2273
+ countryCode: string;
2274
+ iso: string;
2275
+ countryName: string;
2276
+ isActive?: boolean;
2277
+ }
2278
+ /**
2279
+ * Filtros disponibles para buscar códigos de área.
2280
+ */
2281
+ interface AreaCodesFilter {
2282
+ /** Búsqueda general */
2283
+ Search?: string;
2284
+ /** Filtro por código de país (búsqueda parcial) */
2285
+ CountryCode?: string;
2286
+ /** Filtro por ISO (búsqueda parcial) */
2287
+ ISO?: string;
2288
+ /** Filtro por nombre de país (búsqueda parcial) */
2289
+ CountryName?: string;
2290
+ /** Filtro por estado activo/inactivo */
2291
+ IsActive?: boolean;
2292
+ }
2293
+
2294
+ /**
2295
+ * Servicio para gestionar catálogos públicos.
2296
+ * No requiere autenticación.
2297
+ */
2298
+ declare class CatalogService {
2299
+ private api;
2300
+ private readonly BASE_PATH;
2301
+ constructor(api: API);
2302
+ /**
2303
+ * Obtiene todos los géneros con filtros opcionales.
2304
+ * @param filter - Filtros opcionales para la búsqueda
2305
+ */
2306
+ getGenders(filter?: GendersFilter): Promise<ResponseModel<Gender[]>>;
2307
+ /**
2308
+ * Obtiene el modelo de filtros disponibles para géneros.
2309
+ */
2310
+ getGendersFilters(): Promise<ResponseModel<FilterGroupsModel>>;
2311
+ /**
2312
+ * Obtiene un género por su ID.
2313
+ * @param id - ID del género
2314
+ */
2315
+ getGenderById(id: number): Promise<ResponseModel<Gender>>;
2316
+ /**
2317
+ * Crea un nuevo género.
2318
+ * @param request - Datos del género a crear
2319
+ */
2320
+ createGender(request: GenderRequest): Promise<ResponseModel<Gender>>;
2321
+ /**
2322
+ * Actualiza un género existente.
2323
+ * @param id - ID del género a actualizar
2324
+ * @param request - Nuevos datos del género
2325
+ */
2326
+ updateGender(id: number, request: GenderRequest): Promise<ResponseModel<Gender>>;
2327
+ /**
2328
+ * Elimina un género.
2329
+ * @param id - ID del género a eliminar
2330
+ */
2331
+ deleteGender(id: number): Promise<ResponseModel<void>>;
2332
+ /**
2333
+ * Obtiene todos los códigos de área con filtros opcionales.
2334
+ * @param filter - Filtros opcionales para la búsqueda
2335
+ */
2336
+ getAreaCodes(filter?: AreaCodesFilter): Promise<ResponseModel<AreaCode[]>>;
2337
+ /**
2338
+ * Obtiene el modelo de filtros disponibles para códigos de área.
2339
+ */
2340
+ getAreaCodesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
2341
+ /**
2342
+ * Obtiene un código de área por su ID.
2343
+ * @param id - ID del código de área
2344
+ */
2345
+ getAreaCodeById(id: number): Promise<ResponseModel<AreaCode>>;
2346
+ /**
2347
+ * Crea un nuevo código de área.
2348
+ * @param request - Datos del código de área a crear
2349
+ */
2350
+ createAreaCode(request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
2351
+ /**
2352
+ * Actualiza un código de área existente.
2353
+ * @param id - ID del código de área a actualizar
2354
+ * @param request - Nuevos datos del código de área
2355
+ */
2356
+ updateAreaCode(id: number, request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
2357
+ /**
2358
+ * Activa o desactiva un código de área.
2359
+ * @param id - ID del código de área
2360
+ */
2361
+ toggleAreaCodeStatus(id: number): Promise<ResponseModel<AreaCode>>;
2362
+ /**
2363
+ * Elimina un código de área.
2364
+ * @param id - ID del código de área a eliminar
2365
+ */
2366
+ deleteAreaCode(id: number): Promise<ResponseModel<void>>;
1062
2367
  }
1063
2368
 
1064
2369
  /**
@@ -1069,6 +2374,8 @@ declare class FalconHUBSDK {
1069
2374
  user: UserService;
1070
2375
  system: SystemService;
1071
2376
  inventory: InventoryService;
2377
+ product: ProductService;
2378
+ catalog: CatalogService;
1072
2379
  private serviceProperties;
1073
2380
  private cryptoService;
1074
2381
  private tokenManager;
@@ -1101,4 +2408,4 @@ declare class FalconHUBSDK {
1101
2408
 
1102
2409
  declare function decrypt(encryptedBase64: string, secret: string, timestamp: string): string;
1103
2410
 
1104
- export { API, type AdminAuthentication, type AdminUser, AuthInterceptor, type AuthInterceptorConfig, AuthService, type ChangePasswordAdminRequest, type ChangePasswordRequest, type ConfirmEmailRequest, CryptoService, type Endpoint, type EndpointRequest, type EndpointsFilter, ErrorResponse, FalconHUBSDK, FilterBuilder, type FilterFieldMetadata, type FilterGroup, type FilterGroupOption, type FilterGroupsModel, type FilterMetadataModel, type FilterModel, type HttpMethodType, type InterceptorContext, InventoryService, type InventoryStatus, type InventoryStatusRequest, type InventoryStatusesFilter, type Location, type LocationsFilter, type LocationsRequest, type LoginRequest, type LoginResponse, type MethodTypes, type Module, type ModuleRequest, type ModulesFilter, type RefreshTokenRequest, type RefreshTokenResponse, type RequestConfig, type RequestInterceptor, type RequestOptions, type ResponseModel, type SendOtpRequest, type ServiceProperties, SystemService, type TokenData, TokenManager, type UIRoute, type UIRouteRequest, type UIRoutesFilter, type UserAdminFilter, type UserAdminRequest, type UserAdminUpdateRequest, type UserAuthAdminRequest, type UserAuthUpdateRequest, type UserBasicResponse, type UserProfileResponse, UserService, type ValidateOtpRequest, type ValidateSessionRenewedResponse, type ValidateSessionResponse, decrypt };
2411
+ export { API, type AdminAuthentication, type AdminUser, type AreaCode, type AreaCodeRequest, type AreaCodesFilter, AuthInterceptor, type AuthInterceptorConfig, AuthService, type BlankProduct, type BlankProductRequest, type BlankProductsFilter, CatalogService, type ChangePasswordAdminRequest, type ChangePasswordRequest, type ConfirmEmailRequest, CryptoService, type DetailProductPOD, type DetailProductPODFilter, type DetailProductPODRequest, type Endpoint, type EndpointRequest, type EndpointsFilter, ErrorResponse, FalconHUBSDK, FilterBuilder, type FilterFieldMetadata, type FilterGroup, type FilterGroupOption, type FilterGroupsModel, type FilterMetadataModel, type FilterModel, type Gender, type GenderRequest, type GendersFilter, type HttpMethodType, type InterceptorContext, InventoryService, type InventoryStatus, type InventoryStatusRequest, type InventoryStatusesFilter, type License, type LicenseRequest, type LicensesFilter, type Location, type LocationsFilter, type LocationsRequest, type LoginRequest, type LoginResponse, type Material, type MaterialRequest, type MaterialsFilter, type MethodTypes, type Module, type ModuleRequest, type ModulesFilter, type Packing, type PackingRequest, type PackingsFilter, type ProductBullet, type ProductBulletRequest, type ProductBulletsFilter, type ProductCategoriesFilter, type ProductCategory, type ProductCategoryRequest, type ProductImage, type ProductImageRequest, type ProductImagesFilter, type ProductKeyword, type ProductKeywordRequest, type ProductKeywordsFilter, type ProductPrice, type ProductPriceRequest, type ProductPricesFilter, ProductService, type ProductStatus, type ProductStatusRequest, type ProductStatusesFilter, type ProductType, type ProductTypeRequest, type ProductTypesFilter, type Provider, type ProviderRequest, type ProvidersFilter, type RefreshTokenRequest, type RefreshTokenResponse, type RequestConfig, type RequestInterceptor, type RequestOptions, type ResponseModel, type Role, type RoleRequest, type RolesFilter, type SendOtpRequest, type ServiceProperties, type Size, type SizeGroup, type SizeGroupRequest, type SizeGroupsFilter, type SizeRequest, type SizesFilter, type Studio, type StudioRequest, type StudiosFilter, SystemService, type TokenData, TokenManager, type UIRoute, type UIRouteRequest, type UIRoutesFilter, type UserAdminFilter, type UserAdminRequest, type UserAdminUpdateRequest, type UserAuthAdminRequest, type UserAuthUpdateRequest, type UserBasicResponse, type UserProfileResponse, UserService, type UserType, type UserTypeRequest, type UserTypesFilter, type ValidateOtpRequest, type ValidateSessionRenewedResponse, type ValidateSessionResponse, decrypt };