@teez-sdk/teez-b2c-api 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4494 @@
1
+ import * as z from "zod/mini";
2
+
3
+ //#region src/common/constants.d.ts
4
+ /**
5
+ * The default base URL for the Teez B2C API.
6
+ */
7
+ declare const BASE_URL = "https://b2c-api.teez.kz";
8
+ /**
9
+ * Supported languages for the API.
10
+ */
11
+ declare const LANGUAGES: {
12
+ /**
13
+ * Russian language
14
+ */
15
+ readonly RU: "ru";
16
+ /**
17
+ * Kazakh language
18
+ */
19
+ readonly KZ: "kz";
20
+ };
21
+ /**
22
+ * Standard sort options for product and collection searches
23
+ */
24
+ declare const SORT_OPTIONS: {
25
+ /**
26
+ * Sort by relevance (usually for search results)
27
+ */
28
+ readonly BY_RELEVANCE: "byRelevance";
29
+ /**
30
+ * Sort by popularity descending
31
+ */
32
+ readonly POPULARITY: "popularity";
33
+ /**
34
+ * Sort by user rating descending
35
+ */
36
+ readonly HIGHEST_RATED: "highestRated";
37
+ /**
38
+ * Sort by creation date descending
39
+ */
40
+ readonly NEW: "new";
41
+ /**
42
+ * Sort by price ascending
43
+ */
44
+ readonly PRICE: "price";
45
+ /**
46
+ * Sort by price descending
47
+ */
48
+ readonly PRICE_DESC: "priceDesc";
49
+ };
50
+ /**
51
+ * Default application version code.
52
+ */
53
+ declare const DEFAULT_APP_VERSION = "193";
54
+ //#endregion
55
+ //#region src/common/types.d.ts
56
+ /**
57
+ * Supported languages for the API.
58
+ */
59
+ type Language = (typeof LANGUAGES)[keyof typeof LANGUAGES] | (string & {});
60
+ /**
61
+ * Base parameters for API requests.
62
+ */
63
+ type BaseParams = Record<string, unknown>;
64
+ /**
65
+ * Available sorting options for API listings.
66
+ */
67
+ type SortOption = (typeof SORT_OPTIONS)[keyof typeof SORT_OPTIONS] | (string & {});
68
+ //#endregion
69
+ //#region src/config.d.ts
70
+ /**
71
+ * Configuration options for the Teez client.
72
+ */
73
+ interface TeezClientConfig {
74
+ /**
75
+ * Base URL for the API.
76
+ * @default "https://b2c-api.teez.kz"
77
+ */
78
+ baseUrl?: string;
79
+ /**
80
+ * Application version string.
81
+ * @default "193"
82
+ */
83
+ appVersion?: string;
84
+ /**
85
+ * Language for API responses.
86
+ * @default "ru"
87
+ */
88
+ language?: Language;
89
+ /**
90
+ * Request timeout in milliseconds.
91
+ * @default 30000
92
+ */
93
+ timeout?: number;
94
+ /**
95
+ * Custom headers to include in all requests.
96
+ */
97
+ headers?: Record<string, string>;
98
+ }
99
+ /**
100
+ * Fully resolved configuration with defaults applied.
101
+ */
102
+ interface ResolvedTeezClientConfig {
103
+ /**
104
+ * Base URL for the API.
105
+ */
106
+ readonly baseUrl: string;
107
+ /**
108
+ * Application version string.
109
+ */
110
+ readonly appVersion: string;
111
+ /**
112
+ * Language for API responses.
113
+ */
114
+ readonly language: Language;
115
+ /**
116
+ * Request timeout in milliseconds.
117
+ */
118
+ readonly timeout: number;
119
+ /**
120
+ * Custom headers included in requests.
121
+ */
122
+ readonly headers: Readonly<Record<string, string>>;
123
+ }
124
+ /**
125
+ * Default configuration values.
126
+ */
127
+ declare const DEFAULT_CONFIG: ResolvedTeezClientConfig;
128
+ /**
129
+ * Merges user configuration with defaults.
130
+ */
131
+ declare function resolveConfig(config?: TeezClientConfig): ResolvedTeezClientConfig;
132
+ /**
133
+ * Builds a standard user-agent string for the Teez client.
134
+ */
135
+ declare function buildUserAgent(appVersion: string): string;
136
+ /**
137
+ * Builds the headers object for API requests based on configuration.
138
+ */
139
+ declare function buildHeaders(config: ResolvedTeezClientConfig): Record<string, string>;
140
+ //#endregion
141
+ //#region src/http/types.d.ts
142
+ /**
143
+ * Type representing URL query parameters.
144
+ */
145
+ type QueryParams = Record<string, unknown>;
146
+ /**
147
+ * Options for making a generic HTTP request.
148
+ */
149
+ interface HttpRequestOptions extends Omit<RequestInit, "headers" | "signal"> {
150
+ /**
151
+ * Full URL for the request.
152
+ */
153
+ url: string;
154
+ /**
155
+ * Additional headers for this specific request.
156
+ */
157
+ headers?: Record<string, string>;
158
+ }
159
+ /**
160
+ * Options for making a GET request.
161
+ */
162
+ interface HttpGetOptions<T extends z.ZodMiniType> extends Omit<HttpRequestOptions, "url" | "method" | "body"> {
163
+ /**
164
+ * Relative path to the resource.
165
+ */
166
+ path: string;
167
+ /**
168
+ * Query parameters to append to the URL.
169
+ */
170
+ params?: QueryParams;
171
+ /**
172
+ * Zod schema to validate the response.
173
+ */
174
+ schema: T;
175
+ }
176
+ //#endregion
177
+ //#region src/http/client.d.ts
178
+ /**
179
+ * Internal HTTP client for making API requests.
180
+ */
181
+ declare class HttpClient {
182
+ /**
183
+ * Base URL for all requests.
184
+ */
185
+ private readonly baseUrl;
186
+ /**
187
+ * Headers to include in all requests.
188
+ */
189
+ private readonly headers;
190
+ /**
191
+ * Request timeout in milliseconds.
192
+ */
193
+ private readonly timeout;
194
+ constructor(config: ResolvedTeezClientConfig);
195
+ /**
196
+ * Performs a low-level HTTP request.
197
+ */
198
+ request(options: HttpRequestOptions): Promise<unknown>;
199
+ /**
200
+ * Performs a GET request and validates the response.
201
+ */
202
+ get<T extends z.ZodMiniType>(options: HttpGetOptions<T>): Promise<z.output<T>>;
203
+ }
204
+ //#endregion
205
+ //#region src/api/banners/schema-types.d.ts
206
+ /**
207
+ * ⚠️ This file is auto-generated. Do not edit manually.
208
+ * Run `npm run generate:schema-types` to regenerate.
209
+ * Generated from: schemas.ts
210
+ */
211
+ /**
212
+ * Type literal for banner image resource type
213
+ */
214
+ type BannerImageType = "network";
215
+ /**
216
+ * Schema for a banner image.
217
+ */
218
+ interface BannersApiImage {
219
+ /**
220
+ * Type of image resource (e.g., "network" for remote URLs)
221
+ */
222
+ type: BannerImageType;
223
+ /**
224
+ * Direct URL to the image
225
+ */
226
+ url: string;
227
+ }
228
+ /**
229
+ * Type union for banner action types
230
+ */
231
+ type BannerActionTypes = "url" | "path" | "key";
232
+ /**
233
+ * Schema for a banner action.
234
+ */
235
+ interface BannersApiAction {
236
+ /**
237
+ * Type of action - "url" for external links, "path" for app navigation, "key" for special actions
238
+ */
239
+ type: BannerActionTypes;
240
+ /**
241
+ * Target value - full URL for "url" type, app path for "path" type (e.g., "/collection/393"), or action key for "key" type
242
+ */
243
+ value: string;
244
+ /**
245
+ * Key for analytics tracking
246
+ */
247
+ analyticsKey?: (string | null) | undefined;
248
+ }
249
+ /**
250
+ * Schema for a banner item containing an image and an action.
251
+ */
252
+ interface BannersApiBannerItem {
253
+ /**
254
+ * Image details for the banner
255
+ */
256
+ image: BannersApiImage;
257
+ /**
258
+ * Action details for the banner interaction
259
+ */
260
+ action: BannersApiAction;
261
+ }
262
+ /**
263
+ * Response schema for the list of banners.
264
+ */
265
+ type BannersApiListResponse = BannersApiBannerItem[];
266
+ //#endregion
267
+ //#region src/api/banners/types.d.ts
268
+ /**
269
+ * Parameters for fetching banners.
270
+ */
271
+ interface BannersApiListParams extends BaseParams {
272
+ /**
273
+ * Type of banners to filter by
274
+ */
275
+ type?: string;
276
+ }
277
+ //#endregion
278
+ //#region src/api/banners/api.d.ts
279
+ /**
280
+ * API for retrieving promotional and informational banners.
281
+ */
282
+ declare class BannersApi {
283
+ private http;
284
+ constructor(http: HttpClient);
285
+ /**
286
+ * Retrieves a list of active banners.
287
+ */
288
+ list(params?: BannersApiListParams): Promise<BannersApiListResponse>;
289
+ }
290
+ //#endregion
291
+ //#region src/api/categories/schema-types.d.ts
292
+ /**
293
+ * ⚠️ This file is auto-generated. Do not edit manually.
294
+ * Run `npm run generate:schema-types` to regenerate.
295
+ * Generated from: schemas.ts
296
+ */
297
+ interface Auxiliary_1 {
298
+ /**
299
+ * Unique identifier of the category
300
+ */
301
+ id: number;
302
+ /**
303
+ * Localized display name of the category
304
+ */
305
+ name: string;
306
+ /**
307
+ * Depth level in the category tree
308
+ */
309
+ level: number;
310
+ /**
311
+ * Identifier of the parent category
312
+ */
313
+ parentId: number;
314
+ /**
315
+ * Indicates if there are nested subcategories
316
+ */
317
+ hasSubcategories: boolean;
318
+ /**
319
+ * Indicates if the category contains adult content
320
+ */
321
+ isAdult: boolean;
322
+ /**
323
+ * List of nested subcategories.
324
+ */
325
+ subcategories?: (Auxiliary_1[] | null) | undefined;
326
+ }
327
+ interface Auxiliary_2 {
328
+ /**
329
+ * Unique identifier of the category
330
+ */
331
+ id: number;
332
+ /**
333
+ * Localized display name of the category
334
+ */
335
+ name: string;
336
+ /**
337
+ * Depth level in the category tree
338
+ */
339
+ level: number;
340
+ /**
341
+ * Indicates if there are nested subcategories
342
+ */
343
+ hasSubcategories: boolean;
344
+ /**
345
+ * List of nested subcategories.
346
+ */
347
+ subcategories?: (Auxiliary_2[] | null) | undefined;
348
+ }
349
+ /**
350
+ * Schema for a category list item.
351
+ */
352
+ interface CategoriesApiListResponseItem {
353
+ /**
354
+ * Unique identifier of the category
355
+ */
356
+ id: number;
357
+ /**
358
+ * Localized display name of the category
359
+ */
360
+ name: string;
361
+ /**
362
+ * Depth level in the category tree
363
+ */
364
+ level: number;
365
+ /**
366
+ * Identifier of the parent category
367
+ */
368
+ parentId: number;
369
+ /**
370
+ * Indicates if there are nested subcategories
371
+ */
372
+ hasSubcategories: boolean;
373
+ /**
374
+ * Indicates if the category contains adult content
375
+ */
376
+ isAdult: boolean;
377
+ }
378
+ /**
379
+ * Response schema for the list of categories.
380
+ */
381
+ type CategoriesApiListResponse = CategoriesApiListResponseItem[];
382
+ /**
383
+ * Response schema for getting a specific category by ID.
384
+ */
385
+ type CategoriesApiGetResponse = Auxiliary_1;
386
+ /**
387
+ * Schema for a parent category item with nesting.
388
+ */
389
+ type CategoriesApiGetParentsResponseItem = Auxiliary_2;
390
+ /**
391
+ * Response schema for getting parent categories.
392
+ */
393
+ type CategoriesApiGetParentsResponse = CategoriesApiGetParentsResponseItem[];
394
+ //#endregion
395
+ //#region src/api/categories/types.d.ts
396
+ /**
397
+ * Parameters for fetching category list.
398
+ */
399
+ type CategoriesApiListParams = BaseParams;
400
+ /**
401
+ * Parameters for fetching a specific category.
402
+ */
403
+ interface CategoriesApiGetParams extends BaseParams {
404
+ /**
405
+ * Unique identifier of the category
406
+ */
407
+ categoryId: number;
408
+ }
409
+ /**
410
+ * Parameters for fetching parent categories.
411
+ */
412
+ interface CategoriesApiGetParentsParams extends BaseParams {
413
+ /**
414
+ * List of category IDs to find parents for
415
+ */
416
+ categoryId: number[];
417
+ /**
418
+ * Hierarchy level to filter by
419
+ */
420
+ level?: number;
421
+ }
422
+ //#endregion
423
+ //#region src/api/categories/api.d.ts
424
+ /**
425
+ * API for retrieving product category information.
426
+ */
427
+ declare class CategoriesApi {
428
+ private http;
429
+ constructor(http: HttpClient);
430
+ /**
431
+ * Retrieves a list of all categories.
432
+ */
433
+ list(params?: CategoriesApiListParams): Promise<CategoriesApiListResponse>;
434
+ /**
435
+ * Retrieves detailed information about a specific category by its ID.
436
+ */
437
+ get(params: CategoriesApiGetParams): Promise<CategoriesApiGetResponse>;
438
+ /**
439
+ * Retrieves parent categories for specific category IDs.
440
+ */
441
+ getParents(params: CategoriesApiGetParentsParams): Promise<CategoriesApiGetParentsResponse>;
442
+ }
443
+ //#endregion
444
+ //#region src/api/collections/schema-types.d.ts
445
+ /**
446
+ * ⚠️ This file is auto-generated. Do not edit manually.
447
+ * Run `npm run generate:schema-types` to regenerate.
448
+ * Generated from: schemas.ts
449
+ */
450
+ /**
451
+ * Type literal for collections stock availability type
452
+ */
453
+ type CollectionsStockAvailabilityType = "stock";
454
+ /**
455
+ * Schema for stock availability information.
456
+ */
457
+ interface CollectionsApiStockAvailability {
458
+ /**
459
+ * Type of stock status (known value: "stock")
460
+ */
461
+ type: CollectionsStockAvailabilityType;
462
+ /**
463
+ * SVG icon representing stock status
464
+ */
465
+ svg?: (string | null) | undefined;
466
+ /**
467
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
468
+ */
469
+ text: string;
470
+ /**
471
+ * Maximum quantity available for purchase
472
+ */
473
+ maxQty: number;
474
+ /**
475
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
476
+ */
477
+ maxQtyReason: string;
478
+ }
479
+ /**
480
+ * Schema for a SKU item within a collection.
481
+ */
482
+ interface CollectionsApiSkuItem {
483
+ /**
484
+ * Unique product identifier
485
+ */
486
+ productId: number;
487
+ /**
488
+ * Unique stock keeping unit identifier
489
+ */
490
+ skuId: number;
491
+ /**
492
+ * URL for the full-size image
493
+ */
494
+ imageUrl: string;
495
+ /**
496
+ * Display name of the product
497
+ */
498
+ name: string;
499
+ /**
500
+ * Brief description of the product
501
+ */
502
+ shortDescription: string;
503
+ /**
504
+ * URL for the small preview image
505
+ */
506
+ thumbnailUrl: string;
507
+ /**
508
+ * Original price before discounts
509
+ */
510
+ originalPrice: number;
511
+ /**
512
+ * Current selling price
513
+ */
514
+ price: number;
515
+ /**
516
+ * Quantity available in stock
517
+ */
518
+ qty: number;
519
+ /**
520
+ * Stock availability details
521
+ */
522
+ stockAvailability?: (CollectionsApiStockAvailability | null) | undefined;
523
+ /**
524
+ * Indicates if the item is on promotion
525
+ */
526
+ isPromo: boolean;
527
+ /**
528
+ * Name of the promotion
529
+ */
530
+ promoName: string;
531
+ /**
532
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
533
+ */
534
+ qtyPurchasedInfo?: (string | null) | undefined;
535
+ /**
536
+ * Average rating score
537
+ */
538
+ rating?: (number | null) | undefined;
539
+ /**
540
+ * Total number of ratings
541
+ */
542
+ scoreQuantity?: (number | null) | undefined;
543
+ }
544
+ /**
545
+ * Response schema for getting SKUs from a collection.
546
+ */
547
+ interface CollectionsApiGetSkusResponse {
548
+ /**
549
+ * List of applicable filters for the collection
550
+ */
551
+ filters: ({
552
+ type: "range";
553
+ name: string;
554
+ code: string;
555
+ options: {
556
+ min: number;
557
+ max: number;
558
+ }[];
559
+ } | {
560
+ type: "category" | "alphabetic_search_list";
561
+ name: string;
562
+ code: string;
563
+ options: {
564
+ label: string;
565
+ value: number;
566
+ }[];
567
+ })[];
568
+ /**
569
+ * List of SKU items in the collection
570
+ */
571
+ items: CollectionsApiSkuItem[];
572
+ /**
573
+ * Current page number
574
+ */
575
+ pageNumber: number;
576
+ /**
577
+ * Total number of pages available
578
+ */
579
+ totalPages: number;
580
+ /**
581
+ * Total number of items in the collection
582
+ */
583
+ totalCount: number;
584
+ /**
585
+ * Indicates if there is a previous page
586
+ */
587
+ hasPreviousPage: boolean;
588
+ /**
589
+ * Indicates if there is a next page
590
+ */
591
+ hasNextPage: boolean;
592
+ }
593
+ /**
594
+ * Schema for a collection list item.
595
+ */
596
+ interface CollectionsApiListItem {
597
+ /**
598
+ * Unique identifier of the collection
599
+ */
600
+ id: number;
601
+ /**
602
+ * URL or path to the collection's icon
603
+ */
604
+ icon?: (string | null) | undefined;
605
+ /**
606
+ * Name of the collection
607
+ */
608
+ name: string;
609
+ /**
610
+ * Priority for sorting or display order
611
+ */
612
+ priority: number;
613
+ }
614
+ /**
615
+ * Response schema for the list of collections.
616
+ */
617
+ type CollectionsApiListResponse = CollectionsApiListItem[];
618
+ /**
619
+ * Type literal for collection type identifier
620
+ */
621
+ type CollectionType = "Collection";
622
+ /**
623
+ * Response schema for getting a specific collection by ID.
624
+ */
625
+ interface CollectionsApiGetResponse {
626
+ /**
627
+ * Type of the collection (known value: "Collection")
628
+ */
629
+ type: CollectionType;
630
+ /**
631
+ * Unique identifier of the collection
632
+ */
633
+ id: number;
634
+ /**
635
+ * URL for the cover image
636
+ */
637
+ cover: string;
638
+ /**
639
+ * Description of the collection
640
+ */
641
+ description: string;
642
+ /**
643
+ * Name of the collection
644
+ */
645
+ name: string;
646
+ /**
647
+ * Priority for sorting or display order
648
+ */
649
+ priority: number;
650
+ }
651
+ //#endregion
652
+ //#region src/api/collections/types.d.ts
653
+ /**
654
+ * Parameters for fetching SKUs from a collection.
655
+ */
656
+ interface CollectionsApiGetSkusParams extends BaseParams {
657
+ /**
658
+ * Number of the page to retrieve
659
+ */
660
+ pageNumber?: number;
661
+ /**
662
+ * Number of items per page
663
+ */
664
+ pageSize?: number;
665
+ /**
666
+ * Unique identifier of the collection
667
+ */
668
+ collectionId: number;
669
+ /**
670
+ * Sorting option for the results
671
+ */
672
+ sortBy?: SortOption;
673
+ }
674
+ /**
675
+ * Parameters for fetching the list of collections.
676
+ */
677
+ interface CollectionsApiListParams extends BaseParams {
678
+ /**
679
+ * Type of collections to filter by
680
+ */
681
+ type?: string;
682
+ /**
683
+ * Filter collections by shop ID
684
+ */
685
+ shopId?: number;
686
+ }
687
+ /**
688
+ * Parameters for fetching a specific collection.
689
+ */
690
+ interface CollectionsApiGetParams extends BaseParams {
691
+ /**
692
+ * Unique identifier of the collection
693
+ */
694
+ collectionId: number;
695
+ }
696
+ //#endregion
697
+ //#region src/api/collections/api.d.ts
698
+ /**
699
+ * API for retrieving curated collections of products.
700
+ */
701
+ declare class CollectionsApi {
702
+ private http;
703
+ constructor(http: HttpClient);
704
+ /**
705
+ * Retrieves a list of SKUs belonging to a specific collection with pagination and sorting.
706
+ */
707
+ getSkus(params: CollectionsApiGetSkusParams): Promise<CollectionsApiGetSkusResponse>;
708
+ /**
709
+ * Retrieves a list of all collections.
710
+ */
711
+ list(params?: CollectionsApiListParams): Promise<CollectionsApiListResponse>;
712
+ /**
713
+ * Retrieves detailed information about a specific collection by its ID.
714
+ */
715
+ get(params: CollectionsApiGetParams): Promise<CollectionsApiGetResponse>;
716
+ }
717
+ //#endregion
718
+ //#region src/api/feature-flags/schema-types.d.ts
719
+ /**
720
+ * ⚠️ This file is auto-generated. Do not edit manually.
721
+ * Run `npm run generate:schema-types` to regenerate.
722
+ * Generated from: schemas.ts
723
+ */
724
+ /**
725
+ * Schema for a feature flag item.
726
+ */
727
+ interface FeatureFlagsApiItem {
728
+ /**
729
+ * Name of the feature flag
730
+ */
731
+ name: string;
732
+ /**
733
+ * Indicates if the feature flag is currently active
734
+ */
735
+ isActive: boolean;
736
+ }
737
+ /**
738
+ * Response schema for the list of feature flags.
739
+ */
740
+ type FeatureFlagsApiListResponse = FeatureFlagsApiItem[];
741
+ //#endregion
742
+ //#region src/api/feature-flags/types.d.ts
743
+ /**
744
+ * Parameters for fetching feature flags.
745
+ */
746
+ type FeatureFlagsApiListParams = BaseParams;
747
+ //#endregion
748
+ //#region src/api/feature-flags/api.d.ts
749
+ /**
750
+ * API for retrieving feature flags configuration.
751
+ */
752
+ declare class FeatureFlagsApi {
753
+ private http;
754
+ constructor(http: HttpClient);
755
+ /**
756
+ * Retrieves all active feature flags.
757
+ */
758
+ list(params?: FeatureFlagsApiListParams): Promise<FeatureFlagsApiListResponse>;
759
+ }
760
+ //#endregion
761
+ //#region src/api/products/schema-types.d.ts
762
+ /**
763
+ * ⚠️ This file is auto-generated. Do not edit manually.
764
+ * Run `npm run generate:schema-types` to regenerate.
765
+ * Generated from: schemas.ts
766
+ */
767
+ /**
768
+ * Type union for product sort keys
769
+ */
770
+ type ProductSortKey = "popularity" | "highestRated" | "new" | "price" | "priceDesc";
771
+ /**
772
+ * Schema for a sort option.
773
+ */
774
+ interface ProductsApiSortOption {
775
+ /**
776
+ * Sort key - "popularity", "highestRated", "new", "price", or "priceDesc"
777
+ */
778
+ key: ProductSortKey;
779
+ /**
780
+ * Localized display name of the sort option
781
+ */
782
+ name: string;
783
+ }
784
+ /**
785
+ * Response schema for available sort options.
786
+ */
787
+ type ProductsApiGetSortOptionsResponse = ProductsApiSortOption[];
788
+ /**
789
+ * Schema for a product review item.
790
+ */
791
+ interface ProductsApiReviewItem {
792
+ /**
793
+ * Name of the review author
794
+ */
795
+ author: string;
796
+ /**
797
+ * Text content of the review
798
+ */
799
+ reviewText: string;
800
+ /**
801
+ * Rating score given in the review
802
+ */
803
+ scoreValue: number;
804
+ /**
805
+ * Additional attributes associated with the review
806
+ */
807
+ attributes: Record<string, string>;
808
+ /**
809
+ * Date and time when the review was created
810
+ */
811
+ createdAt: string;
812
+ }
813
+ /**
814
+ * Response schema for product reviews.
815
+ */
816
+ interface ProductsApiGetReviewsResponse {
817
+ /**
818
+ * List of review items
819
+ */
820
+ items: ProductsApiReviewItem[];
821
+ /**
822
+ * Current page number
823
+ */
824
+ pageNumber: number;
825
+ /**
826
+ * Total number of pages available
827
+ */
828
+ totalPages: number;
829
+ /**
830
+ * Total number of reviews
831
+ */
832
+ totalCount: number;
833
+ /**
834
+ * Indicates if there is a previous page
835
+ */
836
+ hasPreviousPage: boolean;
837
+ /**
838
+ * Indicates if there is a next page
839
+ */
840
+ hasNextPage: boolean;
841
+ }
842
+ /**
843
+ * Schema for a product badge.
844
+ */
845
+ interface ProductsApiBadge {
846
+ /**
847
+ * Background color code
848
+ */
849
+ backgroundColor: number;
850
+ /**
851
+ * Text label of the badge
852
+ */
853
+ label: string;
854
+ /**
855
+ * Text color code
856
+ */
857
+ textColor: number;
858
+ }
859
+ /**
860
+ * Type literal for products stock availability type
861
+ */
862
+ type ProductsStockAvailabilityType = "stock";
863
+ /**
864
+ * Schema for stock availability information.
865
+ */
866
+ interface ProductsApiStockAvailability {
867
+ /**
868
+ * Type of stock status (known value: "stock")
869
+ */
870
+ type: ProductsStockAvailabilityType;
871
+ /**
872
+ * SVG icon representing stock status
873
+ */
874
+ svg?: (string | null) | undefined;
875
+ /**
876
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
877
+ */
878
+ text: string;
879
+ /**
880
+ * Maximum quantity available
881
+ */
882
+ maxQty: number;
883
+ /**
884
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
885
+ */
886
+ maxQtyReason: string;
887
+ }
888
+ /**
889
+ * Schema for a product item.
890
+ */
891
+ interface ProductsApiProductItem {
892
+ /**
893
+ * Unique product identifier
894
+ */
895
+ productId: number;
896
+ /**
897
+ * Unique stock keeping unit identifier
898
+ */
899
+ skuId: number;
900
+ /**
901
+ * URL for the full-size image
902
+ */
903
+ imageUrl: string;
904
+ /**
905
+ * Full display name of the product
906
+ */
907
+ name: string;
908
+ /**
909
+ * Brief description of the product
910
+ */
911
+ shortDescription: string;
912
+ /**
913
+ * URL for the small preview image
914
+ */
915
+ thumbnailUrl: string;
916
+ /**
917
+ * Original price before discounts
918
+ */
919
+ originalPrice: number;
920
+ /**
921
+ * Current selling price
922
+ */
923
+ price: number;
924
+ /**
925
+ * Quantity available in stock
926
+ */
927
+ qty: number;
928
+ /**
929
+ * Stock availability details
930
+ */
931
+ stockAvailability?: (ProductsApiStockAvailability | null) | undefined;
932
+ /**
933
+ * Indicates if the product is on promotion
934
+ */
935
+ isPromo: boolean;
936
+ /**
937
+ * Name of the promotion
938
+ */
939
+ promoName: string;
940
+ /**
941
+ * List of applicable promocodes
942
+ */
943
+ promocodes: string[];
944
+ /**
945
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают", "11 заказов", "930 заказов")
946
+ */
947
+ qtyPurchasedInfo?: (string | null) | undefined;
948
+ /**
949
+ * Average rating score
950
+ */
951
+ rating?: (number | null) | undefined;
952
+ /**
953
+ * Total number of ratings
954
+ */
955
+ scoreQuantity?: (number | null) | undefined;
956
+ /**
957
+ * Badge information for the product
958
+ */
959
+ badge: ProductsApiBadge;
960
+ /**
961
+ * Moderation status code
962
+ */
963
+ moderationStatus: number;
964
+ }
965
+ /**
966
+ * Response schema for the product list.
967
+ */
968
+ interface ProductsApiListResponse {
969
+ /**
970
+ * List of applicable filters
971
+ */
972
+ filters: ({
973
+ type: "range";
974
+ name: string;
975
+ code: string;
976
+ options: {
977
+ min: number;
978
+ max: number;
979
+ }[];
980
+ } | {
981
+ type: "category" | "alphabetic_search_list";
982
+ name: string;
983
+ code: string;
984
+ options: {
985
+ label: string;
986
+ value: number;
987
+ }[];
988
+ })[];
989
+ /**
990
+ * List of product items
991
+ */
992
+ items: ProductsApiProductItem[];
993
+ /**
994
+ * Current page number
995
+ */
996
+ pageNumber: number;
997
+ /**
998
+ * Total number of pages available
999
+ */
1000
+ totalPages: number;
1001
+ /**
1002
+ * Total number of products found
1003
+ */
1004
+ totalCount: number;
1005
+ /**
1006
+ * Indicates if there is a previous page
1007
+ */
1008
+ hasPreviousPage: boolean;
1009
+ /**
1010
+ * Indicates if there is a next page
1011
+ */
1012
+ hasNextPage: boolean;
1013
+ }
1014
+ //#endregion
1015
+ //#region src/api/products/types.d.ts
1016
+ /**
1017
+ * Parameters for fetching product sort options.
1018
+ */
1019
+ interface ProductsApiGetSortOptionsParams extends BaseParams {
1020
+ /**
1021
+ * Indicates if the context is a search result
1022
+ */
1023
+ IsSearch?: boolean;
1024
+ /**
1025
+ * Indicates if the context is a promotional listing
1026
+ */
1027
+ IsPromo?: boolean;
1028
+ }
1029
+ /**
1030
+ * Parameters for fetching product reviews.
1031
+ */
1032
+ interface ProductsApiGetReviewsParams extends BaseParams {
1033
+ /**
1034
+ * Unique identifier of the product
1035
+ */
1036
+ productId: number;
1037
+ /**
1038
+ * Number of the page to retrieve
1039
+ */
1040
+ pageNumber?: number;
1041
+ /**
1042
+ * Number of reviews per page
1043
+ */
1044
+ pageSize?: number;
1045
+ }
1046
+ /**
1047
+ * Parameters for fetching a filtered list of products.
1048
+ */
1049
+ interface ProductsApiListParams extends BaseParams {
1050
+ /**
1051
+ * Random seed for consistent pagination
1052
+ */
1053
+ seed?: number;
1054
+ /**
1055
+ * Number of the page to retrieve
1056
+ */
1057
+ pageNumber?: number;
1058
+ /**
1059
+ * Number of products per page
1060
+ */
1061
+ pageSize?: number;
1062
+ /**
1063
+ * Filter products by category ID
1064
+ */
1065
+ categoryId?: number;
1066
+ /**
1067
+ * Criteria to sort products by
1068
+ */
1069
+ sortBy?: SortOption;
1070
+ /**
1071
+ * Filter products by brand ID
1072
+ */
1073
+ brandIds?: number;
1074
+ /**
1075
+ * Minimum price filter
1076
+ */
1077
+ minPrice?: number;
1078
+ /**
1079
+ * Maximum price filter
1080
+ */
1081
+ maxPrice?: number;
1082
+ }
1083
+ //#endregion
1084
+ //#region src/api/products/api.d.ts
1085
+ /**
1086
+ * API for retrieving product listings, details, and reviews.
1087
+ */
1088
+ declare class ProductsApi {
1089
+ private http;
1090
+ constructor(http: HttpClient);
1091
+ /**
1092
+ * Retrieves available sorting options for product lists.
1093
+ */
1094
+ getSortOptions(params?: ProductsApiGetSortOptionsParams): Promise<ProductsApiGetSortOptionsResponse>;
1095
+ /**
1096
+ * Retrieves a list of products with optional filtering and pagination.
1097
+ */
1098
+ list(params?: ProductsApiListParams): Promise<ProductsApiListResponse>;
1099
+ /**
1100
+ * Retrieves reviews for a specific product.
1101
+ */
1102
+ getReviews(params: ProductsApiGetReviewsParams): Promise<ProductsApiGetReviewsResponse>;
1103
+ }
1104
+ //#endregion
1105
+ //#region src/api/promo/schema-types.d.ts
1106
+ /**
1107
+ * ⚠️ This file is auto-generated. Do not edit manually.
1108
+ * Run `npm run generate:schema-types` to regenerate.
1109
+ * Generated from: schemas.ts
1110
+ */
1111
+ /**
1112
+ * Schema for a promotion item.
1113
+ */
1114
+ interface PromoApiItem {
1115
+ /**
1116
+ * Unique identifier of the promotion
1117
+ */
1118
+ id: number;
1119
+ /**
1120
+ * Localized name of the promotion
1121
+ */
1122
+ name: string;
1123
+ /**
1124
+ * Localized detailed description of the promotion
1125
+ */
1126
+ description?: (string | null) | undefined;
1127
+ /**
1128
+ * URL to the SVG icon for the promotion
1129
+ */
1130
+ svgUrl?: (string | null) | undefined;
1131
+ /**
1132
+ * Start date of the promotion
1133
+ */
1134
+ startDate: string;
1135
+ /**
1136
+ * End date of the promotion
1137
+ */
1138
+ endDate: string;
1139
+ }
1140
+ /**
1141
+ * Response schema for the list of promotions.
1142
+ */
1143
+ type PromoApiListResponse = PromoApiItem[];
1144
+ //#endregion
1145
+ //#region src/api/promo/types.d.ts
1146
+ /**
1147
+ * Parameters for fetching promotions.
1148
+ */
1149
+ type PromoApiListParams = BaseParams;
1150
+ //#endregion
1151
+ //#region src/api/promo/api.d.ts
1152
+ /**
1153
+ * API for retrieving active promotions.
1154
+ */
1155
+ declare class PromoApi {
1156
+ private http;
1157
+ constructor(http: HttpClient);
1158
+ /**
1159
+ * Retrieves a list of all active promotions.
1160
+ */
1161
+ list(params?: PromoApiListParams): Promise<PromoApiListResponse>;
1162
+ }
1163
+ //#endregion
1164
+ //#region src/api/shops/schema-types.d.ts
1165
+ /**
1166
+ * ⚠️ This file is auto-generated. Do not edit manually.
1167
+ * Run `npm run generate:schema-types` to regenerate.
1168
+ * Generated from: schemas.ts
1169
+ */
1170
+ /**
1171
+ * Schema for shop contact information.
1172
+ */
1173
+ interface ShopsApiContactInfo {
1174
+ /**
1175
+ * Business Identification Number
1176
+ */
1177
+ bin: string;
1178
+ /**
1179
+ * Number of days since the shop was registered
1180
+ */
1181
+ daysSinceRegistration: number;
1182
+ /**
1183
+ * Legal entity type code
1184
+ */
1185
+ legalType: number;
1186
+ }
1187
+ /**
1188
+ * Schema for a shop tag.
1189
+ */
1190
+ interface ShopsApiTag {
1191
+ /**
1192
+ * Description of the tag
1193
+ */
1194
+ description: string;
1195
+ /**
1196
+ * URL to the raster icon for the tag
1197
+ */
1198
+ icon: string;
1199
+ /**
1200
+ * Display name of the tag
1201
+ */
1202
+ name: string;
1203
+ /**
1204
+ * URL to the SVG icon for the tag
1205
+ */
1206
+ svg: string;
1207
+ /**
1208
+ * Unique code for the tag
1209
+ */
1210
+ code: string;
1211
+ }
1212
+ /**
1213
+ * Response schema for getting a specific shop by ID.
1214
+ */
1215
+ interface ShopsApiGetResponse {
1216
+ /**
1217
+ * Unique identifier of the shop
1218
+ */
1219
+ id: number;
1220
+ /**
1221
+ * URL to the shop's banner image
1222
+ */
1223
+ banner?: (string | null) | undefined;
1224
+ /**
1225
+ * Description of the shop
1226
+ */
1227
+ description: string;
1228
+ /**
1229
+ * URL to the shop's logo
1230
+ */
1231
+ logo?: (string | null) | undefined;
1232
+ /**
1233
+ * Name of the shop
1234
+ */
1235
+ name: string;
1236
+ /**
1237
+ * Text about total orders/purchases (e.g., "11 заказов", "930 заказов")
1238
+ */
1239
+ qtyPurchasedInfo?: (string | null) | undefined;
1240
+ /**
1241
+ * Average rating of the shop
1242
+ */
1243
+ rating?: (number | null) | undefined;
1244
+ /**
1245
+ * Total number of reviews received
1246
+ */
1247
+ totalReviews?: (number | null) | undefined;
1248
+ /**
1249
+ * Contact information for the shop
1250
+ */
1251
+ contactInfo: ShopsApiContactInfo;
1252
+ /**
1253
+ * Indicates if the shop represents a single brand
1254
+ */
1255
+ isMonobrand: boolean;
1256
+ /**
1257
+ * Tag associated with the shop
1258
+ */
1259
+ tag: ShopsApiTag;
1260
+ }
1261
+ /**
1262
+ * Schema for a shop item in a list.
1263
+ */
1264
+ interface ShopsApiShopItem {
1265
+ /**
1266
+ * Unique identifier of the shop
1267
+ */
1268
+ id: number;
1269
+ /**
1270
+ * URL to the shop's icon
1271
+ */
1272
+ icon: string;
1273
+ }
1274
+ /**
1275
+ * Response schema for the monobrand shop list.
1276
+ */
1277
+ interface ShopsApiGetMonobrandResponse {
1278
+ /**
1279
+ * List of monobrand shops
1280
+ */
1281
+ items: ShopsApiShopItem[];
1282
+ /**
1283
+ * Current page number
1284
+ */
1285
+ pageNumber: number;
1286
+ /**
1287
+ * Total number of pages available
1288
+ */
1289
+ totalPages: number;
1290
+ /**
1291
+ * Total number of shops found
1292
+ */
1293
+ totalCount: number;
1294
+ /**
1295
+ * Indicates if there is a previous page
1296
+ */
1297
+ hasPreviousPage: boolean;
1298
+ /**
1299
+ * Indicates if there is a next page
1300
+ */
1301
+ hasNextPage: boolean;
1302
+ }
1303
+ /**
1304
+ * Type literal for shops stock availability type
1305
+ */
1306
+ type ShopsStockAvailabilityType = "stock";
1307
+ /**
1308
+ * Schema for stock availability information.
1309
+ */
1310
+ interface ShopsApiStockAvailability {
1311
+ /**
1312
+ * Type of stock status (known value: "stock")
1313
+ */
1314
+ type: ShopsStockAvailabilityType;
1315
+ /**
1316
+ * SVG icon representing stock status
1317
+ */
1318
+ svg?: (string | null) | undefined;
1319
+ /**
1320
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
1321
+ */
1322
+ text: string;
1323
+ /**
1324
+ * Maximum quantity available
1325
+ */
1326
+ maxQty: number;
1327
+ /**
1328
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
1329
+ */
1330
+ maxQtyReason: string;
1331
+ }
1332
+ /**
1333
+ * Schema for a product item in a shop.
1334
+ */
1335
+ interface ShopsApiProductItem {
1336
+ /**
1337
+ * Unique product identifier
1338
+ */
1339
+ productId: number;
1340
+ /**
1341
+ * Unique stock keeping unit identifier
1342
+ */
1343
+ skuId: number;
1344
+ /**
1345
+ * URL for the full-size image
1346
+ */
1347
+ imageUrl: string;
1348
+ /**
1349
+ * Full display name of the product
1350
+ */
1351
+ name: string;
1352
+ /**
1353
+ * Brief description of the product
1354
+ */
1355
+ shortDescription: string;
1356
+ /**
1357
+ * URL for the small preview image
1358
+ */
1359
+ thumbnailUrl: string;
1360
+ /**
1361
+ * Original price before discounts
1362
+ */
1363
+ originalPrice: number;
1364
+ /**
1365
+ * Current selling price
1366
+ */
1367
+ price: number;
1368
+ /**
1369
+ * Indicates if the item is in stock
1370
+ */
1371
+ inStock: boolean;
1372
+ /**
1373
+ * Quantity available in stock
1374
+ */
1375
+ qty: number;
1376
+ /**
1377
+ * Stock availability details
1378
+ */
1379
+ stockAvailability?: (ShopsApiStockAvailability | null) | undefined;
1380
+ /**
1381
+ * Indicates if the product is on promotion
1382
+ */
1383
+ isPromo: boolean;
1384
+ /**
1385
+ * Name of the promotion
1386
+ */
1387
+ promoName: string;
1388
+ /**
1389
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
1390
+ */
1391
+ qtyPurchasedInfo?: (string | null) | undefined;
1392
+ /**
1393
+ * Average rating score
1394
+ */
1395
+ rating?: (number | null) | undefined;
1396
+ /**
1397
+ * Total number of ratings
1398
+ */
1399
+ scoreQuantity?: (number | null) | undefined;
1400
+ /**
1401
+ * Moderation status code
1402
+ */
1403
+ moderationStatus: number;
1404
+ }
1405
+ /**
1406
+ * Response schema for products from a specific shop.
1407
+ */
1408
+ interface ShopsApiGetProductsResponse {
1409
+ /**
1410
+ * List of applicable filters
1411
+ */
1412
+ filters: ({
1413
+ type: "range";
1414
+ name: string;
1415
+ code: string;
1416
+ options: {
1417
+ min: number;
1418
+ max: number;
1419
+ }[];
1420
+ } | {
1421
+ type: "category" | "alphabetic_search_list";
1422
+ name: string;
1423
+ code: string;
1424
+ options: {
1425
+ label: string;
1426
+ value: number;
1427
+ }[];
1428
+ })[];
1429
+ /**
1430
+ * List of product items
1431
+ */
1432
+ items: ShopsApiProductItem[];
1433
+ /**
1434
+ * Current page number
1435
+ */
1436
+ pageNumber: number;
1437
+ /**
1438
+ * Total number of pages available
1439
+ */
1440
+ totalPages: number;
1441
+ /**
1442
+ * Total number of products found
1443
+ */
1444
+ totalCount: number;
1445
+ /**
1446
+ * Indicates if there is a previous page
1447
+ */
1448
+ hasPreviousPage: boolean;
1449
+ /**
1450
+ * Indicates if there is a next page
1451
+ */
1452
+ hasNextPage: boolean;
1453
+ }
1454
+ //#endregion
1455
+ //#region src/api/shops/types.d.ts
1456
+ /**
1457
+ * Parameters for fetching a specific shop.
1458
+ */
1459
+ interface ShopsApiGetParams extends BaseParams {
1460
+ /**
1461
+ * Unique identifier of the shop
1462
+ */
1463
+ shopId: number;
1464
+ }
1465
+ /**
1466
+ * Parameters for fetching monobrand shops.
1467
+ */
1468
+ interface ShopsApiGetMonobrandParams extends BaseParams {
1469
+ /**
1470
+ * Random seed for consistent pagination
1471
+ */
1472
+ seed?: number;
1473
+ /**
1474
+ * Number of the page to retrieve
1475
+ */
1476
+ pageNumber?: number;
1477
+ /**
1478
+ * Number of items per page
1479
+ */
1480
+ pageSize?: number;
1481
+ }
1482
+ /**
1483
+ * Parameters for fetching products from a shop.
1484
+ */
1485
+ interface ShopsApiGetProductsParams extends BaseParams {
1486
+ /**
1487
+ * Unique identifier of the shop
1488
+ */
1489
+ shopId: number;
1490
+ /**
1491
+ * Number of the page to retrieve
1492
+ */
1493
+ pageNumber?: number;
1494
+ /**
1495
+ * Number of items per page
1496
+ */
1497
+ pageSize?: number;
1498
+ /**
1499
+ * Sorting option for the results
1500
+ */
1501
+ sortBy?: SortOption;
1502
+ /**
1503
+ * Filter by category ID
1504
+ */
1505
+ categoryId?: number;
1506
+ /**
1507
+ * Filter by brand IDs
1508
+ */
1509
+ brandIds?: number[];
1510
+ /**
1511
+ * Minimum price filter
1512
+ */
1513
+ minPrice?: number;
1514
+ /**
1515
+ * Maximum price filter
1516
+ */
1517
+ maxPrice?: number;
1518
+ }
1519
+ //#endregion
1520
+ //#region src/api/shops/api.d.ts
1521
+ /**
1522
+ * API for interacting with shop-related endpoints.
1523
+ */
1524
+ declare class ShopsApi {
1525
+ private http;
1526
+ constructor(http: HttpClient);
1527
+ /**
1528
+ * Retrieves details of a specific shop.
1529
+ */
1530
+ get(params: ShopsApiGetParams): Promise<ShopsApiGetResponse>;
1531
+ /**
1532
+ * Retrieves monobrand shop details.
1533
+ */
1534
+ getMonobrand(params?: ShopsApiGetMonobrandParams): Promise<ShopsApiGetMonobrandResponse>;
1535
+ /**
1536
+ * Retrieves products for a specific shop.
1537
+ */
1538
+ getProducts(params: ShopsApiGetProductsParams): Promise<ShopsApiGetProductsResponse>;
1539
+ }
1540
+ //#endregion
1541
+ //#region src/api/sku/schema-types.d.ts
1542
+ /**
1543
+ * ⚠️ This file is auto-generated. Do not edit manually.
1544
+ * Run `npm run generate:schema-types` to regenerate.
1545
+ * Generated from: schemas.ts
1546
+ */
1547
+ /**
1548
+ * Schema for installment payment information.
1549
+ */
1550
+ interface SkuApiInstallment {
1551
+ /**
1552
+ * URL to the installment SVG icon
1553
+ */
1554
+ installmentSvg: string;
1555
+ /**
1556
+ * Description of the installment term
1557
+ */
1558
+ installmentTerm: string;
1559
+ }
1560
+ /**
1561
+ * Schema for shop details associated with a SKU.
1562
+ */
1563
+ interface SkuApiShop {
1564
+ /**
1565
+ * Unique identifier of the shop
1566
+ */
1567
+ id: number;
1568
+ /**
1569
+ * URL to the shop's logo
1570
+ */
1571
+ logo?: (string | null) | undefined;
1572
+ /**
1573
+ * Name of the shop
1574
+ */
1575
+ name: string;
1576
+ /**
1577
+ * URL to the shop's photo
1578
+ */
1579
+ photo: string;
1580
+ /**
1581
+ * URL to the shop's page or resource
1582
+ */
1583
+ url: string;
1584
+ /**
1585
+ * Indicates if installment payment is available
1586
+ */
1587
+ isInstallment: boolean;
1588
+ /**
1589
+ * Popularity text for the shop (e.g., "Часто покупают", "11 заказов")
1590
+ */
1591
+ qtyPurchasedInfo?: (string | null) | undefined;
1592
+ /**
1593
+ * Average rating of the shop
1594
+ */
1595
+ rating?: (number | null) | undefined;
1596
+ /**
1597
+ * Number of days since the shop was registered
1598
+ */
1599
+ daysSinceRegistration: number;
1600
+ /**
1601
+ * Indicates if the shop represents a single brand
1602
+ */
1603
+ isMonobrand: boolean;
1604
+ }
1605
+ /**
1606
+ * Schema for brand information.
1607
+ */
1608
+ interface SkuApiBrand {
1609
+ /**
1610
+ * Unique identifier of the brand
1611
+ */
1612
+ id: number;
1613
+ /**
1614
+ * Name of the brand
1615
+ */
1616
+ name: string;
1617
+ }
1618
+ /**
1619
+ * Schema for a category item.
1620
+ */
1621
+ interface SkuApiCategory {
1622
+ /**
1623
+ * Unique identifier of the category
1624
+ */
1625
+ id: number;
1626
+ /**
1627
+ * Name of the category
1628
+ */
1629
+ name: string;
1630
+ /**
1631
+ * Indicates if this is the primary category for the product
1632
+ */
1633
+ isPrimary: boolean;
1634
+ }
1635
+ /**
1636
+ * Schema for an attribute property value.
1637
+ */
1638
+ interface SkuApiAttributePropertyValue {
1639
+ /**
1640
+ * Name of the property value (e.g., "Red", "XL")
1641
+ */
1642
+ name: string;
1643
+ /**
1644
+ * URL to a photo representing this property value
1645
+ */
1646
+ photo: string;
1647
+ }
1648
+ /**
1649
+ * Schema for a product attribute.
1650
+ */
1651
+ interface SkuApiAttributeProperty {
1652
+ /**
1653
+ * Name of the attribute (e.g., "Color", "Size")
1654
+ */
1655
+ name: string;
1656
+ /**
1657
+ * Value details for the attribute
1658
+ */
1659
+ value: SkuApiAttributePropertyValue;
1660
+ }
1661
+ /**
1662
+ * Schema for SKU attributes configuration.
1663
+ */
1664
+ interface SkuApiAttribute {
1665
+ /**
1666
+ * SKU ID associated with this specific attribute combination
1667
+ */
1668
+ skuId: number;
1669
+ /**
1670
+ * Quantity available for this specific variant
1671
+ */
1672
+ quantity: number;
1673
+ /**
1674
+ * List of properties defining this variant
1675
+ */
1676
+ attributeProperties: SkuApiAttributeProperty[];
1677
+ }
1678
+ /**
1679
+ * Schema for a product tag.
1680
+ */
1681
+ interface SkuApiTag {
1682
+ /**
1683
+ * Type of the tag
1684
+ */
1685
+ type: string;
1686
+ /**
1687
+ * Display name of the tag
1688
+ */
1689
+ name: string;
1690
+ /**
1691
+ * URL to the SVG icon for the tag
1692
+ */
1693
+ svg: string;
1694
+ /**
1695
+ * Value associated with the tag
1696
+ */
1697
+ value?: (string | null) | undefined;
1698
+ }
1699
+ /**
1700
+ * Type literal for SKU stock availability type
1701
+ */
1702
+ type SkuStockAvailabilityType = "stock";
1703
+ /**
1704
+ * Schema for stock availability information.
1705
+ */
1706
+ interface SkuApiStockAvailability {
1707
+ /**
1708
+ * Type of stock status (known value: "stock")
1709
+ */
1710
+ type: SkuStockAvailabilityType;
1711
+ /**
1712
+ * SVG icon representing stock status
1713
+ */
1714
+ svg?: (string | null) | undefined;
1715
+ /**
1716
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
1717
+ */
1718
+ text: string;
1719
+ /**
1720
+ * Maximum quantity available
1721
+ */
1722
+ maxQty: number;
1723
+ /**
1724
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
1725
+ */
1726
+ maxQtyReason: string;
1727
+ }
1728
+ /**
1729
+ * Response schema for getting a specific SKU by ID.
1730
+ */
1731
+ interface SkuApiGetResponse {
1732
+ /**
1733
+ * Unique product identifier
1734
+ */
1735
+ productId: number;
1736
+ /**
1737
+ * Unique stock keeping unit identifier
1738
+ */
1739
+ skuId: number;
1740
+ /**
1741
+ * Detailed product description in HTML format
1742
+ */
1743
+ description: string;
1744
+ /**
1745
+ * Full display name of the product
1746
+ */
1747
+ name: string;
1748
+ /**
1749
+ * List of URLs for product photos
1750
+ */
1751
+ photos: string[];
1752
+ /**
1753
+ * Brief summary of the product
1754
+ */
1755
+ shortDescription: string;
1756
+ /**
1757
+ * Discount amount
1758
+ */
1759
+ discount: number;
1760
+ /**
1761
+ * Original price before discounts
1762
+ */
1763
+ originalPrice: number;
1764
+ /**
1765
+ * Discount percentage
1766
+ */
1767
+ percentDiscount: number;
1768
+ /**
1769
+ * Current selling price
1770
+ */
1771
+ price: number;
1772
+ /**
1773
+ * Quantity available in stock
1774
+ */
1775
+ qty: number;
1776
+ /**
1777
+ * Stock availability details
1778
+ */
1779
+ stockAvailability?: (SkuApiStockAvailability | null) | undefined;
1780
+ /**
1781
+ * Installment payment options
1782
+ */
1783
+ installment?: (SkuApiInstallment | null) | undefined;
1784
+ /**
1785
+ * Indicates if the product is on promotion
1786
+ */
1787
+ isPromo: boolean;
1788
+ /**
1789
+ * Name of the promotion
1790
+ */
1791
+ promoName: string;
1792
+ /**
1793
+ * List of applicable promocodes
1794
+ */
1795
+ promocodes: string[];
1796
+ /**
1797
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают", "11 заказов", "930 заказов")
1798
+ */
1799
+ qtyPurchasedInfo?: (string | null) | undefined;
1800
+ /**
1801
+ * Average rating score
1802
+ */
1803
+ rating?: (number | null) | undefined;
1804
+ /**
1805
+ * Total number of ratings
1806
+ */
1807
+ scoreQuantity?: (number | null) | undefined;
1808
+ /**
1809
+ * Total number of text reviews
1810
+ */
1811
+ textReviewQuantity?: (number | null) | undefined;
1812
+ /**
1813
+ * Brand information
1814
+ */
1815
+ brand?: (SkuApiBrand | null) | undefined;
1816
+ /**
1817
+ * List of categories the product belongs to
1818
+ */
1819
+ categories: SkuApiCategory[];
1820
+ /**
1821
+ * Details of the shop selling the product
1822
+ */
1823
+ shop: SkuApiShop;
1824
+ /**
1825
+ * Dictionary of additional product information
1826
+ */
1827
+ additionalInfo: Record<string, string>;
1828
+ /**
1829
+ * List of available attribute variants
1830
+ */
1831
+ attributes: SkuApiAttribute[];
1832
+ /**
1833
+ * List of tags associated with the product
1834
+ */
1835
+ tags: SkuApiTag[];
1836
+ }
1837
+ /**
1838
+ * Schema for a similar product item.
1839
+ */
1840
+ interface SkuApiSimilarItem {
1841
+ /**
1842
+ * Unique product identifier
1843
+ */
1844
+ productId: number;
1845
+ /**
1846
+ * Unique stock keeping unit identifier
1847
+ */
1848
+ skuId: number;
1849
+ /**
1850
+ * URL for the full-size image
1851
+ */
1852
+ imageUrl: string;
1853
+ /**
1854
+ * Display name of the similar product
1855
+ */
1856
+ name: string;
1857
+ /**
1858
+ * Brief description of the similar product
1859
+ */
1860
+ shortDescription: string;
1861
+ /**
1862
+ * URL for the small preview image
1863
+ */
1864
+ thumbnailUrl: string;
1865
+ /**
1866
+ * Original price before discounts
1867
+ */
1868
+ originalPrice: number;
1869
+ /**
1870
+ * Current selling price
1871
+ */
1872
+ price: number;
1873
+ /**
1874
+ * Quantity available in stock
1875
+ */
1876
+ qty: number;
1877
+ /**
1878
+ * Indicates if the product is on promotion
1879
+ */
1880
+ isPromo: boolean;
1881
+ /**
1882
+ * Name of the promotion
1883
+ */
1884
+ promoName: string;
1885
+ /**
1886
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
1887
+ */
1888
+ qtyPurchasedInfo?: (string | null) | undefined;
1889
+ /**
1890
+ * Average rating score
1891
+ */
1892
+ rating?: (number | null) | undefined;
1893
+ /**
1894
+ * Total number of ratings
1895
+ */
1896
+ scoreQuantity?: (number | null) | undefined;
1897
+ /**
1898
+ * Moderation status code
1899
+ */
1900
+ moderationStatus: number;
1901
+ }
1902
+ /**
1903
+ * Response schema for similar SKUs.
1904
+ */
1905
+ interface SkuApiGetSimilarResponse {
1906
+ /**
1907
+ * List of similar product items
1908
+ */
1909
+ items: SkuApiSimilarItem[];
1910
+ /**
1911
+ * Current page number
1912
+ */
1913
+ pageNumber: number;
1914
+ /**
1915
+ * Total number of pages available
1916
+ */
1917
+ totalPages: number;
1918
+ /**
1919
+ * Total number of similar items found
1920
+ */
1921
+ totalCount: number;
1922
+ /**
1923
+ * Indicates if there is a previous page
1924
+ */
1925
+ hasPreviousPage: boolean;
1926
+ /**
1927
+ * Indicates if there is a next page
1928
+ */
1929
+ hasNextPage: boolean;
1930
+ }
1931
+ /**
1932
+ * Schema for a collection item.
1933
+ */
1934
+ interface SkuApiCollectionItem {
1935
+ /**
1936
+ * Unique identifier of the collection
1937
+ */
1938
+ id: number;
1939
+ /**
1940
+ * URL for the collection's cover image
1941
+ */
1942
+ cover: string;
1943
+ /**
1944
+ * URL to the collection's icon
1945
+ */
1946
+ icon: string;
1947
+ /**
1948
+ * Name of the collection
1949
+ */
1950
+ name: string;
1951
+ /**
1952
+ * Number of items in the collection
1953
+ */
1954
+ quantity: number;
1955
+ /**
1956
+ * Priority for sorting or display order
1957
+ */
1958
+ priority: number;
1959
+ }
1960
+ /**
1961
+ * Response schema for SKU collections.
1962
+ */
1963
+ type SkuApiGetCollectionsResponse = SkuApiCollectionItem[];
1964
+ /**
1965
+ * Response schema for review availability check.
1966
+ */
1967
+ interface SkuApiGetReviewAvailableResponse {
1968
+ /**
1969
+ * Description of the review availability status
1970
+ */
1971
+ description: string;
1972
+ /**
1973
+ * Message regarding review availability
1974
+ */
1975
+ message: string;
1976
+ }
1977
+ //#endregion
1978
+ //#region src/api/sku/types.d.ts
1979
+ /**
1980
+ * Parameters for fetching a specific SKU by ID.
1981
+ */
1982
+ interface SkuApiGetParams extends BaseParams {
1983
+ /**
1984
+ * Unique identifier of the SKU
1985
+ */
1986
+ skuId: number;
1987
+ }
1988
+ /**
1989
+ * Parameters for fetching similar SKUs.
1990
+ */
1991
+ interface SkuApiGetSimilarParams extends BaseParams {
1992
+ /**
1993
+ * Unique identifier of the SKU to find similarities for
1994
+ */
1995
+ skuId: number;
1996
+ /**
1997
+ * Number of the page to retrieve
1998
+ */
1999
+ pageNumber?: number;
2000
+ /**
2001
+ * Number of items per page
2002
+ */
2003
+ pageSize?: number;
2004
+ }
2005
+ /**
2006
+ * Parameters for fetching collections for a SKU.
2007
+ */
2008
+ interface SkuApiGetCollectionsParams extends BaseParams {
2009
+ /**
2010
+ * Unique identifier of the SKU
2011
+ */
2012
+ skuId: number;
2013
+ }
2014
+ /**
2015
+ * Parameters for checking review availability.
2016
+ */
2017
+ interface SkuApiGetReviewAvailableParams extends BaseParams {
2018
+ /**
2019
+ * Unique identifier of the SKU
2020
+ */
2021
+ skuId: number;
2022
+ }
2023
+ //#endregion
2024
+ //#region src/api/sku/api.d.ts
2025
+ /**
2026
+ * API for interacting with SKU-related endpoints.
2027
+ */
2028
+ declare class SkuApi {
2029
+ private http;
2030
+ constructor(http: HttpClient);
2031
+ /**
2032
+ * Retrieves details of a specific SKU.
2033
+ */
2034
+ get(params: SkuApiGetParams): Promise<SkuApiGetResponse>;
2035
+ /**
2036
+ * Retrieves similar SKUs.
2037
+ */
2038
+ getSimilar(params: SkuApiGetSimilarParams): Promise<SkuApiGetSimilarResponse>;
2039
+ /**
2040
+ * Retrieves collections associated with a SKU.
2041
+ */
2042
+ getCollections(params: SkuApiGetCollectionsParams): Promise<SkuApiGetCollectionsResponse>;
2043
+ /**
2044
+ * Checks if a review is available for a SKU.
2045
+ */
2046
+ getReviewAvailable(params: SkuApiGetReviewAvailableParams): Promise<SkuApiGetReviewAvailableResponse>;
2047
+ }
2048
+ //#endregion
2049
+ //#region src/client.d.ts
2050
+ /**
2051
+ * Main client for interacting with the Teez B2C API.
2052
+ */
2053
+ declare class TeezClient {
2054
+ /**
2055
+ * Configuration used by the client.
2056
+ */
2057
+ private readonly config;
2058
+ /**
2059
+ * HTTP client for making requests.
2060
+ */
2061
+ private readonly http;
2062
+ /**
2063
+ * API for retrieving banners.
2064
+ */
2065
+ readonly banners: BannersApi;
2066
+ /**
2067
+ * API for retrieving categories.
2068
+ */
2069
+ readonly categories: CategoriesApi;
2070
+ /**
2071
+ * API for retrieving collections.
2072
+ */
2073
+ readonly collections: CollectionsApi;
2074
+ /**
2075
+ * API for retrieving feature flags.
2076
+ */
2077
+ readonly featureFlags: FeatureFlagsApi;
2078
+ /**
2079
+ * API for retrieving products.
2080
+ */
2081
+ readonly products: ProductsApi;
2082
+ /**
2083
+ * API for retrieving promotions.
2084
+ */
2085
+ readonly promo: PromoApi;
2086
+ /**
2087
+ * API for retrieving shops.
2088
+ */
2089
+ readonly shops: ShopsApi;
2090
+ /**
2091
+ * API for retrieving SKU details.
2092
+ */
2093
+ readonly sku: SkuApi;
2094
+ constructor(config?: TeezClientConfig);
2095
+ /**
2096
+ * Returns the current client configuration.
2097
+ */
2098
+ getConfig(): Readonly<ResolvedTeezClientConfig>;
2099
+ }
2100
+ //#endregion
2101
+ //#region src/errors/teez-error.d.ts
2102
+ /**
2103
+ * Base error class for all SDK-related errors.
2104
+ */
2105
+ declare class TeezError extends Error {
2106
+ name: string;
2107
+ }
2108
+ //#endregion
2109
+ //#region src/errors/teez-api-error.d.ts
2110
+ /**
2111
+ * Options for constructing a TeezApiError.
2112
+ */
2113
+ interface TeezApiErrorOptions extends ErrorOptions {
2114
+ /**
2115
+ * URL of the request that failed.
2116
+ */
2117
+ url: string;
2118
+ /**
2119
+ * HTTP status code.
2120
+ */
2121
+ status: number;
2122
+ /**
2123
+ * HTTP status text.
2124
+ */
2125
+ statusText: string;
2126
+ /**
2127
+ * Response body, if any.
2128
+ */
2129
+ body?: unknown;
2130
+ }
2131
+ /**
2132
+ * Error thrown when the API response indicates a failure (4xx or 5xx status).
2133
+ */
2134
+ declare class TeezApiError extends TeezError {
2135
+ name: string;
2136
+ /**
2137
+ * HTTP status code.
2138
+ */
2139
+ readonly status: number;
2140
+ /**
2141
+ * HTTP status text.
2142
+ */
2143
+ readonly statusText: string;
2144
+ /**
2145
+ * URL of the request that failed.
2146
+ */
2147
+ readonly url: string;
2148
+ /**
2149
+ * Response body, if available.
2150
+ */
2151
+ readonly body?: unknown;
2152
+ constructor(message: string, {
2153
+ url,
2154
+ status,
2155
+ statusText,
2156
+ body,
2157
+ ...errorOptions
2158
+ }: TeezApiErrorOptions);
2159
+ /**
2160
+ * Checks if the status code is a client error (4xx).
2161
+ */
2162
+ get isClientError(): boolean;
2163
+ /**
2164
+ * Checks if the status code is a server error (5xx).
2165
+ */
2166
+ get isServerError(): boolean;
2167
+ /**
2168
+ * Checks if the status code indicates a Not Found error (404).
2169
+ */
2170
+ get isNotFound(): boolean;
2171
+ }
2172
+ //#endregion
2173
+ //#region src/errors/teez-network-error.d.ts
2174
+ /**
2175
+ * Options for constructing a TeezNetworkError.
2176
+ */
2177
+ interface TeezNetworkErrorOptions extends ErrorOptions {
2178
+ /**
2179
+ * URL of the request that failed.
2180
+ */
2181
+ url: string;
2182
+ }
2183
+ /**
2184
+ * Error thrown when a network request fails (e.g., DNS resolution, connection refused).
2185
+ */
2186
+ declare class TeezNetworkError extends TeezError {
2187
+ name: string;
2188
+ /**
2189
+ * URL of the request that failed.
2190
+ */
2191
+ readonly url: string;
2192
+ constructor(message: string, {
2193
+ url,
2194
+ ...errorOptions
2195
+ }: TeezNetworkErrorOptions);
2196
+ }
2197
+ //#endregion
2198
+ //#region src/errors/teez-timeout-error.d.ts
2199
+ /**
2200
+ * Options for constructing a TeezTimeoutError.
2201
+ */
2202
+ interface TeezTimeoutErrorOptions extends ErrorOptions {
2203
+ /**
2204
+ * URL of the request that timed out.
2205
+ */
2206
+ url: string;
2207
+ /**
2208
+ * Timeout duration in milliseconds.
2209
+ */
2210
+ timeout: number;
2211
+ }
2212
+ /**
2213
+ * Error thrown when an API request times out.
2214
+ */
2215
+ declare class TeezTimeoutError extends TeezError {
2216
+ name: string;
2217
+ /**
2218
+ * URL of the request that timed out.
2219
+ */
2220
+ readonly url: string;
2221
+ /**
2222
+ * Timeout duration in milliseconds.
2223
+ */
2224
+ readonly timeout: number;
2225
+ constructor(message: string, {
2226
+ url,
2227
+ timeout,
2228
+ ...errorOptions
2229
+ }: TeezTimeoutErrorOptions);
2230
+ }
2231
+ //#endregion
2232
+ //#region src/errors/teez-validation-error.d.ts
2233
+ /**
2234
+ * Abstract representation of a validation issue.
2235
+ */
2236
+ interface TeezValidationIssue {
2237
+ /**
2238
+ * Error code (e.g., "invalid_type", "too_small").
2239
+ */
2240
+ code: string;
2241
+ /**
2242
+ * The path to the invalid field (array format).
2243
+ */
2244
+ path: (string | number | symbol)[];
2245
+ /**
2246
+ * Human-readable error message.
2247
+ */
2248
+ message: string;
2249
+ }
2250
+ /**
2251
+ * Options for constructing a TeezValidationError.
2252
+ */
2253
+ interface TeezValidationErrorOptions extends ErrorOptions {
2254
+ /**
2255
+ * List of generic validation issues.
2256
+ */
2257
+ issues: TeezValidationIssue[];
2258
+ /**
2259
+ * The full data object that failed validation.
2260
+ */
2261
+ data?: unknown;
2262
+ }
2263
+ /**
2264
+ * Error thrown when validation fails.
2265
+ */
2266
+ declare class TeezValidationError extends TeezError {
2267
+ name: string;
2268
+ /**
2269
+ * List of standardized validation issues.
2270
+ */
2271
+ readonly issues: TeezValidationIssue[];
2272
+ /**
2273
+ * The raw data that failed validation.
2274
+ */
2275
+ readonly data: unknown;
2276
+ constructor(message: string, {
2277
+ issues,
2278
+ data,
2279
+ ...errorOptions
2280
+ }: TeezValidationErrorOptions);
2281
+ }
2282
+ //#endregion
2283
+ //#region src/api/banners/schemas.d.ts
2284
+ /**
2285
+ * Type literal for banner image resource type
2286
+ */
2287
+ declare const BannerImageTypeSchema: z.ZodMiniLiteral<"network">;
2288
+ /**
2289
+ * Schema for a banner image.
2290
+ */
2291
+ declare const BannersApiImageSchema: z.ZodMiniObject<{
2292
+ /**
2293
+ * Type of image resource (e.g., "network" for remote URLs)
2294
+ */
2295
+ type: z.ZodMiniLiteral<"network">;
2296
+ /**
2297
+ * Direct URL to the image
2298
+ */
2299
+ url: z.ZodMiniString<string>;
2300
+ }, z.core.$strip>;
2301
+ /**
2302
+ * Type union for banner action types
2303
+ */
2304
+ declare const BannerActionTypesSchema: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"url">, z.ZodMiniLiteral<"path">, z.ZodMiniLiteral<"key">]>;
2305
+ /**
2306
+ * Schema for a banner action.
2307
+ */
2308
+ declare const BannersApiActionSchema: z.ZodMiniObject<{
2309
+ /**
2310
+ * Type of action - "url" for external links, "path" for app navigation, "key" for special actions
2311
+ */
2312
+ type: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"url">, z.ZodMiniLiteral<"path">, z.ZodMiniLiteral<"key">]>;
2313
+ /**
2314
+ * Target value - full URL for "url" type, app path for "path" type (e.g., "/collection/393"), or action key for "key" type
2315
+ */
2316
+ value: z.ZodMiniString<string>;
2317
+ /**
2318
+ * Key for analytics tracking
2319
+ */
2320
+ analyticsKey: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2321
+ }, z.core.$strip>;
2322
+ /**
2323
+ * Schema for a banner item containing an image and an action.
2324
+ */
2325
+ declare const BannersApiBannerItemSchema: z.ZodMiniObject<{
2326
+ /**
2327
+ * Image details for the banner
2328
+ */
2329
+ image: z.ZodMiniObject<{
2330
+ /**
2331
+ * Type of image resource (e.g., "network" for remote URLs)
2332
+ */
2333
+ type: z.ZodMiniLiteral<"network">;
2334
+ /**
2335
+ * Direct URL to the image
2336
+ */
2337
+ url: z.ZodMiniString<string>;
2338
+ }, z.core.$strip>;
2339
+ /**
2340
+ * Action details for the banner interaction
2341
+ */
2342
+ action: z.ZodMiniObject<{
2343
+ /**
2344
+ * Type of action - "url" for external links, "path" for app navigation, "key" for special actions
2345
+ */
2346
+ type: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"url">, z.ZodMiniLiteral<"path">, z.ZodMiniLiteral<"key">]>;
2347
+ /**
2348
+ * Target value - full URL for "url" type, app path for "path" type (e.g., "/collection/393"), or action key for "key" type
2349
+ */
2350
+ value: z.ZodMiniString<string>;
2351
+ /**
2352
+ * Key for analytics tracking
2353
+ */
2354
+ analyticsKey: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2355
+ }, z.core.$strip>;
2356
+ }, z.core.$strip>;
2357
+ /**
2358
+ * Response schema for the list of banners.
2359
+ */
2360
+ declare const BannersApiListResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
2361
+ /**
2362
+ * Image details for the banner
2363
+ */
2364
+ image: z.ZodMiniObject<{
2365
+ /**
2366
+ * Type of image resource (e.g., "network" for remote URLs)
2367
+ */
2368
+ type: z.ZodMiniLiteral<"network">;
2369
+ /**
2370
+ * Direct URL to the image
2371
+ */
2372
+ url: z.ZodMiniString<string>;
2373
+ }, z.core.$strip>;
2374
+ /**
2375
+ * Action details for the banner interaction
2376
+ */
2377
+ action: z.ZodMiniObject<{
2378
+ /**
2379
+ * Type of action - "url" for external links, "path" for app navigation, "key" for special actions
2380
+ */
2381
+ type: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"url">, z.ZodMiniLiteral<"path">, z.ZodMiniLiteral<"key">]>;
2382
+ /**
2383
+ * Target value - full URL for "url" type, app path for "path" type (e.g., "/collection/393"), or action key for "key" type
2384
+ */
2385
+ value: z.ZodMiniString<string>;
2386
+ /**
2387
+ * Key for analytics tracking
2388
+ */
2389
+ analyticsKey: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2390
+ }, z.core.$strip>;
2391
+ }, z.core.$strip>>;
2392
+ //#endregion
2393
+ //#region src/api/categories/schemas.d.ts
2394
+ /**
2395
+ * Schema for a category list item.
2396
+ */
2397
+ declare const CategoriesApiListResponseItemSchema: z.ZodMiniObject<{
2398
+ /**
2399
+ * Unique identifier of the category
2400
+ */
2401
+ id: z.ZodMiniNumber<number>;
2402
+ /**
2403
+ * Localized display name of the category
2404
+ */
2405
+ name: z.ZodMiniString<string>;
2406
+ /**
2407
+ * Depth level in the category tree
2408
+ */
2409
+ level: z.ZodMiniNumber<number>;
2410
+ /**
2411
+ * Identifier of the parent category
2412
+ */
2413
+ parentId: z.ZodMiniNumber<number>;
2414
+ /**
2415
+ * Indicates if there are nested subcategories
2416
+ */
2417
+ hasSubcategories: z.ZodMiniBoolean<boolean>;
2418
+ /**
2419
+ * Indicates if the category contains adult content
2420
+ */
2421
+ isAdult: z.ZodMiniBoolean<boolean>;
2422
+ }, z.core.$strip>;
2423
+ /**
2424
+ * Response schema for the list of categories.
2425
+ */
2426
+ declare const CategoriesApiListResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
2427
+ /**
2428
+ * Unique identifier of the category
2429
+ */
2430
+ id: z.ZodMiniNumber<number>;
2431
+ /**
2432
+ * Localized display name of the category
2433
+ */
2434
+ name: z.ZodMiniString<string>;
2435
+ /**
2436
+ * Depth level in the category tree
2437
+ */
2438
+ level: z.ZodMiniNumber<number>;
2439
+ /**
2440
+ * Identifier of the parent category
2441
+ */
2442
+ parentId: z.ZodMiniNumber<number>;
2443
+ /**
2444
+ * Indicates if there are nested subcategories
2445
+ */
2446
+ hasSubcategories: z.ZodMiniBoolean<boolean>;
2447
+ /**
2448
+ * Indicates if the category contains adult content
2449
+ */
2450
+ isAdult: z.ZodMiniBoolean<boolean>;
2451
+ }, z.core.$strip>>;
2452
+ /**
2453
+ * Response schema for getting a specific category by ID.
2454
+ */
2455
+ declare const CategoriesApiGetResponseSchema: z.ZodMiniObject<{
2456
+ /**
2457
+ * Unique identifier of the category
2458
+ */
2459
+ id: z.ZodMiniNumber<number>;
2460
+ /**
2461
+ * Localized display name of the category
2462
+ */
2463
+ name: z.ZodMiniString<string>;
2464
+ /**
2465
+ * Depth level in the category tree
2466
+ */
2467
+ level: z.ZodMiniNumber<number>;
2468
+ /**
2469
+ * Identifier of the parent category
2470
+ */
2471
+ parentId: z.ZodMiniNumber<number>;
2472
+ /**
2473
+ * Indicates if there are nested subcategories
2474
+ */
2475
+ hasSubcategories: z.ZodMiniBoolean<boolean>;
2476
+ /**
2477
+ * Indicates if the category contains adult content
2478
+ */
2479
+ isAdult: z.ZodMiniBoolean<boolean>;
2480
+ /**
2481
+ * List of nested subcategories.
2482
+ */
2483
+ readonly subcategories: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniArray<z.ZodMiniObject< /*elided*/any, z.core.$strip>>>>;
2484
+ }, z.core.$strip>;
2485
+ /**
2486
+ * Schema for a parent category item with nesting.
2487
+ */
2488
+ declare const CategoriesApiGetParentsResponseItemSchema: z.ZodMiniObject<{
2489
+ /**
2490
+ * Unique identifier of the category
2491
+ */
2492
+ id: z.ZodMiniNumber<number>;
2493
+ /**
2494
+ * Localized display name of the category
2495
+ */
2496
+ name: z.ZodMiniString<string>;
2497
+ /**
2498
+ * Depth level in the category tree
2499
+ */
2500
+ level: z.ZodMiniNumber<number>;
2501
+ /**
2502
+ * Indicates if there are nested subcategories
2503
+ */
2504
+ hasSubcategories: z.ZodMiniBoolean<boolean>;
2505
+ /**
2506
+ * List of nested subcategories.
2507
+ */
2508
+ readonly subcategories: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniArray<z.ZodMiniObject< /*elided*/any, z.core.$strip>>>>;
2509
+ }, z.core.$strip>;
2510
+ /**
2511
+ * Response schema for getting parent categories.
2512
+ */
2513
+ declare const CategoriesApiGetParentsResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
2514
+ /**
2515
+ * Unique identifier of the category
2516
+ */
2517
+ id: z.ZodMiniNumber<number>;
2518
+ /**
2519
+ * Localized display name of the category
2520
+ */
2521
+ name: z.ZodMiniString<string>;
2522
+ /**
2523
+ * Depth level in the category tree
2524
+ */
2525
+ level: z.ZodMiniNumber<number>;
2526
+ /**
2527
+ * Indicates if there are nested subcategories
2528
+ */
2529
+ hasSubcategories: z.ZodMiniBoolean<boolean>;
2530
+ /**
2531
+ * List of nested subcategories.
2532
+ */
2533
+ readonly subcategories: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniArray<z.ZodMiniObject< /*elided*/any, z.core.$strip>>>>;
2534
+ }, z.core.$strip>>;
2535
+ //#endregion
2536
+ //#region src/api/collections/schemas.d.ts
2537
+ /**
2538
+ * Type literal for collections stock availability type
2539
+ */
2540
+ declare const CollectionsStockAvailabilityTypeSchema: z.ZodMiniLiteral<"stock">;
2541
+ /**
2542
+ * Schema for stock availability information.
2543
+ */
2544
+ declare const CollectionsApiStockAvailabilitySchema: z.ZodMiniObject<{
2545
+ /**
2546
+ * Type of stock status (known value: "stock")
2547
+ */
2548
+ type: z.ZodMiniLiteral<"stock">;
2549
+ /**
2550
+ * SVG icon representing stock status
2551
+ */
2552
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2553
+ /**
2554
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
2555
+ */
2556
+ text: z.ZodMiniString<string>;
2557
+ /**
2558
+ * Maximum quantity available for purchase
2559
+ */
2560
+ maxQty: z.ZodMiniNumber<number>;
2561
+ /**
2562
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
2563
+ */
2564
+ maxQtyReason: z.ZodMiniString<string>;
2565
+ }, z.core.$strip>;
2566
+ /**
2567
+ * Schema for a SKU item within a collection.
2568
+ */
2569
+ declare const CollectionsApiSkuItemSchema: z.ZodMiniObject<{
2570
+ /**
2571
+ * Unique product identifier
2572
+ */
2573
+ productId: z.ZodMiniNumber<number>;
2574
+ /**
2575
+ * Unique stock keeping unit identifier
2576
+ */
2577
+ skuId: z.ZodMiniNumber<number>;
2578
+ /**
2579
+ * URL for the full-size image
2580
+ */
2581
+ imageUrl: z.ZodMiniString<string>;
2582
+ /**
2583
+ * Display name of the product
2584
+ */
2585
+ name: z.ZodMiniString<string>;
2586
+ /**
2587
+ * Brief description of the product
2588
+ */
2589
+ shortDescription: z.ZodMiniString<string>;
2590
+ /**
2591
+ * URL for the small preview image
2592
+ */
2593
+ thumbnailUrl: z.ZodMiniString<string>;
2594
+ /**
2595
+ * Original price before discounts
2596
+ */
2597
+ originalPrice: z.ZodMiniNumber<number>;
2598
+ /**
2599
+ * Current selling price
2600
+ */
2601
+ price: z.ZodMiniNumber<number>;
2602
+ /**
2603
+ * Quantity available in stock
2604
+ */
2605
+ qty: z.ZodMiniNumber<number>;
2606
+ /**
2607
+ * Stock availability details
2608
+ */
2609
+ stockAvailability: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
2610
+ /**
2611
+ * Type of stock status (known value: "stock")
2612
+ */
2613
+ type: z.ZodMiniLiteral<"stock">;
2614
+ /**
2615
+ * SVG icon representing stock status
2616
+ */
2617
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2618
+ /**
2619
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
2620
+ */
2621
+ text: z.ZodMiniString<string>;
2622
+ /**
2623
+ * Maximum quantity available for purchase
2624
+ */
2625
+ maxQty: z.ZodMiniNumber<number>;
2626
+ /**
2627
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
2628
+ */
2629
+ maxQtyReason: z.ZodMiniString<string>;
2630
+ }, z.core.$strip>>>;
2631
+ /**
2632
+ * Indicates if the item is on promotion
2633
+ */
2634
+ isPromo: z.ZodMiniBoolean<boolean>;
2635
+ /**
2636
+ * Name of the promotion
2637
+ */
2638
+ promoName: z.ZodMiniString<string>;
2639
+ /**
2640
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
2641
+ */
2642
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2643
+ /**
2644
+ * Average rating score
2645
+ */
2646
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
2647
+ /**
2648
+ * Total number of ratings
2649
+ */
2650
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
2651
+ }, z.core.$strip>;
2652
+ /**
2653
+ * Response schema for getting SKUs from a collection.
2654
+ */
2655
+ declare const CollectionsApiGetSkusResponseSchema: z.ZodMiniObject<{
2656
+ /**
2657
+ * List of applicable filters for the collection
2658
+ */
2659
+ filters: z.ZodMiniArray<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
2660
+ type: z.ZodMiniLiteral<"range">;
2661
+ name: z.ZodMiniString<string>;
2662
+ code: z.ZodMiniString<string>;
2663
+ options: z.ZodMiniArray<z.ZodMiniObject<{
2664
+ min: z.ZodMiniNumber<number>;
2665
+ max: z.ZodMiniNumber<number>;
2666
+ }, z.core.$strip>>;
2667
+ }, z.core.$strip>, z.ZodMiniObject<{
2668
+ type: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"category">, z.ZodMiniLiteral<"alphabetic_search_list">]>;
2669
+ name: z.ZodMiniString<string>;
2670
+ code: z.ZodMiniString<string>;
2671
+ options: z.ZodMiniArray<z.ZodMiniObject<{
2672
+ label: z.ZodMiniString<string>;
2673
+ value: z.ZodMiniNumber<number>;
2674
+ }, z.core.$strip>>;
2675
+ }, z.core.$strip>], "type">>;
2676
+ /**
2677
+ * List of SKU items in the collection
2678
+ */
2679
+ items: z.ZodMiniArray<z.ZodMiniObject<{
2680
+ /**
2681
+ * Unique product identifier
2682
+ */
2683
+ productId: z.ZodMiniNumber<number>;
2684
+ /**
2685
+ * Unique stock keeping unit identifier
2686
+ */
2687
+ skuId: z.ZodMiniNumber<number>;
2688
+ /**
2689
+ * URL for the full-size image
2690
+ */
2691
+ imageUrl: z.ZodMiniString<string>;
2692
+ /**
2693
+ * Display name of the product
2694
+ */
2695
+ name: z.ZodMiniString<string>;
2696
+ /**
2697
+ * Brief description of the product
2698
+ */
2699
+ shortDescription: z.ZodMiniString<string>;
2700
+ /**
2701
+ * URL for the small preview image
2702
+ */
2703
+ thumbnailUrl: z.ZodMiniString<string>;
2704
+ /**
2705
+ * Original price before discounts
2706
+ */
2707
+ originalPrice: z.ZodMiniNumber<number>;
2708
+ /**
2709
+ * Current selling price
2710
+ */
2711
+ price: z.ZodMiniNumber<number>;
2712
+ /**
2713
+ * Quantity available in stock
2714
+ */
2715
+ qty: z.ZodMiniNumber<number>;
2716
+ /**
2717
+ * Stock availability details
2718
+ */
2719
+ stockAvailability: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
2720
+ /**
2721
+ * Type of stock status (known value: "stock")
2722
+ */
2723
+ type: z.ZodMiniLiteral<"stock">;
2724
+ /**
2725
+ * SVG icon representing stock status
2726
+ */
2727
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2728
+ /**
2729
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
2730
+ */
2731
+ text: z.ZodMiniString<string>;
2732
+ /**
2733
+ * Maximum quantity available for purchase
2734
+ */
2735
+ maxQty: z.ZodMiniNumber<number>;
2736
+ /**
2737
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
2738
+ */
2739
+ maxQtyReason: z.ZodMiniString<string>;
2740
+ }, z.core.$strip>>>;
2741
+ /**
2742
+ * Indicates if the item is on promotion
2743
+ */
2744
+ isPromo: z.ZodMiniBoolean<boolean>;
2745
+ /**
2746
+ * Name of the promotion
2747
+ */
2748
+ promoName: z.ZodMiniString<string>;
2749
+ /**
2750
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
2751
+ */
2752
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2753
+ /**
2754
+ * Average rating score
2755
+ */
2756
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
2757
+ /**
2758
+ * Total number of ratings
2759
+ */
2760
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
2761
+ }, z.core.$strip>>;
2762
+ /**
2763
+ * Current page number
2764
+ */
2765
+ pageNumber: z.ZodMiniNumber<number>;
2766
+ /**
2767
+ * Total number of pages available
2768
+ */
2769
+ totalPages: z.ZodMiniNumber<number>;
2770
+ /**
2771
+ * Total number of items in the collection
2772
+ */
2773
+ totalCount: z.ZodMiniNumber<number>;
2774
+ /**
2775
+ * Indicates if there is a previous page
2776
+ */
2777
+ hasPreviousPage: z.ZodMiniBoolean<boolean>;
2778
+ /**
2779
+ * Indicates if there is a next page
2780
+ */
2781
+ hasNextPage: z.ZodMiniBoolean<boolean>;
2782
+ }, z.core.$strip>;
2783
+ /**
2784
+ * Schema for a collection list item.
2785
+ */
2786
+ declare const CollectionsApiListItemSchema: z.ZodMiniObject<{
2787
+ /**
2788
+ * Unique identifier of the collection
2789
+ */
2790
+ id: z.ZodMiniNumber<number>;
2791
+ /**
2792
+ * URL or path to the collection's icon
2793
+ */
2794
+ icon: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2795
+ /**
2796
+ * Name of the collection
2797
+ */
2798
+ name: z.ZodMiniString<string>;
2799
+ /**
2800
+ * Priority for sorting or display order
2801
+ */
2802
+ priority: z.ZodMiniNumber<number>;
2803
+ }, z.core.$strip>;
2804
+ /**
2805
+ * Response schema for the list of collections.
2806
+ */
2807
+ declare const CollectionsApiListResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
2808
+ /**
2809
+ * Unique identifier of the collection
2810
+ */
2811
+ id: z.ZodMiniNumber<number>;
2812
+ /**
2813
+ * URL or path to the collection's icon
2814
+ */
2815
+ icon: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2816
+ /**
2817
+ * Name of the collection
2818
+ */
2819
+ name: z.ZodMiniString<string>;
2820
+ /**
2821
+ * Priority for sorting or display order
2822
+ */
2823
+ priority: z.ZodMiniNumber<number>;
2824
+ }, z.core.$strip>>;
2825
+ /**
2826
+ * Type literal for collection type identifier
2827
+ */
2828
+ declare const CollectionTypeSchema: z.ZodMiniLiteral<"Collection">;
2829
+ /**
2830
+ * Response schema for getting a specific collection by ID.
2831
+ */
2832
+ declare const CollectionsApiGetResponseSchema: z.ZodMiniObject<{
2833
+ /**
2834
+ * Type of the collection (known value: "Collection")
2835
+ */
2836
+ type: z.ZodMiniLiteral<"Collection">;
2837
+ /**
2838
+ * Unique identifier of the collection
2839
+ */
2840
+ id: z.ZodMiniNumber<number>;
2841
+ /**
2842
+ * URL for the cover image
2843
+ */
2844
+ cover: z.ZodMiniString<string>;
2845
+ /**
2846
+ * Description of the collection
2847
+ */
2848
+ description: z.ZodMiniString<string>;
2849
+ /**
2850
+ * Name of the collection
2851
+ */
2852
+ name: z.ZodMiniString<string>;
2853
+ /**
2854
+ * Priority for sorting or display order
2855
+ */
2856
+ priority: z.ZodMiniNumber<number>;
2857
+ }, z.core.$strip>;
2858
+ //#endregion
2859
+ //#region src/api/products/schemas.d.ts
2860
+ /**
2861
+ * Type union for product sort keys
2862
+ */
2863
+ declare const ProductSortKeySchema: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"popularity">, z.ZodMiniLiteral<"highestRated">, z.ZodMiniLiteral<"new">, z.ZodMiniLiteral<"price">, z.ZodMiniLiteral<"priceDesc">]>;
2864
+ /**
2865
+ * Schema for a sort option.
2866
+ */
2867
+ declare const ProductsApiSortOptionSchema: z.ZodMiniObject<{
2868
+ /**
2869
+ * Sort key - "popularity", "highestRated", "new", "price", or "priceDesc"
2870
+ */
2871
+ key: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"popularity">, z.ZodMiniLiteral<"highestRated">, z.ZodMiniLiteral<"new">, z.ZodMiniLiteral<"price">, z.ZodMiniLiteral<"priceDesc">]>;
2872
+ /**
2873
+ * Localized display name of the sort option
2874
+ */
2875
+ name: z.ZodMiniString<string>;
2876
+ }, z.core.$strip>;
2877
+ /**
2878
+ * Response schema for available sort options.
2879
+ */
2880
+ declare const ProductsApiGetSortOptionsResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
2881
+ /**
2882
+ * Sort key - "popularity", "highestRated", "new", "price", or "priceDesc"
2883
+ */
2884
+ key: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"popularity">, z.ZodMiniLiteral<"highestRated">, z.ZodMiniLiteral<"new">, z.ZodMiniLiteral<"price">, z.ZodMiniLiteral<"priceDesc">]>;
2885
+ /**
2886
+ * Localized display name of the sort option
2887
+ */
2888
+ name: z.ZodMiniString<string>;
2889
+ }, z.core.$strip>>;
2890
+ /**
2891
+ * Schema for a product review item.
2892
+ */
2893
+ declare const ProductsApiReviewItemSchema: z.ZodMiniObject<{
2894
+ /**
2895
+ * Name of the review author
2896
+ */
2897
+ author: z.ZodMiniString<string>;
2898
+ /**
2899
+ * Text content of the review
2900
+ */
2901
+ reviewText: z.ZodMiniString<string>;
2902
+ /**
2903
+ * Rating score given in the review
2904
+ */
2905
+ scoreValue: z.ZodMiniNumber<number>;
2906
+ /**
2907
+ * Additional attributes associated with the review
2908
+ */
2909
+ attributes: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
2910
+ /**
2911
+ * Date and time when the review was created
2912
+ */
2913
+ createdAt: z.ZodMiniString<string>;
2914
+ }, z.core.$strip>;
2915
+ /**
2916
+ * Response schema for product reviews.
2917
+ */
2918
+ declare const ProductsApiGetReviewsResponseSchema: z.ZodMiniObject<{
2919
+ /**
2920
+ * List of review items
2921
+ */
2922
+ items: z.ZodMiniArray<z.ZodMiniObject<{
2923
+ /**
2924
+ * Name of the review author
2925
+ */
2926
+ author: z.ZodMiniString<string>;
2927
+ /**
2928
+ * Text content of the review
2929
+ */
2930
+ reviewText: z.ZodMiniString<string>;
2931
+ /**
2932
+ * Rating score given in the review
2933
+ */
2934
+ scoreValue: z.ZodMiniNumber<number>;
2935
+ /**
2936
+ * Additional attributes associated with the review
2937
+ */
2938
+ attributes: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
2939
+ /**
2940
+ * Date and time when the review was created
2941
+ */
2942
+ createdAt: z.ZodMiniString<string>;
2943
+ }, z.core.$strip>>;
2944
+ /**
2945
+ * Current page number
2946
+ */
2947
+ pageNumber: z.ZodMiniNumber<number>;
2948
+ /**
2949
+ * Total number of pages available
2950
+ */
2951
+ totalPages: z.ZodMiniNumber<number>;
2952
+ /**
2953
+ * Total number of reviews
2954
+ */
2955
+ totalCount: z.ZodMiniNumber<number>;
2956
+ /**
2957
+ * Indicates if there is a previous page
2958
+ */
2959
+ hasPreviousPage: z.ZodMiniBoolean<boolean>;
2960
+ /**
2961
+ * Indicates if there is a next page
2962
+ */
2963
+ hasNextPage: z.ZodMiniBoolean<boolean>;
2964
+ }, z.core.$strip>;
2965
+ /**
2966
+ * Schema for a product badge.
2967
+ */
2968
+ declare const ProductsApiBadgeSchema: z.ZodMiniObject<{
2969
+ /**
2970
+ * Background color code
2971
+ */
2972
+ backgroundColor: z.ZodMiniNumber<number>;
2973
+ /**
2974
+ * Text label of the badge
2975
+ */
2976
+ label: z.ZodMiniString<string>;
2977
+ /**
2978
+ * Text color code
2979
+ */
2980
+ textColor: z.ZodMiniNumber<number>;
2981
+ }, z.core.$strip>;
2982
+ /**
2983
+ * Type literal for products stock availability type
2984
+ */
2985
+ declare const ProductsStockAvailabilityTypeSchema: z.ZodMiniLiteral<"stock">;
2986
+ /**
2987
+ * Schema for stock availability information.
2988
+ */
2989
+ declare const ProductsApiStockAvailabilitySchema: z.ZodMiniObject<{
2990
+ /**
2991
+ * Type of stock status (known value: "stock")
2992
+ */
2993
+ type: z.ZodMiniLiteral<"stock">;
2994
+ /**
2995
+ * SVG icon representing stock status
2996
+ */
2997
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
2998
+ /**
2999
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
3000
+ */
3001
+ text: z.ZodMiniString<string>;
3002
+ /**
3003
+ * Maximum quantity available
3004
+ */
3005
+ maxQty: z.ZodMiniNumber<number>;
3006
+ /**
3007
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
3008
+ */
3009
+ maxQtyReason: z.ZodMiniString<string>;
3010
+ }, z.core.$strip>;
3011
+ /**
3012
+ * Schema for a product item.
3013
+ */
3014
+ declare const ProductsApiProductItemSchema: z.ZodMiniObject<{
3015
+ /**
3016
+ * Unique product identifier
3017
+ */
3018
+ productId: z.ZodMiniNumber<number>;
3019
+ /**
3020
+ * Unique stock keeping unit identifier
3021
+ */
3022
+ skuId: z.ZodMiniNumber<number>;
3023
+ /**
3024
+ * URL for the full-size image
3025
+ */
3026
+ imageUrl: z.ZodMiniString<string>;
3027
+ /**
3028
+ * Full display name of the product
3029
+ */
3030
+ name: z.ZodMiniString<string>;
3031
+ /**
3032
+ * Brief description of the product
3033
+ */
3034
+ shortDescription: z.ZodMiniString<string>;
3035
+ /**
3036
+ * URL for the small preview image
3037
+ */
3038
+ thumbnailUrl: z.ZodMiniString<string>;
3039
+ /**
3040
+ * Original price before discounts
3041
+ */
3042
+ originalPrice: z.ZodMiniNumber<number>;
3043
+ /**
3044
+ * Current selling price
3045
+ */
3046
+ price: z.ZodMiniNumber<number>;
3047
+ /**
3048
+ * Quantity available in stock
3049
+ */
3050
+ qty: z.ZodMiniNumber<number>;
3051
+ /**
3052
+ * Stock availability details
3053
+ */
3054
+ stockAvailability: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
3055
+ /**
3056
+ * Type of stock status (known value: "stock")
3057
+ */
3058
+ type: z.ZodMiniLiteral<"stock">;
3059
+ /**
3060
+ * SVG icon representing stock status
3061
+ */
3062
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3063
+ /**
3064
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
3065
+ */
3066
+ text: z.ZodMiniString<string>;
3067
+ /**
3068
+ * Maximum quantity available
3069
+ */
3070
+ maxQty: z.ZodMiniNumber<number>;
3071
+ /**
3072
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
3073
+ */
3074
+ maxQtyReason: z.ZodMiniString<string>;
3075
+ }, z.core.$strip>>>;
3076
+ /**
3077
+ * Indicates if the product is on promotion
3078
+ */
3079
+ isPromo: z.ZodMiniBoolean<boolean>;
3080
+ /**
3081
+ * Name of the promotion
3082
+ */
3083
+ promoName: z.ZodMiniString<string>;
3084
+ /**
3085
+ * List of applicable promocodes
3086
+ */
3087
+ promocodes: z.ZodMiniArray<z.ZodMiniString<string>>;
3088
+ /**
3089
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают", "11 заказов", "930 заказов")
3090
+ */
3091
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3092
+ /**
3093
+ * Average rating score
3094
+ */
3095
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3096
+ /**
3097
+ * Total number of ratings
3098
+ */
3099
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3100
+ /**
3101
+ * Badge information for the product
3102
+ */
3103
+ badge: z.ZodMiniObject<{
3104
+ /**
3105
+ * Background color code
3106
+ */
3107
+ backgroundColor: z.ZodMiniNumber<number>;
3108
+ /**
3109
+ * Text label of the badge
3110
+ */
3111
+ label: z.ZodMiniString<string>;
3112
+ /**
3113
+ * Text color code
3114
+ */
3115
+ textColor: z.ZodMiniNumber<number>;
3116
+ }, z.core.$strip>;
3117
+ /**
3118
+ * Moderation status code
3119
+ */
3120
+ moderationStatus: z.ZodMiniNumber<number>;
3121
+ }, z.core.$strip>;
3122
+ /**
3123
+ * Response schema for the product list.
3124
+ */
3125
+ declare const ProductsApiListResponseSchema: z.ZodMiniObject<{
3126
+ /**
3127
+ * List of applicable filters
3128
+ */
3129
+ filters: z.ZodMiniArray<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
3130
+ type: z.ZodMiniLiteral<"range">;
3131
+ name: z.ZodMiniString<string>;
3132
+ code: z.ZodMiniString<string>;
3133
+ options: z.ZodMiniArray<z.ZodMiniObject<{
3134
+ min: z.ZodMiniNumber<number>;
3135
+ max: z.ZodMiniNumber<number>;
3136
+ }, z.core.$strip>>;
3137
+ }, z.core.$strip>, z.ZodMiniObject<{
3138
+ type: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"category">, z.ZodMiniLiteral<"alphabetic_search_list">]>;
3139
+ name: z.ZodMiniString<string>;
3140
+ code: z.ZodMiniString<string>;
3141
+ options: z.ZodMiniArray<z.ZodMiniObject<{
3142
+ label: z.ZodMiniString<string>;
3143
+ value: z.ZodMiniNumber<number>;
3144
+ }, z.core.$strip>>;
3145
+ }, z.core.$strip>], "type">>;
3146
+ /**
3147
+ * List of product items
3148
+ */
3149
+ items: z.ZodMiniArray<z.ZodMiniObject<{
3150
+ /**
3151
+ * Unique product identifier
3152
+ */
3153
+ productId: z.ZodMiniNumber<number>;
3154
+ /**
3155
+ * Unique stock keeping unit identifier
3156
+ */
3157
+ skuId: z.ZodMiniNumber<number>;
3158
+ /**
3159
+ * URL for the full-size image
3160
+ */
3161
+ imageUrl: z.ZodMiniString<string>;
3162
+ /**
3163
+ * Full display name of the product
3164
+ */
3165
+ name: z.ZodMiniString<string>;
3166
+ /**
3167
+ * Brief description of the product
3168
+ */
3169
+ shortDescription: z.ZodMiniString<string>;
3170
+ /**
3171
+ * URL for the small preview image
3172
+ */
3173
+ thumbnailUrl: z.ZodMiniString<string>;
3174
+ /**
3175
+ * Original price before discounts
3176
+ */
3177
+ originalPrice: z.ZodMiniNumber<number>;
3178
+ /**
3179
+ * Current selling price
3180
+ */
3181
+ price: z.ZodMiniNumber<number>;
3182
+ /**
3183
+ * Quantity available in stock
3184
+ */
3185
+ qty: z.ZodMiniNumber<number>;
3186
+ /**
3187
+ * Stock availability details
3188
+ */
3189
+ stockAvailability: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
3190
+ /**
3191
+ * Type of stock status (known value: "stock")
3192
+ */
3193
+ type: z.ZodMiniLiteral<"stock">;
3194
+ /**
3195
+ * SVG icon representing stock status
3196
+ */
3197
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3198
+ /**
3199
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
3200
+ */
3201
+ text: z.ZodMiniString<string>;
3202
+ /**
3203
+ * Maximum quantity available
3204
+ */
3205
+ maxQty: z.ZodMiniNumber<number>;
3206
+ /**
3207
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
3208
+ */
3209
+ maxQtyReason: z.ZodMiniString<string>;
3210
+ }, z.core.$strip>>>;
3211
+ /**
3212
+ * Indicates if the product is on promotion
3213
+ */
3214
+ isPromo: z.ZodMiniBoolean<boolean>;
3215
+ /**
3216
+ * Name of the promotion
3217
+ */
3218
+ promoName: z.ZodMiniString<string>;
3219
+ /**
3220
+ * List of applicable promocodes
3221
+ */
3222
+ promocodes: z.ZodMiniArray<z.ZodMiniString<string>>;
3223
+ /**
3224
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают", "11 заказов", "930 заказов")
3225
+ */
3226
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3227
+ /**
3228
+ * Average rating score
3229
+ */
3230
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3231
+ /**
3232
+ * Total number of ratings
3233
+ */
3234
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3235
+ /**
3236
+ * Badge information for the product
3237
+ */
3238
+ badge: z.ZodMiniObject<{
3239
+ /**
3240
+ * Background color code
3241
+ */
3242
+ backgroundColor: z.ZodMiniNumber<number>;
3243
+ /**
3244
+ * Text label of the badge
3245
+ */
3246
+ label: z.ZodMiniString<string>;
3247
+ /**
3248
+ * Text color code
3249
+ */
3250
+ textColor: z.ZodMiniNumber<number>;
3251
+ }, z.core.$strip>;
3252
+ /**
3253
+ * Moderation status code
3254
+ */
3255
+ moderationStatus: z.ZodMiniNumber<number>;
3256
+ }, z.core.$strip>>;
3257
+ /**
3258
+ * Current page number
3259
+ */
3260
+ pageNumber: z.ZodMiniNumber<number>;
3261
+ /**
3262
+ * Total number of pages available
3263
+ */
3264
+ totalPages: z.ZodMiniNumber<number>;
3265
+ /**
3266
+ * Total number of products found
3267
+ */
3268
+ totalCount: z.ZodMiniNumber<number>;
3269
+ /**
3270
+ * Indicates if there is a previous page
3271
+ */
3272
+ hasPreviousPage: z.ZodMiniBoolean<boolean>;
3273
+ /**
3274
+ * Indicates if there is a next page
3275
+ */
3276
+ hasNextPage: z.ZodMiniBoolean<boolean>;
3277
+ }, z.core.$strip>;
3278
+ //#endregion
3279
+ //#region src/api/promo/schemas.d.ts
3280
+ /**
3281
+ * Schema for a promotion item.
3282
+ */
3283
+ declare const PromoApiItemSchema: z.ZodMiniObject<{
3284
+ /**
3285
+ * Unique identifier of the promotion
3286
+ */
3287
+ id: z.ZodMiniNumber<number>;
3288
+ /**
3289
+ * Localized name of the promotion
3290
+ */
3291
+ name: z.ZodMiniString<string>;
3292
+ /**
3293
+ * Localized detailed description of the promotion
3294
+ */
3295
+ description: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3296
+ /**
3297
+ * URL to the SVG icon for the promotion
3298
+ */
3299
+ svgUrl: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3300
+ /**
3301
+ * Start date of the promotion
3302
+ */
3303
+ startDate: z.ZodMiniString<string>;
3304
+ /**
3305
+ * End date of the promotion
3306
+ */
3307
+ endDate: z.ZodMiniString<string>;
3308
+ }, z.core.$strip>;
3309
+ /**
3310
+ * Response schema for the list of promotions.
3311
+ */
3312
+ declare const PromoApiListResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
3313
+ /**
3314
+ * Unique identifier of the promotion
3315
+ */
3316
+ id: z.ZodMiniNumber<number>;
3317
+ /**
3318
+ * Localized name of the promotion
3319
+ */
3320
+ name: z.ZodMiniString<string>;
3321
+ /**
3322
+ * Localized detailed description of the promotion
3323
+ */
3324
+ description: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3325
+ /**
3326
+ * URL to the SVG icon for the promotion
3327
+ */
3328
+ svgUrl: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3329
+ /**
3330
+ * Start date of the promotion
3331
+ */
3332
+ startDate: z.ZodMiniString<string>;
3333
+ /**
3334
+ * End date of the promotion
3335
+ */
3336
+ endDate: z.ZodMiniString<string>;
3337
+ }, z.core.$strip>>;
3338
+ //#endregion
3339
+ //#region src/api/shops/schemas.d.ts
3340
+ /**
3341
+ * Schema for shop contact information.
3342
+ */
3343
+ declare const ShopsApiContactInfoSchema: z.ZodMiniObject<{
3344
+ /**
3345
+ * Business Identification Number
3346
+ */
3347
+ bin: z.ZodMiniString<string>;
3348
+ /**
3349
+ * Number of days since the shop was registered
3350
+ */
3351
+ daysSinceRegistration: z.ZodMiniNumber<number>;
3352
+ /**
3353
+ * Legal entity type code
3354
+ */
3355
+ legalType: z.ZodMiniNumber<number>;
3356
+ }, z.core.$strip>;
3357
+ /**
3358
+ * Schema for a shop tag.
3359
+ */
3360
+ declare const ShopsApiTagSchema: z.ZodMiniObject<{
3361
+ /**
3362
+ * Description of the tag
3363
+ */
3364
+ description: z.ZodMiniString<string>;
3365
+ /**
3366
+ * URL to the raster icon for the tag
3367
+ */
3368
+ icon: z.ZodMiniString<string>;
3369
+ /**
3370
+ * Display name of the tag
3371
+ */
3372
+ name: z.ZodMiniString<string>;
3373
+ /**
3374
+ * URL to the SVG icon for the tag
3375
+ */
3376
+ svg: z.ZodMiniString<string>;
3377
+ /**
3378
+ * Unique code for the tag
3379
+ */
3380
+ code: z.ZodMiniString<string>;
3381
+ }, z.core.$strip>;
3382
+ /**
3383
+ * Response schema for getting a specific shop by ID.
3384
+ */
3385
+ declare const ShopsApiGetResponseSchema: z.ZodMiniObject<{
3386
+ /**
3387
+ * Unique identifier of the shop
3388
+ */
3389
+ id: z.ZodMiniNumber<number>;
3390
+ /**
3391
+ * URL to the shop's banner image
3392
+ */
3393
+ banner: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3394
+ /**
3395
+ * Description of the shop
3396
+ */
3397
+ description: z.ZodMiniString<string>;
3398
+ /**
3399
+ * URL to the shop's logo
3400
+ */
3401
+ logo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3402
+ /**
3403
+ * Name of the shop
3404
+ */
3405
+ name: z.ZodMiniString<string>;
3406
+ /**
3407
+ * Text about total orders/purchases (e.g., "11 заказов", "930 заказов")
3408
+ */
3409
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3410
+ /**
3411
+ * Average rating of the shop
3412
+ */
3413
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3414
+ /**
3415
+ * Total number of reviews received
3416
+ */
3417
+ totalReviews: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3418
+ /**
3419
+ * Contact information for the shop
3420
+ */
3421
+ contactInfo: z.ZodMiniObject<{
3422
+ /**
3423
+ * Business Identification Number
3424
+ */
3425
+ bin: z.ZodMiniString<string>;
3426
+ /**
3427
+ * Number of days since the shop was registered
3428
+ */
3429
+ daysSinceRegistration: z.ZodMiniNumber<number>;
3430
+ /**
3431
+ * Legal entity type code
3432
+ */
3433
+ legalType: z.ZodMiniNumber<number>;
3434
+ }, z.core.$strip>;
3435
+ /**
3436
+ * Indicates if the shop represents a single brand
3437
+ */
3438
+ isMonobrand: z.ZodMiniBoolean<boolean>;
3439
+ /**
3440
+ * Tag associated with the shop
3441
+ */
3442
+ tag: z.ZodMiniObject<{
3443
+ /**
3444
+ * Description of the tag
3445
+ */
3446
+ description: z.ZodMiniString<string>;
3447
+ /**
3448
+ * URL to the raster icon for the tag
3449
+ */
3450
+ icon: z.ZodMiniString<string>;
3451
+ /**
3452
+ * Display name of the tag
3453
+ */
3454
+ name: z.ZodMiniString<string>;
3455
+ /**
3456
+ * URL to the SVG icon for the tag
3457
+ */
3458
+ svg: z.ZodMiniString<string>;
3459
+ /**
3460
+ * Unique code for the tag
3461
+ */
3462
+ code: z.ZodMiniString<string>;
3463
+ }, z.core.$strip>;
3464
+ }, z.core.$strip>;
3465
+ /**
3466
+ * Schema for a shop item in a list.
3467
+ */
3468
+ declare const ShopsApiShopItemSchema: z.ZodMiniObject<{
3469
+ /**
3470
+ * Unique identifier of the shop
3471
+ */
3472
+ id: z.ZodMiniNumber<number>;
3473
+ /**
3474
+ * URL to the shop's icon
3475
+ */
3476
+ icon: z.ZodMiniString<string>;
3477
+ }, z.core.$strip>;
3478
+ /**
3479
+ * Response schema for the monobrand shop list.
3480
+ */
3481
+ declare const ShopsApiGetMonobrandResponseSchema: z.ZodMiniObject<{
3482
+ /**
3483
+ * List of monobrand shops
3484
+ */
3485
+ items: z.ZodMiniArray<z.ZodMiniObject<{
3486
+ /**
3487
+ * Unique identifier of the shop
3488
+ */
3489
+ id: z.ZodMiniNumber<number>;
3490
+ /**
3491
+ * URL to the shop's icon
3492
+ */
3493
+ icon: z.ZodMiniString<string>;
3494
+ }, z.core.$strip>>;
3495
+ /**
3496
+ * Current page number
3497
+ */
3498
+ pageNumber: z.ZodMiniNumber<number>;
3499
+ /**
3500
+ * Total number of pages available
3501
+ */
3502
+ totalPages: z.ZodMiniNumber<number>;
3503
+ /**
3504
+ * Total number of shops found
3505
+ */
3506
+ totalCount: z.ZodMiniNumber<number>;
3507
+ /**
3508
+ * Indicates if there is a previous page
3509
+ */
3510
+ hasPreviousPage: z.ZodMiniBoolean<boolean>;
3511
+ /**
3512
+ * Indicates if there is a next page
3513
+ */
3514
+ hasNextPage: z.ZodMiniBoolean<boolean>;
3515
+ }, z.core.$strip>;
3516
+ /**
3517
+ * Type literal for shops stock availability type
3518
+ */
3519
+ declare const ShopsStockAvailabilityTypeSchema: z.ZodMiniLiteral<"stock">;
3520
+ /**
3521
+ * Schema for stock availability information.
3522
+ */
3523
+ declare const ShopsApiStockAvailabilitySchema: z.ZodMiniObject<{
3524
+ /**
3525
+ * Type of stock status (known value: "stock")
3526
+ */
3527
+ type: z.ZodMiniLiteral<"stock">;
3528
+ /**
3529
+ * SVG icon representing stock status
3530
+ */
3531
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3532
+ /**
3533
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
3534
+ */
3535
+ text: z.ZodMiniString<string>;
3536
+ /**
3537
+ * Maximum quantity available
3538
+ */
3539
+ maxQty: z.ZodMiniNumber<number>;
3540
+ /**
3541
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
3542
+ */
3543
+ maxQtyReason: z.ZodMiniString<string>;
3544
+ }, z.core.$strip>;
3545
+ /**
3546
+ * Schema for a product item in a shop.
3547
+ */
3548
+ declare const ShopsApiProductItemSchema: z.ZodMiniObject<{
3549
+ /**
3550
+ * Unique product identifier
3551
+ */
3552
+ productId: z.ZodMiniNumber<number>;
3553
+ /**
3554
+ * Unique stock keeping unit identifier
3555
+ */
3556
+ skuId: z.ZodMiniNumber<number>;
3557
+ /**
3558
+ * URL for the full-size image
3559
+ */
3560
+ imageUrl: z.ZodMiniString<string>;
3561
+ /**
3562
+ * Full display name of the product
3563
+ */
3564
+ name: z.ZodMiniString<string>;
3565
+ /**
3566
+ * Brief description of the product
3567
+ */
3568
+ shortDescription: z.ZodMiniString<string>;
3569
+ /**
3570
+ * URL for the small preview image
3571
+ */
3572
+ thumbnailUrl: z.ZodMiniString<string>;
3573
+ /**
3574
+ * Original price before discounts
3575
+ */
3576
+ originalPrice: z.ZodMiniNumber<number>;
3577
+ /**
3578
+ * Current selling price
3579
+ */
3580
+ price: z.ZodMiniNumber<number>;
3581
+ /**
3582
+ * Indicates if the item is in stock
3583
+ */
3584
+ inStock: z.ZodMiniBoolean<boolean>;
3585
+ /**
3586
+ * Quantity available in stock
3587
+ */
3588
+ qty: z.ZodMiniNumber<number>;
3589
+ /**
3590
+ * Stock availability details
3591
+ */
3592
+ stockAvailability: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
3593
+ /**
3594
+ * Type of stock status (known value: "stock")
3595
+ */
3596
+ type: z.ZodMiniLiteral<"stock">;
3597
+ /**
3598
+ * SVG icon representing stock status
3599
+ */
3600
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3601
+ /**
3602
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
3603
+ */
3604
+ text: z.ZodMiniString<string>;
3605
+ /**
3606
+ * Maximum quantity available
3607
+ */
3608
+ maxQty: z.ZodMiniNumber<number>;
3609
+ /**
3610
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
3611
+ */
3612
+ maxQtyReason: z.ZodMiniString<string>;
3613
+ }, z.core.$strip>>>;
3614
+ /**
3615
+ * Indicates if the product is on promotion
3616
+ */
3617
+ isPromo: z.ZodMiniBoolean<boolean>;
3618
+ /**
3619
+ * Name of the promotion
3620
+ */
3621
+ promoName: z.ZodMiniString<string>;
3622
+ /**
3623
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
3624
+ */
3625
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3626
+ /**
3627
+ * Average rating score
3628
+ */
3629
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3630
+ /**
3631
+ * Total number of ratings
3632
+ */
3633
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3634
+ /**
3635
+ * Moderation status code
3636
+ */
3637
+ moderationStatus: z.ZodMiniNumber<number>;
3638
+ }, z.core.$strip>;
3639
+ /**
3640
+ * Response schema for products from a specific shop.
3641
+ */
3642
+ declare const ShopsApiGetProductsResponseSchema: z.ZodMiniObject<{
3643
+ /**
3644
+ * List of applicable filters
3645
+ */
3646
+ filters: z.ZodMiniArray<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
3647
+ type: z.ZodMiniLiteral<"range">;
3648
+ name: z.ZodMiniString<string>;
3649
+ code: z.ZodMiniString<string>;
3650
+ options: z.ZodMiniArray<z.ZodMiniObject<{
3651
+ min: z.ZodMiniNumber<number>;
3652
+ max: z.ZodMiniNumber<number>;
3653
+ }, z.core.$strip>>;
3654
+ }, z.core.$strip>, z.ZodMiniObject<{
3655
+ type: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"category">, z.ZodMiniLiteral<"alphabetic_search_list">]>;
3656
+ name: z.ZodMiniString<string>;
3657
+ code: z.ZodMiniString<string>;
3658
+ options: z.ZodMiniArray<z.ZodMiniObject<{
3659
+ label: z.ZodMiniString<string>;
3660
+ value: z.ZodMiniNumber<number>;
3661
+ }, z.core.$strip>>;
3662
+ }, z.core.$strip>], "type">>;
3663
+ /**
3664
+ * List of product items
3665
+ */
3666
+ items: z.ZodMiniArray<z.ZodMiniObject<{
3667
+ /**
3668
+ * Unique product identifier
3669
+ */
3670
+ productId: z.ZodMiniNumber<number>;
3671
+ /**
3672
+ * Unique stock keeping unit identifier
3673
+ */
3674
+ skuId: z.ZodMiniNumber<number>;
3675
+ /**
3676
+ * URL for the full-size image
3677
+ */
3678
+ imageUrl: z.ZodMiniString<string>;
3679
+ /**
3680
+ * Full display name of the product
3681
+ */
3682
+ name: z.ZodMiniString<string>;
3683
+ /**
3684
+ * Brief description of the product
3685
+ */
3686
+ shortDescription: z.ZodMiniString<string>;
3687
+ /**
3688
+ * URL for the small preview image
3689
+ */
3690
+ thumbnailUrl: z.ZodMiniString<string>;
3691
+ /**
3692
+ * Original price before discounts
3693
+ */
3694
+ originalPrice: z.ZodMiniNumber<number>;
3695
+ /**
3696
+ * Current selling price
3697
+ */
3698
+ price: z.ZodMiniNumber<number>;
3699
+ /**
3700
+ * Indicates if the item is in stock
3701
+ */
3702
+ inStock: z.ZodMiniBoolean<boolean>;
3703
+ /**
3704
+ * Quantity available in stock
3705
+ */
3706
+ qty: z.ZodMiniNumber<number>;
3707
+ /**
3708
+ * Stock availability details
3709
+ */
3710
+ stockAvailability: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
3711
+ /**
3712
+ * Type of stock status (known value: "stock")
3713
+ */
3714
+ type: z.ZodMiniLiteral<"stock">;
3715
+ /**
3716
+ * SVG icon representing stock status
3717
+ */
3718
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3719
+ /**
3720
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
3721
+ */
3722
+ text: z.ZodMiniString<string>;
3723
+ /**
3724
+ * Maximum quantity available
3725
+ */
3726
+ maxQty: z.ZodMiniNumber<number>;
3727
+ /**
3728
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
3729
+ */
3730
+ maxQtyReason: z.ZodMiniString<string>;
3731
+ }, z.core.$strip>>>;
3732
+ /**
3733
+ * Indicates if the product is on promotion
3734
+ */
3735
+ isPromo: z.ZodMiniBoolean<boolean>;
3736
+ /**
3737
+ * Name of the promotion
3738
+ */
3739
+ promoName: z.ZodMiniString<string>;
3740
+ /**
3741
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
3742
+ */
3743
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3744
+ /**
3745
+ * Average rating score
3746
+ */
3747
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3748
+ /**
3749
+ * Total number of ratings
3750
+ */
3751
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3752
+ /**
3753
+ * Moderation status code
3754
+ */
3755
+ moderationStatus: z.ZodMiniNumber<number>;
3756
+ }, z.core.$strip>>;
3757
+ /**
3758
+ * Current page number
3759
+ */
3760
+ pageNumber: z.ZodMiniNumber<number>;
3761
+ /**
3762
+ * Total number of pages available
3763
+ */
3764
+ totalPages: z.ZodMiniNumber<number>;
3765
+ /**
3766
+ * Total number of products found
3767
+ */
3768
+ totalCount: z.ZodMiniNumber<number>;
3769
+ /**
3770
+ * Indicates if there is a previous page
3771
+ */
3772
+ hasPreviousPage: z.ZodMiniBoolean<boolean>;
3773
+ /**
3774
+ * Indicates if there is a next page
3775
+ */
3776
+ hasNextPage: z.ZodMiniBoolean<boolean>;
3777
+ }, z.core.$strip>;
3778
+ //#endregion
3779
+ //#region src/api/sku/schemas.d.ts
3780
+ /**
3781
+ * Schema for installment payment information.
3782
+ */
3783
+ declare const SkuApiInstallmentSchema: z.ZodMiniObject<{
3784
+ /**
3785
+ * URL to the installment SVG icon
3786
+ */
3787
+ installmentSvg: z.ZodMiniString<string>;
3788
+ /**
3789
+ * Description of the installment term
3790
+ */
3791
+ installmentTerm: z.ZodMiniString<string>;
3792
+ }, z.core.$strip>;
3793
+ /**
3794
+ * Schema for shop details associated with a SKU.
3795
+ */
3796
+ declare const SkuApiShopSchema: z.ZodMiniObject<{
3797
+ /**
3798
+ * Unique identifier of the shop
3799
+ */
3800
+ id: z.ZodMiniNumber<number>;
3801
+ /**
3802
+ * URL to the shop's logo
3803
+ */
3804
+ logo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3805
+ /**
3806
+ * Name of the shop
3807
+ */
3808
+ name: z.ZodMiniString<string>;
3809
+ /**
3810
+ * URL to the shop's photo
3811
+ */
3812
+ photo: z.ZodMiniString<string>;
3813
+ /**
3814
+ * URL to the shop's page or resource
3815
+ */
3816
+ url: z.ZodMiniString<string>;
3817
+ /**
3818
+ * Indicates if installment payment is available
3819
+ */
3820
+ isInstallment: z.ZodMiniBoolean<boolean>;
3821
+ /**
3822
+ * Popularity text for the shop (e.g., "Часто покупают", "11 заказов")
3823
+ */
3824
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3825
+ /**
3826
+ * Average rating of the shop
3827
+ */
3828
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
3829
+ /**
3830
+ * Number of days since the shop was registered
3831
+ */
3832
+ daysSinceRegistration: z.ZodMiniNumber<number>;
3833
+ /**
3834
+ * Indicates if the shop represents a single brand
3835
+ */
3836
+ isMonobrand: z.ZodMiniBoolean<boolean>;
3837
+ }, z.core.$strip>;
3838
+ /**
3839
+ * Schema for brand information.
3840
+ */
3841
+ declare const SkuApiBrandSchema: z.ZodMiniObject<{
3842
+ /**
3843
+ * Unique identifier of the brand
3844
+ */
3845
+ id: z.ZodMiniNumber<number>;
3846
+ /**
3847
+ * Name of the brand
3848
+ */
3849
+ name: z.ZodMiniString<string>;
3850
+ }, z.core.$strip>;
3851
+ /**
3852
+ * Schema for a category item.
3853
+ */
3854
+ declare const SkuApiCategorySchema: z.ZodMiniObject<{
3855
+ /**
3856
+ * Unique identifier of the category
3857
+ */
3858
+ id: z.ZodMiniNumber<number>;
3859
+ /**
3860
+ * Name of the category
3861
+ */
3862
+ name: z.ZodMiniString<string>;
3863
+ /**
3864
+ * Indicates if this is the primary category for the product
3865
+ */
3866
+ isPrimary: z.ZodMiniBoolean<boolean>;
3867
+ }, z.core.$strip>;
3868
+ /**
3869
+ * Schema for an attribute property value.
3870
+ */
3871
+ declare const SkuApiAttributePropertyValueSchema: z.ZodMiniObject<{
3872
+ /**
3873
+ * Name of the property value (e.g., "Red", "XL")
3874
+ */
3875
+ name: z.ZodMiniString<string>;
3876
+ /**
3877
+ * URL to a photo representing this property value
3878
+ */
3879
+ photo: z.ZodMiniString<string>;
3880
+ }, z.core.$strip>;
3881
+ /**
3882
+ * Schema for a product attribute.
3883
+ */
3884
+ declare const SkuApiAttributePropertySchema: z.ZodMiniObject<{
3885
+ /**
3886
+ * Name of the attribute (e.g., "Color", "Size")
3887
+ */
3888
+ name: z.ZodMiniString<string>;
3889
+ /**
3890
+ * Value details for the attribute
3891
+ */
3892
+ value: z.ZodMiniObject<{
3893
+ /**
3894
+ * Name of the property value (e.g., "Red", "XL")
3895
+ */
3896
+ name: z.ZodMiniString<string>;
3897
+ /**
3898
+ * URL to a photo representing this property value
3899
+ */
3900
+ photo: z.ZodMiniString<string>;
3901
+ }, z.core.$strip>;
3902
+ }, z.core.$strip>;
3903
+ /**
3904
+ * Schema for SKU attributes configuration.
3905
+ */
3906
+ declare const SkuApiAttributeSchema: z.ZodMiniObject<{
3907
+ /**
3908
+ * SKU ID associated with this specific attribute combination
3909
+ */
3910
+ skuId: z.ZodMiniNumber<number>;
3911
+ /**
3912
+ * Quantity available for this specific variant
3913
+ */
3914
+ quantity: z.ZodMiniNumber<number>;
3915
+ /**
3916
+ * List of properties defining this variant
3917
+ */
3918
+ attributeProperties: z.ZodMiniArray<z.ZodMiniObject<{
3919
+ /**
3920
+ * Name of the attribute (e.g., "Color", "Size")
3921
+ */
3922
+ name: z.ZodMiniString<string>;
3923
+ /**
3924
+ * Value details for the attribute
3925
+ */
3926
+ value: z.ZodMiniObject<{
3927
+ /**
3928
+ * Name of the property value (e.g., "Red", "XL")
3929
+ */
3930
+ name: z.ZodMiniString<string>;
3931
+ /**
3932
+ * URL to a photo representing this property value
3933
+ */
3934
+ photo: z.ZodMiniString<string>;
3935
+ }, z.core.$strip>;
3936
+ }, z.core.$strip>>;
3937
+ }, z.core.$strip>;
3938
+ /**
3939
+ * Schema for a product tag.
3940
+ */
3941
+ declare const SkuApiTagSchema: z.ZodMiniObject<{
3942
+ /**
3943
+ * Type of the tag
3944
+ */
3945
+ type: z.ZodMiniString<string>;
3946
+ /**
3947
+ * Display name of the tag
3948
+ */
3949
+ name: z.ZodMiniString<string>;
3950
+ /**
3951
+ * URL to the SVG icon for the tag
3952
+ */
3953
+ svg: z.ZodMiniString<string>;
3954
+ /**
3955
+ * Value associated with the tag
3956
+ */
3957
+ value: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3958
+ }, z.core.$strip>;
3959
+ /**
3960
+ * Type literal for SKU stock availability type
3961
+ */
3962
+ declare const SkuStockAvailabilityTypeSchema: z.ZodMiniLiteral<"stock">;
3963
+ /**
3964
+ * Schema for stock availability information.
3965
+ */
3966
+ declare const SkuApiStockAvailabilitySchema: z.ZodMiniObject<{
3967
+ /**
3968
+ * Type of stock status (known value: "stock")
3969
+ */
3970
+ type: z.ZodMiniLiteral<"stock">;
3971
+ /**
3972
+ * SVG icon representing stock status
3973
+ */
3974
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
3975
+ /**
3976
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
3977
+ */
3978
+ text: z.ZodMiniString<string>;
3979
+ /**
3980
+ * Maximum quantity available
3981
+ */
3982
+ maxQty: z.ZodMiniNumber<number>;
3983
+ /**
3984
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
3985
+ */
3986
+ maxQtyReason: z.ZodMiniString<string>;
3987
+ }, z.core.$strip>;
3988
+ /**
3989
+ * Response schema for getting a specific SKU by ID.
3990
+ */
3991
+ declare const SkuApiGetResponseSchema: z.ZodMiniObject<{
3992
+ /**
3993
+ * Unique product identifier
3994
+ */
3995
+ productId: z.ZodMiniNumber<number>;
3996
+ /**
3997
+ * Unique stock keeping unit identifier
3998
+ */
3999
+ skuId: z.ZodMiniNumber<number>;
4000
+ /**
4001
+ * Detailed product description in HTML format
4002
+ */
4003
+ description: z.ZodMiniString<string>;
4004
+ /**
4005
+ * Full display name of the product
4006
+ */
4007
+ name: z.ZodMiniString<string>;
4008
+ /**
4009
+ * List of URLs for product photos
4010
+ */
4011
+ photos: z.ZodMiniArray<z.ZodMiniString<string>>;
4012
+ /**
4013
+ * Brief summary of the product
4014
+ */
4015
+ shortDescription: z.ZodMiniString<string>;
4016
+ /**
4017
+ * Discount amount
4018
+ */
4019
+ discount: z.ZodMiniNumber<number>;
4020
+ /**
4021
+ * Original price before discounts
4022
+ */
4023
+ originalPrice: z.ZodMiniNumber<number>;
4024
+ /**
4025
+ * Discount percentage
4026
+ */
4027
+ percentDiscount: z.ZodMiniNumber<number>;
4028
+ /**
4029
+ * Current selling price
4030
+ */
4031
+ price: z.ZodMiniNumber<number>;
4032
+ /**
4033
+ * Quantity available in stock
4034
+ */
4035
+ qty: z.ZodMiniNumber<number>;
4036
+ /**
4037
+ * Stock availability details
4038
+ */
4039
+ stockAvailability: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
4040
+ /**
4041
+ * Type of stock status (known value: "stock")
4042
+ */
4043
+ type: z.ZodMiniLiteral<"stock">;
4044
+ /**
4045
+ * SVG icon representing stock status
4046
+ */
4047
+ svg: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
4048
+ /**
4049
+ * Localized text describing stock status (e.g., "В наличии - осталось всего 16 штук")
4050
+ */
4051
+ text: z.ZodMiniString<string>;
4052
+ /**
4053
+ * Maximum quantity available
4054
+ */
4055
+ maxQty: z.ZodMiniNumber<number>;
4056
+ /**
4057
+ * Localized reason text for quantity limit (e.g., "В наличии только 16 штук")
4058
+ */
4059
+ maxQtyReason: z.ZodMiniString<string>;
4060
+ }, z.core.$strip>>>;
4061
+ /**
4062
+ * Installment payment options
4063
+ */
4064
+ installment: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
4065
+ /**
4066
+ * URL to the installment SVG icon
4067
+ */
4068
+ installmentSvg: z.ZodMiniString<string>;
4069
+ /**
4070
+ * Description of the installment term
4071
+ */
4072
+ installmentTerm: z.ZodMiniString<string>;
4073
+ }, z.core.$strip>>>;
4074
+ /**
4075
+ * Indicates if the product is on promotion
4076
+ */
4077
+ isPromo: z.ZodMiniBoolean<boolean>;
4078
+ /**
4079
+ * Name of the promotion
4080
+ */
4081
+ promoName: z.ZodMiniString<string>;
4082
+ /**
4083
+ * List of applicable promocodes
4084
+ */
4085
+ promocodes: z.ZodMiniArray<z.ZodMiniString<string>>;
4086
+ /**
4087
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают", "11 заказов", "930 заказов")
4088
+ */
4089
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
4090
+ /**
4091
+ * Average rating score
4092
+ */
4093
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4094
+ /**
4095
+ * Total number of ratings
4096
+ */
4097
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4098
+ /**
4099
+ * Total number of text reviews
4100
+ */
4101
+ textReviewQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4102
+ /**
4103
+ * Brand information
4104
+ */
4105
+ brand: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
4106
+ /**
4107
+ * Unique identifier of the brand
4108
+ */
4109
+ id: z.ZodMiniNumber<number>;
4110
+ /**
4111
+ * Name of the brand
4112
+ */
4113
+ name: z.ZodMiniString<string>;
4114
+ }, z.core.$strip>>>;
4115
+ /**
4116
+ * List of categories the product belongs to
4117
+ */
4118
+ categories: z.ZodMiniArray<z.ZodMiniObject<{
4119
+ /**
4120
+ * Unique identifier of the category
4121
+ */
4122
+ id: z.ZodMiniNumber<number>;
4123
+ /**
4124
+ * Name of the category
4125
+ */
4126
+ name: z.ZodMiniString<string>;
4127
+ /**
4128
+ * Indicates if this is the primary category for the product
4129
+ */
4130
+ isPrimary: z.ZodMiniBoolean<boolean>;
4131
+ }, z.core.$strip>>;
4132
+ /**
4133
+ * Details of the shop selling the product
4134
+ */
4135
+ shop: z.ZodMiniObject<{
4136
+ /**
4137
+ * Unique identifier of the shop
4138
+ */
4139
+ id: z.ZodMiniNumber<number>;
4140
+ /**
4141
+ * URL to the shop's logo
4142
+ */
4143
+ logo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
4144
+ /**
4145
+ * Name of the shop
4146
+ */
4147
+ name: z.ZodMiniString<string>;
4148
+ /**
4149
+ * URL to the shop's photo
4150
+ */
4151
+ photo: z.ZodMiniString<string>;
4152
+ /**
4153
+ * URL to the shop's page or resource
4154
+ */
4155
+ url: z.ZodMiniString<string>;
4156
+ /**
4157
+ * Indicates if installment payment is available
4158
+ */
4159
+ isInstallment: z.ZodMiniBoolean<boolean>;
4160
+ /**
4161
+ * Popularity text for the shop (e.g., "Часто покупают", "11 заказов")
4162
+ */
4163
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
4164
+ /**
4165
+ * Average rating of the shop
4166
+ */
4167
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4168
+ /**
4169
+ * Number of days since the shop was registered
4170
+ */
4171
+ daysSinceRegistration: z.ZodMiniNumber<number>;
4172
+ /**
4173
+ * Indicates if the shop represents a single brand
4174
+ */
4175
+ isMonobrand: z.ZodMiniBoolean<boolean>;
4176
+ }, z.core.$strip>;
4177
+ /**
4178
+ * Dictionary of additional product information
4179
+ */
4180
+ additionalInfo: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
4181
+ /**
4182
+ * List of available attribute variants
4183
+ */
4184
+ attributes: z.ZodMiniArray<z.ZodMiniObject<{
4185
+ /**
4186
+ * SKU ID associated with this specific attribute combination
4187
+ */
4188
+ skuId: z.ZodMiniNumber<number>;
4189
+ /**
4190
+ * Quantity available for this specific variant
4191
+ */
4192
+ quantity: z.ZodMiniNumber<number>;
4193
+ /**
4194
+ * List of properties defining this variant
4195
+ */
4196
+ attributeProperties: z.ZodMiniArray<z.ZodMiniObject<{
4197
+ /**
4198
+ * Name of the attribute (e.g., "Color", "Size")
4199
+ */
4200
+ name: z.ZodMiniString<string>;
4201
+ /**
4202
+ * Value details for the attribute
4203
+ */
4204
+ value: z.ZodMiniObject<{
4205
+ /**
4206
+ * Name of the property value (e.g., "Red", "XL")
4207
+ */
4208
+ name: z.ZodMiniString<string>;
4209
+ /**
4210
+ * URL to a photo representing this property value
4211
+ */
4212
+ photo: z.ZodMiniString<string>;
4213
+ }, z.core.$strip>;
4214
+ }, z.core.$strip>>;
4215
+ }, z.core.$strip>>;
4216
+ /**
4217
+ * List of tags associated with the product
4218
+ */
4219
+ tags: z.ZodMiniArray<z.ZodMiniObject<{
4220
+ /**
4221
+ * Type of the tag
4222
+ */
4223
+ type: z.ZodMiniString<string>;
4224
+ /**
4225
+ * Display name of the tag
4226
+ */
4227
+ name: z.ZodMiniString<string>;
4228
+ /**
4229
+ * URL to the SVG icon for the tag
4230
+ */
4231
+ svg: z.ZodMiniString<string>;
4232
+ /**
4233
+ * Value associated with the tag
4234
+ */
4235
+ value: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
4236
+ }, z.core.$strip>>;
4237
+ }, z.core.$strip>;
4238
+ /**
4239
+ * Schema for a similar product item.
4240
+ */
4241
+ declare const SkuApiSimilarItemSchema: z.ZodMiniObject<{
4242
+ /**
4243
+ * Unique product identifier
4244
+ */
4245
+ productId: z.ZodMiniNumber<number>;
4246
+ /**
4247
+ * Unique stock keeping unit identifier
4248
+ */
4249
+ skuId: z.ZodMiniNumber<number>;
4250
+ /**
4251
+ * URL for the full-size image
4252
+ */
4253
+ imageUrl: z.ZodMiniString<string>;
4254
+ /**
4255
+ * Display name of the similar product
4256
+ */
4257
+ name: z.ZodMiniString<string>;
4258
+ /**
4259
+ * Brief description of the similar product
4260
+ */
4261
+ shortDescription: z.ZodMiniString<string>;
4262
+ /**
4263
+ * URL for the small preview image
4264
+ */
4265
+ thumbnailUrl: z.ZodMiniString<string>;
4266
+ /**
4267
+ * Original price before discounts
4268
+ */
4269
+ originalPrice: z.ZodMiniNumber<number>;
4270
+ /**
4271
+ * Current selling price
4272
+ */
4273
+ price: z.ZodMiniNumber<number>;
4274
+ /**
4275
+ * Quantity available in stock
4276
+ */
4277
+ qty: z.ZodMiniNumber<number>;
4278
+ /**
4279
+ * Indicates if the product is on promotion
4280
+ */
4281
+ isPromo: z.ZodMiniBoolean<boolean>;
4282
+ /**
4283
+ * Name of the promotion
4284
+ */
4285
+ promoName: z.ZodMiniString<string>;
4286
+ /**
4287
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
4288
+ */
4289
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
4290
+ /**
4291
+ * Average rating score
4292
+ */
4293
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4294
+ /**
4295
+ * Total number of ratings
4296
+ */
4297
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4298
+ /**
4299
+ * Moderation status code
4300
+ */
4301
+ moderationStatus: z.ZodMiniNumber<number>;
4302
+ }, z.core.$strip>;
4303
+ /**
4304
+ * Response schema for similar SKUs.
4305
+ */
4306
+ declare const SkuApiGetSimilarResponseSchema: z.ZodMiniObject<{
4307
+ /**
4308
+ * List of similar product items
4309
+ */
4310
+ items: z.ZodMiniArray<z.ZodMiniObject<{
4311
+ /**
4312
+ * Unique product identifier
4313
+ */
4314
+ productId: z.ZodMiniNumber<number>;
4315
+ /**
4316
+ * Unique stock keeping unit identifier
4317
+ */
4318
+ skuId: z.ZodMiniNumber<number>;
4319
+ /**
4320
+ * URL for the full-size image
4321
+ */
4322
+ imageUrl: z.ZodMiniString<string>;
4323
+ /**
4324
+ * Display name of the similar product
4325
+ */
4326
+ name: z.ZodMiniString<string>;
4327
+ /**
4328
+ * Brief description of the similar product
4329
+ */
4330
+ shortDescription: z.ZodMiniString<string>;
4331
+ /**
4332
+ * URL for the small preview image
4333
+ */
4334
+ thumbnailUrl: z.ZodMiniString<string>;
4335
+ /**
4336
+ * Original price before discounts
4337
+ */
4338
+ originalPrice: z.ZodMiniNumber<number>;
4339
+ /**
4340
+ * Current selling price
4341
+ */
4342
+ price: z.ZodMiniNumber<number>;
4343
+ /**
4344
+ * Quantity available in stock
4345
+ */
4346
+ qty: z.ZodMiniNumber<number>;
4347
+ /**
4348
+ * Indicates if the product is on promotion
4349
+ */
4350
+ isPromo: z.ZodMiniBoolean<boolean>;
4351
+ /**
4352
+ * Name of the promotion
4353
+ */
4354
+ promoName: z.ZodMiniString<string>;
4355
+ /**
4356
+ * Popularity text indicating purchase frequency (e.g., "Часто покупают")
4357
+ */
4358
+ qtyPurchasedInfo: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniString<string>>>;
4359
+ /**
4360
+ * Average rating score
4361
+ */
4362
+ rating: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4363
+ /**
4364
+ * Total number of ratings
4365
+ */
4366
+ scoreQuantity: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniNumber<number>>>;
4367
+ /**
4368
+ * Moderation status code
4369
+ */
4370
+ moderationStatus: z.ZodMiniNumber<number>;
4371
+ }, z.core.$strip>>;
4372
+ /**
4373
+ * Current page number
4374
+ */
4375
+ pageNumber: z.ZodMiniNumber<number>;
4376
+ /**
4377
+ * Total number of pages available
4378
+ */
4379
+ totalPages: z.ZodMiniNumber<number>;
4380
+ /**
4381
+ * Total number of similar items found
4382
+ */
4383
+ totalCount: z.ZodMiniNumber<number>;
4384
+ /**
4385
+ * Indicates if there is a previous page
4386
+ */
4387
+ hasPreviousPage: z.ZodMiniBoolean<boolean>;
4388
+ /**
4389
+ * Indicates if there is a next page
4390
+ */
4391
+ hasNextPage: z.ZodMiniBoolean<boolean>;
4392
+ }, z.core.$strip>;
4393
+ /**
4394
+ * Schema for a collection item.
4395
+ */
4396
+ declare const SkuApiCollectionItemSchema: z.ZodMiniObject<{
4397
+ /**
4398
+ * Unique identifier of the collection
4399
+ */
4400
+ id: z.ZodMiniNumber<number>;
4401
+ /**
4402
+ * URL for the collection's cover image
4403
+ */
4404
+ cover: z.ZodMiniString<string>;
4405
+ /**
4406
+ * URL to the collection's icon
4407
+ */
4408
+ icon: z.ZodMiniString<string>;
4409
+ /**
4410
+ * Name of the collection
4411
+ */
4412
+ name: z.ZodMiniString<string>;
4413
+ /**
4414
+ * Number of items in the collection
4415
+ */
4416
+ quantity: z.ZodMiniNumber<number>;
4417
+ /**
4418
+ * Priority for sorting or display order
4419
+ */
4420
+ priority: z.ZodMiniNumber<number>;
4421
+ }, z.core.$strip>;
4422
+ /**
4423
+ * Response schema for SKU collections.
4424
+ */
4425
+ declare const SkuApiGetCollectionsResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
4426
+ /**
4427
+ * Unique identifier of the collection
4428
+ */
4429
+ id: z.ZodMiniNumber<number>;
4430
+ /**
4431
+ * URL for the collection's cover image
4432
+ */
4433
+ cover: z.ZodMiniString<string>;
4434
+ /**
4435
+ * URL to the collection's icon
4436
+ */
4437
+ icon: z.ZodMiniString<string>;
4438
+ /**
4439
+ * Name of the collection
4440
+ */
4441
+ name: z.ZodMiniString<string>;
4442
+ /**
4443
+ * Number of items in the collection
4444
+ */
4445
+ quantity: z.ZodMiniNumber<number>;
4446
+ /**
4447
+ * Priority for sorting or display order
4448
+ */
4449
+ priority: z.ZodMiniNumber<number>;
4450
+ }, z.core.$strip>>;
4451
+ /**
4452
+ * Response schema for review availability check.
4453
+ */
4454
+ declare const SkuApiGetReviewAvailableResponseSchema: z.ZodMiniObject<{
4455
+ /**
4456
+ * Description of the review availability status
4457
+ */
4458
+ description: z.ZodMiniString<string>;
4459
+ /**
4460
+ * Message regarding review availability
4461
+ */
4462
+ message: z.ZodMiniString<string>;
4463
+ }, z.core.$strip>;
4464
+ //#endregion
4465
+ //#region src/api/feature-flags/schemas.d.ts
4466
+ /**
4467
+ * Schema for a feature flag item.
4468
+ */
4469
+ declare const FeatureFlagsApiItemSchema: z.ZodMiniObject<{
4470
+ /**
4471
+ * Name of the feature flag
4472
+ */
4473
+ name: z.ZodMiniString<string>;
4474
+ /**
4475
+ * Indicates if the feature flag is currently active
4476
+ */
4477
+ isActive: z.ZodMiniBoolean<boolean>;
4478
+ }, z.core.$strip>;
4479
+ /**
4480
+ * Response schema for the list of feature flags.
4481
+ */
4482
+ declare const FeatureFlagsApiListResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
4483
+ /**
4484
+ * Name of the feature flag
4485
+ */
4486
+ name: z.ZodMiniString<string>;
4487
+ /**
4488
+ * Indicates if the feature flag is currently active
4489
+ */
4490
+ isActive: z.ZodMiniBoolean<boolean>;
4491
+ }, z.core.$strip>>;
4492
+ //#endregion
4493
+ export { BASE_URL, BannerActionTypes, BannerActionTypesSchema, BannerImageType, BannerImageTypeSchema, BannersApi, BannersApiAction, BannersApiActionSchema, BannersApiBannerItem, BannersApiBannerItemSchema, BannersApiImage, BannersApiImageSchema, BannersApiListParams, BannersApiListResponse, BannersApiListResponseSchema, BaseParams, CategoriesApi, CategoriesApiGetParams, CategoriesApiGetParentsParams, CategoriesApiGetParentsResponse, CategoriesApiGetParentsResponseItem, CategoriesApiGetParentsResponseItemSchema, CategoriesApiGetParentsResponseSchema, CategoriesApiGetResponse, CategoriesApiGetResponseSchema, CategoriesApiListParams, CategoriesApiListResponse, CategoriesApiListResponseItem, CategoriesApiListResponseItemSchema, CategoriesApiListResponseSchema, CollectionType, CollectionTypeSchema, CollectionsApi, CollectionsApiGetParams, CollectionsApiGetResponse, CollectionsApiGetResponseSchema, CollectionsApiGetSkusParams, CollectionsApiGetSkusResponse, CollectionsApiGetSkusResponseSchema, CollectionsApiListItem, CollectionsApiListItemSchema, CollectionsApiListParams, CollectionsApiListResponse, CollectionsApiListResponseSchema, CollectionsApiSkuItem, CollectionsApiSkuItemSchema, CollectionsApiStockAvailability, CollectionsApiStockAvailabilitySchema, CollectionsStockAvailabilityType, CollectionsStockAvailabilityTypeSchema, DEFAULT_APP_VERSION, DEFAULT_CONFIG, FeatureFlagsApi, FeatureFlagsApiItem, FeatureFlagsApiItemSchema, FeatureFlagsApiListParams, FeatureFlagsApiListResponse, FeatureFlagsApiListResponseSchema, LANGUAGES, Language, ProductSortKey, ProductSortKeySchema, ProductsApi, ProductsApiBadge, ProductsApiBadgeSchema, ProductsApiGetReviewsParams, ProductsApiGetReviewsResponse, ProductsApiGetReviewsResponseSchema, ProductsApiGetSortOptionsParams, ProductsApiGetSortOptionsResponse, ProductsApiGetSortOptionsResponseSchema, ProductsApiListParams, ProductsApiListResponse, ProductsApiListResponseSchema, ProductsApiProductItem, ProductsApiProductItemSchema, ProductsApiReviewItem, ProductsApiReviewItemSchema, ProductsApiSortOption, ProductsApiSortOptionSchema, ProductsApiStockAvailability, ProductsApiStockAvailabilitySchema, ProductsStockAvailabilityType, ProductsStockAvailabilityTypeSchema, PromoApi, PromoApiItem, PromoApiItemSchema, PromoApiListParams, PromoApiListResponse, PromoApiListResponseSchema, ResolvedTeezClientConfig, SORT_OPTIONS, ShopsApi, ShopsApiContactInfo, ShopsApiContactInfoSchema, ShopsApiGetMonobrandParams, ShopsApiGetMonobrandResponse, ShopsApiGetMonobrandResponseSchema, ShopsApiGetParams, ShopsApiGetProductsParams, ShopsApiGetProductsResponse, ShopsApiGetProductsResponseSchema, ShopsApiGetResponse, ShopsApiGetResponseSchema, ShopsApiProductItem, ShopsApiProductItemSchema, ShopsApiShopItem, ShopsApiShopItemSchema, ShopsApiStockAvailability, ShopsApiStockAvailabilitySchema, ShopsApiTag, ShopsApiTagSchema, ShopsStockAvailabilityType, ShopsStockAvailabilityTypeSchema, SkuApi, SkuApiAttribute, SkuApiAttributeProperty, SkuApiAttributePropertySchema, SkuApiAttributePropertyValue, SkuApiAttributePropertyValueSchema, SkuApiAttributeSchema, SkuApiBrand, SkuApiBrandSchema, SkuApiCategory, SkuApiCategorySchema, SkuApiCollectionItem, SkuApiCollectionItemSchema, SkuApiGetCollectionsParams, SkuApiGetCollectionsResponse, SkuApiGetCollectionsResponseSchema, SkuApiGetParams, SkuApiGetResponse, SkuApiGetResponseSchema, SkuApiGetReviewAvailableParams, SkuApiGetReviewAvailableResponse, SkuApiGetReviewAvailableResponseSchema, SkuApiGetSimilarParams, SkuApiGetSimilarResponse, SkuApiGetSimilarResponseSchema, SkuApiInstallment, SkuApiInstallmentSchema, SkuApiShop, SkuApiShopSchema, SkuApiSimilarItem, SkuApiSimilarItemSchema, SkuApiStockAvailability, SkuApiStockAvailabilitySchema, SkuApiTag, SkuApiTagSchema, SkuStockAvailabilityType, SkuStockAvailabilityTypeSchema, SortOption, TeezApiError, TeezApiErrorOptions, TeezClient, TeezClientConfig, TeezError, TeezNetworkError, TeezNetworkErrorOptions, TeezTimeoutError, TeezTimeoutErrorOptions, TeezValidationError, TeezValidationErrorOptions, TeezValidationIssue, buildHeaders, buildUserAgent, resolveConfig };
4494
+ //# sourceMappingURL=index.d.mts.map