@commercengine/storefront-sdk 0.13.4 → 0.14.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.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,747 @@
1
1
  import createClient, { Middleware } from "openapi-fetch";
2
2
 
3
+ //#region src/lib/storage/token-storage.d.ts
4
+ /**
5
+ * Token storage interface for the auth middleware
6
+ */
7
+ interface TokenStorage {
8
+ getAccessToken(): Promise<string | null>;
9
+ setAccessToken(token: string): Promise<void>;
10
+ getRefreshToken(): Promise<string | null>;
11
+ setRefreshToken(token: string): Promise<void>;
12
+ clearTokens(): Promise<void>;
13
+ }
14
+ /**
15
+ * Simple in-memory token storage implementation
16
+ */
17
+ declare class MemoryTokenStorage implements TokenStorage {
18
+ private accessToken;
19
+ private refreshToken;
20
+ getAccessToken(): Promise<string | null>;
21
+ setAccessToken(token: string): Promise<void>;
22
+ getRefreshToken(): Promise<string | null>;
23
+ setRefreshToken(token: string): Promise<void>;
24
+ clearTokens(): Promise<void>;
25
+ }
26
+ /**
27
+ * Browser localStorage token storage implementation
28
+ */
29
+ declare class BrowserTokenStorage implements TokenStorage {
30
+ private accessTokenKey;
31
+ private refreshTokenKey;
32
+ constructor(prefix?: string);
33
+ getAccessToken(): Promise<string | null>;
34
+ setAccessToken(token: string): Promise<void>;
35
+ getRefreshToken(): Promise<string | null>;
36
+ setRefreshToken(token: string): Promise<void>;
37
+ clearTokens(): Promise<void>;
38
+ }
39
+ /**
40
+ * Cookie-based token storage implementation
41
+ */
42
+ declare class CookieTokenStorage implements TokenStorage {
43
+ private accessTokenKey;
44
+ private refreshTokenKey;
45
+ private options;
46
+ constructor(options?: CookieTokenStorageOptions);
47
+ getAccessToken(): Promise<string | null>;
48
+ setAccessToken(token: string): Promise<void>;
49
+ getRefreshToken(): Promise<string | null>;
50
+ setRefreshToken(token: string): Promise<void>;
51
+ clearTokens(): Promise<void>;
52
+ private getCookie;
53
+ private setCookie;
54
+ private deleteCookie;
55
+ }
56
+ /**
57
+ * Configuration options for CookieTokenStorage
58
+ */
59
+ interface CookieTokenStorageOptions {
60
+ /**
61
+ * Prefix for cookie names (default: "storefront_")
62
+ */
63
+ prefix?: string;
64
+ /**
65
+ * Maximum age of cookies in seconds (default: 7 days)
66
+ */
67
+ maxAge?: number;
68
+ /**
69
+ * Cookie path (default: "/")
70
+ */
71
+ path?: string;
72
+ /**
73
+ * Cookie domain (default: current domain)
74
+ */
75
+ domain?: string;
76
+ /**
77
+ * Whether cookies should be secure (default: auto-detect based on protocol)
78
+ */
79
+ secure?: boolean;
80
+ /**
81
+ * SameSite cookie attribute (default: "Lax")
82
+ */
83
+ sameSite?: "Strict" | "Lax" | "None";
84
+ }
85
+ //#endregion
86
+ //#region src/lib/session/jwt-utils.d.ts
87
+ /**
88
+ * Channel information from JWT token
89
+ */
90
+ interface Channel {
91
+ id: string;
92
+ name: string;
93
+ type: string;
94
+ }
95
+ /**
96
+ * User information extracted from JWT token
97
+ */
98
+ interface UserInfo {
99
+ id: string;
100
+ email: string | null;
101
+ phone: string | null;
102
+ username: string;
103
+ firstName: string | null;
104
+ lastName: string | null;
105
+ storeId: string;
106
+ isLoggedIn: boolean;
107
+ isAnonymous: boolean;
108
+ customerId: string | null;
109
+ customerGroupId: string | null;
110
+ anonymousId: string;
111
+ channel: Channel;
112
+ tokenExpiry: Date;
113
+ tokenIssuedAt: Date;
114
+ }
115
+ //#endregion
116
+ //#region src/lib/session/manager.d.ts
117
+ /**
118
+ * Public session helpers exposed as `sdk.session`.
119
+ *
120
+ * These methods are split into two groups:
121
+ * - `peek*`: passive lookups that never create or refresh tokens
122
+ * - `ensure*`: active helpers that may create or refresh tokens when automatic
123
+ * token management is enabled. They throw when no session can be established.
124
+ */
125
+ interface StorefrontSession {
126
+ /**
127
+ * Read the current access token without creating a new session.
128
+ *
129
+ * @returns The current access token, or `null` when no token is available
130
+ */
131
+ peekAccessToken(): Promise<string | null>;
132
+ /**
133
+ * Read the current refresh token without creating a new session.
134
+ *
135
+ * @returns The current refresh token, or `null` when no token is available
136
+ */
137
+ peekRefreshToken(): Promise<string | null>;
138
+ /**
139
+ * Read user information from the current token without creating a new session.
140
+ *
141
+ * @returns Decoded user information, or `null` when no token is available
142
+ */
143
+ peekUserInfo(): Promise<UserInfo | null>;
144
+ /**
145
+ * Read the current user ID without creating a new session.
146
+ *
147
+ * @returns The current user ID, or `null` when no token is available
148
+ */
149
+ peekUserId(): Promise<string | null>;
150
+ /**
151
+ * Read the current customer ID without creating a new session.
152
+ *
153
+ * @returns The current customer ID, or `null` when no token is available
154
+ */
155
+ peekCustomerId(): Promise<string | null>;
156
+ /**
157
+ * Read the current customer group ID without creating a new session.
158
+ *
159
+ * @returns The current customer group ID, or `null` when no token is available
160
+ */
161
+ peekCustomerGroupId(): Promise<string | null>;
162
+ /**
163
+ * Ensure an access token is available for the current session.
164
+ *
165
+ * In managed mode, this may create an anonymous session or refresh an expired
166
+ * token. In manual mode, it only returns the currently configured token.
167
+ *
168
+ * @returns A usable access token
169
+ * @throws When no session can be established
170
+ */
171
+ ensureAccessToken(): Promise<string>;
172
+ /**
173
+ * Ensure user information is available for the current session.
174
+ *
175
+ * @returns Decoded user information
176
+ * @throws When no session can be established
177
+ */
178
+ ensureUserInfo(): Promise<UserInfo>;
179
+ /**
180
+ * Ensure a user ID is available for the current session.
181
+ *
182
+ * @returns The current user ID
183
+ * @throws When no session can be established
184
+ */
185
+ ensureUserId(): Promise<string>;
186
+ /**
187
+ * Ensure a customer ID is available for the current session.
188
+ *
189
+ * @returns The current customer ID
190
+ * @throws When the user is anonymous or no session can be established
191
+ */
192
+ ensureCustomerId(): Promise<string>;
193
+ /**
194
+ * Clear all known session tokens.
195
+ */
196
+ clear(): Promise<void>;
197
+ }
198
+ interface SessionManagerOptions {
199
+ accessToken?: string;
200
+ apiKey?: string;
201
+ baseUrl: string;
202
+ onTokensCleared?: () => void;
203
+ onTokensUpdated?: (accessToken: string, refreshToken: string) => void;
204
+ refreshToken?: string;
205
+ tokenStorage?: TokenStorage;
206
+ /**
207
+ * Custom function to refresh tokens.
208
+ * When provided, this is used instead of the default fetch to `/auth/refresh-token`.
209
+ */
210
+ refreshTokenFn?: (refreshToken: string) => Promise<{
211
+ access_token: string;
212
+ refresh_token: string;
213
+ }>;
214
+ }
215
+ /**
216
+ * Internal per-SDK session controller.
217
+ *
218
+ * A single instance is shared by all API clients created from the same
219
+ * `SessionStorefrontSDK`. This keeps refresh locks, token assessment, and session
220
+ * bootstrap logic coordinated in one place while preserving optional manual
221
+ * token management when `tokenStorage` is not provided.
222
+ */
223
+ declare class StorefrontSessionManager implements StorefrontSession {
224
+ private readonly tokenStorage?;
225
+ private readonly onTokensUpdated?;
226
+ private readonly onTokensCleared?;
227
+ private readonly baseUrl;
228
+ private readonly refreshTokenFn?;
229
+ private apiKey?;
230
+ private accessToken;
231
+ private refreshToken;
232
+ private initializationPromise;
233
+ private refreshPromise;
234
+ private bootstrapPromise;
235
+ private hasAssessedTokens;
236
+ constructor(options: SessionManagerOptions);
237
+ /**
238
+ * Update the API key used by session bootstrap and refresh flows.
239
+ */
240
+ setApiKey(apiKey: string): void;
241
+ /**
242
+ * Remove the API key used by session bootstrap and refresh flows.
243
+ */
244
+ clearApiKey(): void;
245
+ /**
246
+ * Create the auth middleware used by each API client.
247
+ *
248
+ * The returned middleware shares the same session state and refresh locking
249
+ * across all clients attached to a single `SessionStorefrontSDK` instance.
250
+ */
251
+ createAuthMiddleware(): Middleware;
252
+ /**
253
+ * Read the current authorization header without creating a new session.
254
+ *
255
+ * @returns A `Bearer` header value, or an empty string when no token exists
256
+ */
257
+ getAuthorizationHeader(): Promise<string>;
258
+ /**
259
+ * Persist new session tokens.
260
+ *
261
+ * In managed mode, tokens are written to the configured token storage. In
262
+ * manual mode, they are stored in memory for header injection and session
263
+ * inspection.
264
+ */
265
+ setTokens(accessToken: string, refreshToken?: string): Promise<void>;
266
+ /**
267
+ * Clear all session tokens managed by this controller.
268
+ */
269
+ clearTokens(): Promise<void>;
270
+ /**
271
+ * Clear all session tokens through the public session interface.
272
+ */
273
+ clear(): Promise<void>;
274
+ peekAccessToken(): Promise<string | null>;
275
+ peekRefreshToken(): Promise<string | null>;
276
+ peekUserInfo(): Promise<UserInfo | null>;
277
+ peekUserId(): Promise<string | null>;
278
+ peekCustomerId(): Promise<string | null>;
279
+ peekCustomerGroupId(): Promise<string | null>;
280
+ ensureAccessToken(): Promise<string>;
281
+ ensureUserInfo(): Promise<UserInfo>;
282
+ ensureUserId(): Promise<string>;
283
+ ensureCustomerId(): Promise<string>;
284
+ private handleRequest;
285
+ private handleResponse;
286
+ private prepareAnonymousAuthRequest;
287
+ private applyApiKeyHeader;
288
+ /**
289
+ * Snapshot the effective token pair from storage (managed mode) or
290
+ * in-memory fields (manual mode). Used before and after `setTokens()` to
291
+ * detect whether the tokens actually changed.
292
+ */
293
+ private getCurrentTokenState;
294
+ /**
295
+ * Fire `onTokensUpdated` only when the effective token pair differs from
296
+ * the previous snapshot. This prevents duplicate notifications when
297
+ * `setTokens()` is called with the same values already in storage.
298
+ */
299
+ private notifyTokensUpdatedIfChanged;
300
+ /**
301
+ * Internal token acquisition — returns null on failure instead of throwing.
302
+ * Used by middleware so requests degrade gracefully.
303
+ */
304
+ private getOrCreateAccessToken;
305
+ private initializeManagedTokens;
306
+ private awaitInitialization;
307
+ private assessTokenStateOnce;
308
+ private bootstrapAnonymousSession;
309
+ private refreshTokens;
310
+ private captureTokensFromResponse;
311
+ private storeManagedTokens;
312
+ }
313
+ //#endregion
314
+ //#region ../sdk-core/dist/index.d.mts
315
+ //#region src/types/api.d.ts
316
+ /**
317
+ * Core API response types shared across Commerce Engine SDKs
318
+ */
319
+ /**
320
+ * Standard API error response structure
321
+ */
322
+ interface ApiErrorResponse {
323
+ success?: boolean;
324
+ error?: any;
325
+ code?: string;
326
+ message?: string;
327
+ }
328
+ /**
329
+ * Generic API result type that wraps all SDK responses
330
+ * Provides consistent error handling and response structure
331
+ */
332
+ type ApiResult<T> = {
333
+ data: T;
334
+ error: null;
335
+ response: Response;
336
+ } | {
337
+ data: null;
338
+ error: ApiErrorResponse;
339
+ response: Response;
340
+ }; //#endregion
341
+ //#region src/types/logger.d.ts
342
+ /**
343
+ * Logger-related types for Commerce Engine SDKs
344
+ */
345
+ /**
346
+ * Debug logger function interface
347
+ */
348
+ interface DebugLoggerFn {
349
+ (level: "info" | "warn" | "error", message: string, data?: any): void;
350
+ } //#endregion
351
+ //#region src/types/config.d.ts
352
+ /**
353
+ * Base SDK configuration options for any OpenAPI-based SDK
354
+ * Completely generic - no assumptions about the underlying API
355
+ */
356
+ interface BaseSDKOptions<TDefaultHeaders extends Record<string, any> = Record<string, any>> {
357
+ /**
358
+ * Base URL for the API
359
+ */
360
+ baseUrl?: string;
361
+ /**
362
+ * Optional timeout in milliseconds
363
+ */
364
+ timeout?: number;
365
+ /**
366
+ * Default headers to include with API requests
367
+ * These can be overridden at the method level
368
+ * Generic type allows each SDK to define its supported headers
369
+ */
370
+ defaultHeaders?: TDefaultHeaders;
371
+ /**
372
+ * Enable debug mode for detailed request/response logging
373
+ */
374
+ debug?: boolean;
375
+ /**
376
+ * Custom logger function for debug information
377
+ */
378
+ logger?: DebugLoggerFn;
379
+ }
380
+ /**
381
+ * Header configuration for SDK clients
382
+ * Defines supported headers and optional transformations
383
+ */
384
+ interface HeaderConfig<T extends Record<string, any>> {
385
+ /**
386
+ * Default headers from SDK configuration
387
+ */
388
+ defaultHeaders?: T;
389
+ /**
390
+ * Optional transformations to apply to header names
391
+ * Maps SDK parameter names to HTTP header names
392
+ */
393
+ transformations?: Record<keyof T, string>;
394
+ } //#endregion
395
+ //#region src/base-client.d.ts
396
+ /**
397
+ * Generic base API client that all Commerce Engine SDKs can extend
398
+ * Handles common functionality like middleware setup, request execution, and header management
399
+ * Does NOT include token management - that's SDK-specific
400
+ *
401
+ * @template TPaths - OpenAPI paths type
402
+ * @template THeaders - Supported default headers type
403
+ */
404
+ declare class BaseAPIClient<TPaths extends Record<string, any>, THeaders extends Record<string, any> = Record<string, any>> {
405
+ protected client: ReturnType<typeof createClient<TPaths>>;
406
+ protected config: BaseSDKOptions<THeaders>;
407
+ protected readonly baseUrl: string;
408
+ private readonly headerTransformations;
409
+ /**
410
+ * Create a new BaseAPIClient
411
+ *
412
+ * @param config - Configuration for the API client
413
+ * @param baseUrl - The base URL for the API (must be provided by subclass)
414
+ * @param headerTransformations - Header name transformations for this SDK
415
+ */
416
+ constructor(config: BaseSDKOptions<THeaders>, baseUrl: string, headerTransformations?: Record<keyof THeaders, string>);
417
+ /**
418
+ * Set up all middleware for the client
419
+ */
420
+ private setupMiddleware;
421
+ /**
422
+ * Get the base URL of the API
423
+ *
424
+ * @returns The base URL of the API
425
+ */
426
+ getBaseUrl(): string;
427
+ /**
428
+ * Execute a request and handle the response consistently
429
+ * This provides unified error handling and response processing
430
+ *
431
+ * @param apiCall - Function that executes the API request
432
+ * @returns Promise with the API response in standardized format
433
+ */
434
+ protected executeRequest<T, M = string, S = boolean>(apiCall: () => Promise<{
435
+ data?: {
436
+ message?: M;
437
+ success?: S;
438
+ content?: T;
439
+ };
440
+ error?: any;
441
+ response: Response;
442
+ }>): Promise<ApiResult<T>>;
443
+ /**
444
+ * Merge default headers with method-level headers
445
+ * Method-level headers take precedence over default headers
446
+ * Automatically applies SDK-specific header transformations
447
+ *
448
+ * @param methodHeaders - Headers passed to the specific method call
449
+ * @returns Merged headers object with proper HTTP header names
450
+ */
451
+ protected mergeHeaders<T extends Record<string, any> = Record<string, any>>(methodHeaders?: T): T;
452
+ /**
453
+ * Set default headers for the client
454
+ *
455
+ * @param headers - Default headers to set
456
+ */
457
+ setDefaultHeaders(headers: THeaders): void;
458
+ /**
459
+ * Get current default headers
460
+ *
461
+ * @returns Current default headers
462
+ */
463
+ getDefaultHeaders(): THeaders | undefined;
464
+ } //#endregion
465
+ //#region src/utils/url.d.ts
466
+ /**
467
+ * Generic URL utility functions for any SDK
468
+ */
469
+ /**
470
+ * Extract pathname from URL
471
+ * Useful for middleware that needs to inspect request paths
472
+ */
473
+ declare function getPathnameFromUrl(url: string): string; //#endregion
474
+ //#region src/utils/response.d.ts
475
+ /**
476
+ * Execute a request and handle the response consistently
477
+ * This provides unified error handling and response processing across all SDKs
478
+ *
479
+ * @param apiCall - Function that executes the API request
480
+ * @returns Promise with the API response in standardized format
481
+ */
482
+ declare function executeRequest<T, M = string, S = boolean>(apiCall: () => Promise<{
483
+ data?: {
484
+ message?: M;
485
+ success?: S;
486
+ content?: T;
487
+ };
488
+ error?: ApiErrorResponse;
489
+ response: Response;
490
+ }>): Promise<ApiResult<T>>; //#endregion
491
+ //#region src/middleware/debug.d.ts
492
+ /**
493
+ * Response utilities for debugging and working with Response objects
494
+ */
495
+ declare class ResponseUtils {
496
+ /**
497
+ * Get response headers as a plain object
498
+ */
499
+ static getHeaders(response: Response): Record<string, string>;
500
+ /**
501
+ * Get specific header value
502
+ */
503
+ static getHeader(response: Response, name: string): string | null;
504
+ /**
505
+ * Check if response was successful
506
+ */
507
+ static isSuccess(response: Response): boolean;
508
+ /**
509
+ * Get response metadata
510
+ */
511
+ static getMetadata(response: Response): {
512
+ status: number;
513
+ statusText: string;
514
+ ok: boolean;
515
+ url: string;
516
+ redirected: boolean;
517
+ type: ResponseType;
518
+ headers: {
519
+ [k: string]: string;
520
+ };
521
+ };
522
+ /**
523
+ * Clone and read response as text (useful for debugging)
524
+ * Note: This can only be called once per response
525
+ */
526
+ static getText(response: Response): Promise<string>;
527
+ /**
528
+ * Clone and read response as JSON (useful for debugging)
529
+ * Note: This can only be called once per response
530
+ */
531
+ static getJSON(response: Response): Promise<any>;
532
+ /**
533
+ * Format response information for debugging
534
+ */
535
+ static format(response: Response): string;
536
+ /**
537
+ * Format response for logging purposes (enhanced version)
538
+ */
539
+ static formatResponse(response: Response): Record<string, any>;
540
+ }
541
+ /**
542
+ * Debug logging utilities
543
+ */
544
+ declare class DebugLogger {
545
+ private logger;
546
+ constructor(logger?: DebugLoggerFn);
547
+ /**
548
+ * Log debug information about API request
549
+ */
550
+ logRequest(request: Request, requestBody?: any): void;
551
+ /**
552
+ * Log debug information about API response
553
+ */
554
+ logResponse(response: Response, responseBody?: any): Promise<void>;
555
+ /**
556
+ * Log error information
557
+ */
558
+ logError(message: string, error: any): void;
559
+ /**
560
+ * Compatibility shim retained for older internal callers.
561
+ * Response bodies are no longer cached by the debug logger.
562
+ */
563
+ getCachedResponseText(_url: string): string | null;
564
+ /**
565
+ * Compatibility shim retained for older internal callers.
566
+ * Response bodies are no longer cached by the debug logger.
567
+ */
568
+ clearCache(): void;
569
+ info(message: string, data?: any): void;
570
+ warn(message: string, data?: any): void;
571
+ error(message: string, data?: any): void;
572
+ }
573
+ /**
574
+ * Extract request body for logging
575
+ */
576
+ declare function extractRequestBody(request: Request): Promise<any>;
577
+ /**
578
+ * Create debug middleware for openapi-fetch (internal use)
579
+ * Enhanced version that combines original functionality with duration tracking
580
+ */
581
+ declare function createDebugMiddleware(logger?: DebugLoggerFn): Middleware; //#endregion
582
+ //#region src/middleware/timeout.d.ts
583
+ /**
584
+ * Timeout middleware for Commerce Engine SDKs
585
+ */
586
+ /**
587
+ * Create timeout middleware for openapi-fetch
588
+ * Adds configurable request timeout functionality
589
+ *
590
+ * @param timeoutMs - Timeout duration in milliseconds
591
+ * @returns Middleware object with onRequest handler
592
+ */
593
+ declare function createTimeoutMiddleware(timeoutMs: number): {
594
+ onRequest: ({
595
+ request
596
+ }: {
597
+ request: Request;
598
+ }) => Promise<Request>;
599
+ onResponse: ({
600
+ request,
601
+ response
602
+ }: {
603
+ request: Request;
604
+ response: Response;
605
+ }) => Promise<Response>;
606
+ onError: ({
607
+ request,
608
+ error
609
+ }: {
610
+ request: Request;
611
+ error: unknown;
612
+ }) => Promise<never>;
613
+ }; //#endregion
614
+ //#region src/middleware/headers.d.ts
615
+ /**
616
+ * Header transformation and merging utilities for Commerce Engine SDKs
617
+ */
618
+ /**
619
+ * Merge two header objects
620
+ * Method-level headers take precedence over default headers
621
+ *
622
+ * @param defaultHeaders - Default headers from SDK configuration
623
+ * @param methodHeaders - Headers passed to the specific method call
624
+ * @returns Merged headers object
625
+ */
626
+ declare function mergeHeaders<T extends Record<string, any> = Record<string, any>>(defaultHeaders?: Record<string, any>, methodHeaders?: T): T;
627
+ /**
628
+ * Transform headers using a transformation mapping
629
+ * Headers not in the transformation map are passed through unchanged
630
+ *
631
+ * @param headers - Headers object with original names
632
+ * @param transformations - Mapping of original names to transformed names
633
+ * @returns Headers object with transformed names
634
+ */
635
+ declare function transformHeaders(headers: Record<string, any>, transformations: Record<string, string>): Record<string, string>;
636
+ /**
637
+ * Merge headers with transformation support
638
+ * Transforms default headers, then merges with method headers
639
+ *
640
+ * @param defaultHeaders - Default headers from SDK configuration
641
+ * @param methodHeaders - Headers passed to the specific method call
642
+ * @param transformations - Mapping for header name transformations
643
+ * @returns Merged headers object with transformations applied
644
+ */
645
+ declare function mergeAndTransformHeaders<T extends Record<string, any> = Record<string, any>>(defaultHeaders?: Record<string, any>, methodHeaders?: T, transformations?: Record<string, string>): T; //#endregion
646
+ //#endregion
647
+ //#region src/lib/shared/url-utils.d.ts
648
+ /**
649
+ * URL utility functions for the Storefront SDK
650
+ */
651
+ /**
652
+ * Available API environments for Commerce Engine
653
+ */
654
+ declare enum Environment {
655
+ /**
656
+ * Staging environment
657
+ */
658
+ Staging = "staging",
659
+ /**
660
+ * Production environment
661
+ */
662
+ Production = "production"
663
+ }
664
+ //#endregion
665
+ //#region src/lib/shared/sdk-types.d.ts
666
+ /**
667
+ * Supported default headers that can be set at the SDK level
668
+ * Only includes headers that are actually supported by API endpoints
669
+ */
670
+ interface SupportedDefaultHeaders {
671
+ /**
672
+ * Customer group ID used for pricing, promotions, and subscription rates
673
+ * If not provided, the API will use default pricing
674
+ */
675
+ customer_group_id?: string;
676
+ /**
677
+ * Debug mode header
678
+ */
679
+ debug_mode?: boolean;
680
+ }
681
+ /**
682
+ * SDK initialization options for the public Storefront API surface
683
+ * Extends the generic BaseSDKOptions with Commerce Engine configuration
684
+ */
685
+ interface PublicStorefrontSDKOptions extends BaseSDKOptions<SupportedDefaultHeaders> {
686
+ /**
687
+ * Store ID for the API requests
688
+ */
689
+ storeId: string;
690
+ /**
691
+ * Environment to use (defaults to Production)
692
+ * Overrides baseUrl if provided
693
+ */
694
+ environment?: Environment;
695
+ /**
696
+ * Custom base URL (overrides environment if provided)
697
+ * If not provided, will be built from storeId and environment
698
+ */
699
+ baseUrl?: string;
700
+ /**
701
+ * X-Api-Key used for public storefront requests
702
+ */
703
+ apiKey?: string;
704
+ }
705
+ /**
706
+ * SDK initialization options for the session-aware Storefront API
707
+ * Extends the generic BaseSDKOptions with Commerce Engine and auth-specific features
708
+ */
709
+ interface SessionStorefrontSDKOptions extends PublicStorefrontSDKOptions {
710
+ /**
711
+ * Optional initial access token
712
+ * - If tokenStorage is provided: Used as initial token value, then managed automatically
713
+ * - If tokenStorage is not provided: Used for manual token management
714
+ */
715
+ accessToken?: string;
716
+ /**
717
+ * Optional initial refresh token
718
+ * - Only used when tokenStorage is provided
719
+ * - Allows initialization with both access and refresh tokens
720
+ */
721
+ refreshToken?: string;
722
+ /**
723
+ * Optional token storage for automatic token management
724
+ * If provided, enables automatic token refresh and management
725
+ */
726
+ tokenStorage?: TokenStorage;
727
+ /**
728
+ * Callback when tokens are updated (login/refresh)
729
+ */
730
+ onTokensUpdated?: (accessToken: string, refreshToken: string) => void;
731
+ /**
732
+ * Callback when tokens are cleared (logout/error)
733
+ */
734
+ onTokensCleared?: () => void;
735
+ /**
736
+ * Custom function to refresh tokens.
737
+ * When provided, this is used instead of the default fetch to `/auth/refresh-token`.
738
+ */
739
+ refreshTokenFn?: (refreshToken: string) => Promise<{
740
+ access_token: string;
741
+ refresh_token: string;
742
+ }>;
743
+ }
744
+ //#endregion
3
745
  //#region src/types/storefront.d.ts
4
746
  /**
5
747
  * This file was auto-generated by openapi-typescript.
@@ -382,34 +1124,6 @@ interface paths {
382
1124
  patch?: never;
383
1125
  trace?: never;
384
1126
  };
385
- "/auth/user/{id}/notification-preferences": {
386
- parameters: {
387
- query?: never;
388
- header?: never;
389
- path?: never;
390
- cookie?: never;
391
- };
392
- /**
393
- * Retrieve user notification preferences
394
- * @description Retrieves the notification preferences for a user.
395
- */
396
- get: operations["get-notification-preferences"];
397
- /**
398
- * Update user notification preferences
399
- * @description Updates notification preferences for a user.
400
- */
401
- put: operations["update-notification-preferences"];
402
- /**
403
- * Create user notification preferences
404
- * @description Creates notification preferences for a user.
405
- */
406
- post: operations["create-notification-preferences"];
407
- delete?: never;
408
- options?: never;
409
- head?: never;
410
- patch?: never;
411
- trace?: never;
412
- };
413
1127
  "/auth/user/{id}/profile-image": {
414
1128
  parameters: {
415
1129
  query?: never;
@@ -1075,7 +1789,7 @@ interface paths {
1075
1789
  };
1076
1790
  /**
1077
1791
  * List all products
1078
- * @description Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.
1792
+ * @description Returns a paginated list of `Product` objects sorted by creation date (newest first). Pass `x-customer-group-id` header to retrieve group-specific pricing.
1079
1793
  */
1080
1794
  get: operations["list-products"];
1081
1795
  put?: never;
@@ -1175,7 +1889,7 @@ interface paths {
1175
1889
  };
1176
1890
  /**
1177
1891
  * Retrieve a product detail
1178
- * @description Retrieves the details of an existing product. Product slug is supported in place of product ID in the path. Commerce Engine returns the corresponding product information.
1892
+ * @description Retrieves a single `ProductDetail` object by product ID or slug. Product slug is supported in place of product ID in the path. Includes full pricing, variants, images, attributes, and promotion data.
1179
1893
  */
1180
1894
  get: operations["get-product-detail"];
1181
1895
  put?: never;
@@ -1219,7 +1933,7 @@ interface paths {
1219
1933
  };
1220
1934
  /**
1221
1935
  * Retrieve product variants
1222
- * @description Retrieves the variants of an existing product. Product slug is supported in place of product ID in the path. Commerce Engine returns the corresponding product variants information.
1936
+ * @description Retrieves the variants of an existing product. Returns the corresponding variant list. Product slug is supported in place of product ID in the path.
1223
1937
  */
1224
1938
  get: operations["list-product-variants"];
1225
1939
  put?: never;
@@ -1330,6 +2044,58 @@ interface paths {
1330
2044
  patch?: never;
1331
2045
  trace?: never;
1332
2046
  };
2047
+ "/customers/{customer_id}/addresses": {
2048
+ parameters: {
2049
+ query?: never;
2050
+ header?: never;
2051
+ path?: never;
2052
+ cookie?: never;
2053
+ };
2054
+ /**
2055
+ * Retrieve all addresses
2056
+ * @description Retrieve billing and shipping address of particular customer
2057
+ */
2058
+ get: operations["list-addresses"];
2059
+ put?: never;
2060
+ /**
2061
+ * Create address
2062
+ * @description Add new address
2063
+ */
2064
+ post: operations["create-address"];
2065
+ delete?: never;
2066
+ options?: never;
2067
+ head?: never;
2068
+ patch?: never;
2069
+ trace?: never;
2070
+ };
2071
+ "/customers/{customer_id}/addresses/{address_id}": {
2072
+ parameters: {
2073
+ query?: never;
2074
+ header?: never;
2075
+ path?: never;
2076
+ cookie?: never;
2077
+ };
2078
+ /**
2079
+ * Retrieve particular address
2080
+ * @description Retrieve address
2081
+ */
2082
+ get: operations["get-address-detail"];
2083
+ /**
2084
+ * Update particular address
2085
+ * @description Update address
2086
+ */
2087
+ put: operations["update-address-detail"];
2088
+ post?: never;
2089
+ /**
2090
+ * Remove particular address
2091
+ * @description Delete address
2092
+ */
2093
+ delete: operations["delete-address"];
2094
+ options?: never;
2095
+ head?: never;
2096
+ patch?: never;
2097
+ trace?: never;
2098
+ };
1333
2099
  "/customers/{customer_id}/cards": {
1334
2100
  parameters: {
1335
2101
  query?: never;
@@ -1352,42 +2118,12 @@ interface paths {
1352
2118
  patch?: never;
1353
2119
  trace?: never;
1354
2120
  };
1355
- "/customers/{customer_id}/payment-methods": {
1356
- parameters: {
1357
- query?: never;
1358
- header?: never;
1359
- path: {
1360
- /** @description Customer Id */customer_id: string;
1361
- };
1362
- cookie?: never;
1363
- };
1364
- /**
1365
- * List all saved payment methods
1366
- * @description This endpoint acts as a proxy for JusPay's Fetch Saved Payment Methods API. It enables to securely retrieve a list of payment methods (such as saved cards, UPI handles, wallets) that have been previously stored for a given customer.
1367
- *
1368
- * The operation helps streamline the checkout flow by allowing users to quickly select from existing payment methods, reducing input friction and improving conversion.
1369
- *
1370
- * You can filter the results by payment method type using the payment_method query parameter. Multiple payment methods can be specified by separating them with commas (e.g., payment_method=upi_collect,card,wallet).
1371
- *
1372
- * API documentation of JusPay can be found at below link:
1373
- *
1374
- * https://juspay.io/in/docs/api-reference/docs/express-checkout/fetch-saved-payment-methods
1375
- */
1376
- get: operations["list-saved-payment-methods"];
1377
- put?: never;
1378
- post?: never;
1379
- delete?: never;
1380
- options?: never;
1381
- head?: never;
1382
- patch?: never;
1383
- trace?: never;
1384
- };
1385
- "/customers/{id}/documents": {
2121
+ "/customers/{customer_id}/documents": {
1386
2122
  parameters: {
1387
2123
  query?: never;
1388
2124
  header?: never;
1389
2125
  path: {
1390
- /** @description customer id */id: string;
2126
+ /** @description customer id */customer_id: string;
1391
2127
  };
1392
2128
  cookie?: never;
1393
2129
  };
@@ -1408,12 +2144,12 @@ interface paths {
1408
2144
  patch?: never;
1409
2145
  trace?: never;
1410
2146
  };
1411
- "/customers/{id}/documents/verify": {
2147
+ "/customers/{customer_id}/documents/verify": {
1412
2148
  parameters: {
1413
2149
  query?: never;
1414
2150
  header?: never;
1415
2151
  path: {
1416
- /** @description customer id */id: string;
2152
+ /** @description customer id */customer_id: string;
1417
2153
  };
1418
2154
  cookie?: never;
1419
2155
  };
@@ -1430,13 +2166,13 @@ interface paths {
1430
2166
  patch?: never;
1431
2167
  trace?: never;
1432
2168
  };
1433
- "/customers/{id}/documents/{document_id}": {
2169
+ "/customers/{customer_id}/documents/{document_id}": {
1434
2170
  parameters: {
1435
2171
  query?: never;
1436
2172
  header?: never;
1437
2173
  path: {
1438
- /** @description document id */document_id: string; /** @description customer id */
1439
- id: string;
2174
+ /** @description customer id */customer_id: string; /** @description document id */
2175
+ document_id: string;
1440
2176
  };
1441
2177
  cookie?: never;
1442
2178
  };
@@ -1461,7 +2197,7 @@ interface paths {
1461
2197
  patch?: never;
1462
2198
  trace?: never;
1463
2199
  };
1464
- "/customers/{user_id}/addresses": {
2200
+ "/customers/{customer_id}/loyalty": {
1465
2201
  parameters: {
1466
2202
  query?: never;
1467
2203
  header?: never;
@@ -1469,51 +2205,19 @@ interface paths {
1469
2205
  cookie?: never;
1470
2206
  };
1471
2207
  /**
1472
- * Retrieve all addresses
1473
- * @description Retrieve billing and shipping address of particular customer
2208
+ * Retrieve loyalty details
2209
+ * @description Retrieve loyalty details
1474
2210
  */
1475
- get: operations["list-addresses"];
2211
+ get: operations["get-loyalty-details"];
1476
2212
  put?: never;
1477
- /**
1478
- * Create address
1479
- * @description Add new address
1480
- */
1481
- post: operations["create-address"];
1482
- delete?: never;
1483
- options?: never;
1484
- head?: never;
1485
- patch?: never;
1486
- trace?: never;
1487
- };
1488
- "/customers/{user_id}/addresses/{address_id}": {
1489
- parameters: {
1490
- query?: never;
1491
- header?: never;
1492
- path?: never;
1493
- cookie?: never;
1494
- };
1495
- /**
1496
- * Retrieve particular address
1497
- * @description Retrieve address
1498
- */
1499
- get: operations["get-address-detail"];
1500
- /**
1501
- * Update particular address
1502
- * @description Update address
1503
- */
1504
- put: operations["update-address-detail"];
1505
2213
  post?: never;
1506
- /**
1507
- * Remove particular address
1508
- * @description Delete address
1509
- */
1510
- delete: operations["delete-address"];
2214
+ delete?: never;
1511
2215
  options?: never;
1512
2216
  head?: never;
1513
2217
  patch?: never;
1514
2218
  trace?: never;
1515
2219
  };
1516
- "/customers/{user_id}/loyalty": {
2220
+ "/customers/{customer_id}/loyalty-points-activity": {
1517
2221
  parameters: {
1518
2222
  query?: never;
1519
2223
  header?: never;
@@ -1521,10 +2225,10 @@ interface paths {
1521
2225
  cookie?: never;
1522
2226
  };
1523
2227
  /**
1524
- * Retrieve loyalty details
1525
- * @description Retrieve loyalty details
2228
+ * List all loyalty points activity
2229
+ * @description List all loyalty points activity
1526
2230
  */
1527
- get: operations["get-loyalty-details"];
2231
+ get: operations["list-loyalty-activities"];
1528
2232
  put?: never;
1529
2233
  post?: never;
1530
2234
  delete?: never;
@@ -1533,18 +2237,28 @@ interface paths {
1533
2237
  patch?: never;
1534
2238
  trace?: never;
1535
2239
  };
1536
- "/customers/{user_id}/loyalty-points-activity": {
2240
+ "/customers/{customer_id}/payment-methods": {
1537
2241
  parameters: {
1538
2242
  query?: never;
1539
2243
  header?: never;
1540
- path?: never;
2244
+ path: {
2245
+ /** @description Customer Id */customer_id: string;
2246
+ };
1541
2247
  cookie?: never;
1542
2248
  };
1543
2249
  /**
1544
- * List all loyalty points activity
1545
- * @description List all loyalty points activity
2250
+ * List all saved payment methods
2251
+ * @description This endpoint acts as a proxy for JusPay's Fetch Saved Payment Methods API. It enables to securely retrieve a list of payment methods (such as saved cards, UPI handles, wallets) that have been previously stored for a given customer.
2252
+ *
2253
+ * The operation helps streamline the checkout flow by allowing users to quickly select from existing payment methods, reducing input friction and improving conversion.
2254
+ *
2255
+ * You can filter the results by payment method type using the payment_method query parameter. Multiple payment methods can be specified by separating them with commas (e.g., payment_method=upi_collect,card,wallet).
2256
+ *
2257
+ * API documentation of JusPay can be found at below link:
2258
+ *
2259
+ * https://juspay.io/in/docs/api-reference/docs/express-checkout/fetch-saved-payment-methods
1546
2260
  */
1547
- get: operations["list-loyalty-activities"];
2261
+ get: operations["list-saved-payment-methods"];
1548
2262
  put?: never;
1549
2263
  post?: never;
1550
2264
  delete?: never;
@@ -1553,7 +2267,7 @@ interface paths {
1553
2267
  patch?: never;
1554
2268
  trace?: never;
1555
2269
  };
1556
- "/customers/{user_id}/reviews": {
2270
+ "/customers/{customer_id}/reviews": {
1557
2271
  parameters: {
1558
2272
  query?: never;
1559
2273
  header?: never;
@@ -1564,7 +2278,7 @@ interface paths {
1564
2278
  * Retrieve all reviews
1565
2279
  * @description Retrieve all reviews
1566
2280
  */
1567
- get: operations["list-user-reviews"];
2281
+ get: operations["list-customer-reviews"];
1568
2282
  put?: never;
1569
2283
  post?: never;
1570
2284
  delete?: never;
@@ -2883,8 +3597,8 @@ interface paths {
2883
3597
  cookie?: never;
2884
3598
  };
2885
3599
  /**
2886
- * List all kyc documents
2887
- * @description List all kyc documents added for a particular store.
3600
+ * List KYC documents
3601
+ * @description Retrieves the list of KYC document types required for the store. Returns an array of `Kyc Document` objects defining document types, mandatory flags, and verification settings.
2888
3602
  */
2889
3603
  get: operations["list-kyc-document"];
2890
3604
  put?: never;
@@ -4444,16 +5158,6 @@ interface components {
4444
5158
  pm_response_description: string;
4445
5159
  supported_reference_ids: string[];
4446
5160
  wallet_direct_debit_support?: boolean;
4447
- }; /** KycDocument */
4448
- KycDocument: {
4449
- id?: $Read<string>; /** @enum {unknown} */
4450
- document_type?: "gst" | "pan" | "tin" | "cin" | "other";
4451
- title?: string;
4452
- description?: string | null; /** @default true */
4453
- active: boolean;
4454
- is_mandatory?: boolean;
4455
- is_attachment_required?: boolean; /** @enum {unknown} */
4456
- verification_type?: "auto" | "manual";
4457
5161
  }; /** KycDocumentConfig */
4458
5162
  KycDocumentConfig: {
4459
5163
  id: $Read<string>; /** @enum {unknown} */
@@ -4511,11 +5215,7 @@ interface components {
4511
5215
  seller_id: string;
4512
5216
  seller_detail: components["schemas"]["SellerInfo"];
4513
5217
  }; /** MarketplaceProductDetail */
4514
- MarketplaceProductDetail: components["schemas"]["Product"] & components["schemas"]["AdditionalProductDetails"]; /** MeasurementUnit */
4515
- MeasurementUnit: {
4516
- /** @enum {unknown} */weight?: "gm"; /** @enum {unknown} */
4517
- dimension?: "cm";
4518
- };
5218
+ MarketplaceProductDetail: components["schemas"]["Product"] & components["schemas"]["AdditionalProductDetails"];
4519
5219
  /**
4520
5220
  * MultiSelectAttribute
4521
5221
  * @description Attribute for multi-select values
@@ -4841,6 +5541,10 @@ interface components {
4841
5541
  modified_at?: string; /** @description Seller ID. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores. */
4842
5542
  seller_id?: string | null; /** @description Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores. */
4843
5543
  seller_detail?: components["schemas"]["SellerInfo"] | null;
5544
+ }; /** OtpContent */
5545
+ OtpContent: {
5546
+ /** @description Token to pass to the verify-otp endpoint along with the OTP. */otp_token: string; /** @description Action type to pass to the verify-otp endpoint. */
5547
+ otp_action: string;
4844
5548
  };
4845
5549
  /**
4846
5550
  * @description pagination metadata structure
@@ -5472,6 +6176,13 @@ interface components {
5472
6176
  SellerReviewStats: {
5473
6177
  rating_sum?: number;
5474
6178
  count?: number;
6179
+ }; /** SendOtpWithEmail */
6180
+ SendOtpWithEmail: {
6181
+ email: string;
6182
+ }; /** SendOtpWithPhone */
6183
+ SendOtpWithPhone: {
6184
+ /** @description 10 digit phone number without country code. */phone: string; /** @description Two-letter code with plus sign prefix (e.g. +91). Defaults to +91 if omitted. Use with `phone` only. */
6185
+ country_code?: string;
5475
6186
  }; /** Seo */
5476
6187
  Seo: {
5477
6188
  title: string | null;
@@ -5535,7 +6246,6 @@ interface components {
5535
6246
  kyc_documents: $Read<components["schemas"]["KycDocumentConfig"][]>;
5536
6247
  analytics_providers: $Read<components["schemas"]["AnalyticsProvider"][]>;
5537
6248
  payment_providers: $Read<components["schemas"]["PaymentProvider"][]>;
5538
- measurement: components["schemas"]["MeasurementUnit"];
5539
6249
  terms_of_service: components["schemas"]["StoreTemplate"];
5540
6250
  refund_policy: components["schemas"]["StoreTemplate"];
5541
6251
  }; /** StoreTemplate */
@@ -6063,21 +6773,15 @@ interface operations {
6063
6773
  "forgot-password": {
6064
6774
  parameters: {
6065
6775
  query?: never;
6066
- header?: never;
6776
+ header?: {
6777
+ /** @description This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes. */"x-debug-mode"?: components["parameters"]["DebugMode"];
6778
+ };
6067
6779
  path?: never;
6068
6780
  cookie?: never;
6069
6781
  };
6070
6782
  requestBody: {
6071
6783
  content: {
6072
- "application/json": {
6073
- /** @description A string representing the email address. */email: string; /** @description 10 digit phone number without country code. */
6074
- phone: string;
6075
- /**
6076
- * @description Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.
6077
- * Use this key along with phone. Not necessary for email.
6078
- */
6079
- country_code: string;
6080
- };
6784
+ "application/json": components["schemas"]["SendOtpWithEmail"] | components["schemas"]["SendOtpWithPhone"];
6081
6785
  };
6082
6786
  };
6083
6787
  responses: {
@@ -6088,10 +6792,8 @@ interface operations {
6088
6792
  content: {
6089
6793
  "application/json": {
6090
6794
  /** @description A descriptive message confirming the success or failure of the operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6091
- success: boolean; /** @description An object containing the response content. */
6092
- content: {
6093
- /** @description A string representing the OTP token which facilitas the resetting of user’s account password. */otp_token: string;
6094
- };
6795
+ success: boolean;
6796
+ content: components["schemas"]["OtpContent"];
6095
6797
  };
6096
6798
  };
6097
6799
  };
@@ -6168,11 +6870,8 @@ interface operations {
6168
6870
  content: {
6169
6871
  "application/json": {
6170
6872
  /** @description A descriptive message confirming the success or failure of the Login process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6171
- success: boolean; /** @description An object containing the response content. */
6172
- content: {
6173
- /** @description The otp token is a unique code that is used for authentication during the Login process. */otp_token: string; /** @description It is used for verifying OTP and using subsequent API call. */
6174
- otp_action: string;
6175
- };
6873
+ success: boolean;
6874
+ content: components["schemas"]["OtpContent"];
6176
6875
  };
6177
6876
  };
6178
6877
  };
@@ -6259,10 +6958,7 @@ interface operations {
6259
6958
  "application/json": {
6260
6959
  message: string;
6261
6960
  success: boolean;
6262
- content: {
6263
- /** @description Token to pass to the verify-otp endpoint along with the OTP. */otp_token: string; /** @description Action type to pass to the verify-otp endpoint. */
6264
- otp_action: string;
6265
- };
6961
+ content: components["schemas"]["OtpContent"];
6266
6962
  };
6267
6963
  };
6268
6964
  };
@@ -6301,11 +6997,8 @@ interface operations {
6301
6997
  content: {
6302
6998
  "application/json": {
6303
6999
  /** @description A descriptive message confirming the success or failure of the Login process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6304
- success: boolean; /** @description An object containing the response content. */
6305
- content: {
6306
- /** @description The otp token is a unique code that is used for authentication during the Login process. */otp_token: string; /** @description It is used for verifying OTP and using subsequent API call. */
6307
- otp_action: string;
6308
- };
7000
+ success: boolean;
7001
+ content: components["schemas"]["OtpContent"];
6309
7002
  };
6310
7003
  };
6311
7004
  };
@@ -6380,7 +7073,9 @@ interface operations {
6380
7073
  "register-with-email": {
6381
7074
  parameters: {
6382
7075
  query?: never;
6383
- header?: never;
7076
+ header?: {
7077
+ /** @description This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes. */"x-debug-mode"?: components["parameters"]["DebugMode"];
7078
+ };
6384
7079
  path?: never;
6385
7080
  cookie?: never;
6386
7081
  };
@@ -6401,13 +7096,9 @@ interface operations {
6401
7096
  };
6402
7097
  content: {
6403
7098
  "application/json": {
6404
- /** @description A descriptive message confirming the success or failure of the Registration process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6405
- success: boolean; /** @description An object containing the response content. */
6406
- content: {
6407
- /** @description An object representing user details. */user: components["schemas"]["User"]; /** @description It is a string-based token utilized for authentication and authorization. */
6408
- access_token: string; /** @description It is a string-based token designed for refreshing the user's access token. */
6409
- refresh_token: string;
6410
- };
7099
+ message: string;
7100
+ success: boolean;
7101
+ content: components["schemas"]["OtpContent"];
6411
7102
  };
6412
7103
  };
6413
7104
  };
@@ -6418,7 +7109,9 @@ interface operations {
6418
7109
  "register-with-password": {
6419
7110
  parameters: {
6420
7111
  query?: never;
6421
- header?: never;
7112
+ header?: {
7113
+ /** @description This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes. */"x-debug-mode"?: components["parameters"]["DebugMode"];
7114
+ };
6422
7115
  path?: never;
6423
7116
  cookie?: never;
6424
7117
  };
@@ -6434,13 +7127,9 @@ interface operations {
6434
7127
  };
6435
7128
  content: {
6436
7129
  "application/json": {
6437
- /** @description A descriptive message confirming the success or failure of the Registration process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6438
- success: boolean; /** @description An object containing the response content. */
6439
- content: {
6440
- /** @description An object representing user details. */user: components["schemas"]["User"]; /** @description It is a string-based token utilized for authentication and authorization. */
6441
- access_token: string; /** @description It is a string-based token designed for refreshing the user's access token. */
6442
- refresh_token: string;
6443
- };
7130
+ message: string;
7131
+ success: boolean;
7132
+ content: components["schemas"]["OtpContent"];
6444
7133
  };
6445
7134
  };
6446
7135
  };
@@ -6451,7 +7140,9 @@ interface operations {
6451
7140
  "register-with-phone": {
6452
7141
  parameters: {
6453
7142
  query?: never;
6454
- header?: never;
7143
+ header?: {
7144
+ /** @description This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes. */"x-debug-mode"?: components["parameters"]["DebugMode"];
7145
+ };
6455
7146
  path?: never;
6456
7147
  cookie?: never;
6457
7148
  };
@@ -6477,13 +7168,9 @@ interface operations {
6477
7168
  };
6478
7169
  content: {
6479
7170
  "application/json": {
6480
- message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6481
- success: boolean; /** @description An object containing the response content. */
6482
- content: {
6483
- /** @description An object representing user details. */user: components["schemas"]["User"]; /** @description It is a string-based token utilized for authentication and authorization. */
6484
- access_token: string; /** @description It is a string-based token designed for refreshing the user's access token. */
6485
- refresh_token: string;
6486
- };
7171
+ message: string;
7172
+ success: boolean;
7173
+ content: components["schemas"]["OtpContent"];
6487
7174
  };
6488
7175
  };
6489
7176
  };
@@ -6494,7 +7181,9 @@ interface operations {
6494
7181
  "register-with-whatsapp": {
6495
7182
  parameters: {
6496
7183
  query?: never;
6497
- header?: never;
7184
+ header?: {
7185
+ /** @description This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes. */"x-debug-mode"?: components["parameters"]["DebugMode"];
7186
+ };
6498
7187
  path?: never;
6499
7188
  cookie?: never;
6500
7189
  };
@@ -6520,13 +7209,9 @@ interface operations {
6520
7209
  };
6521
7210
  content: {
6522
7211
  "application/json": {
6523
- /** @description A descriptive message confirming the success or failure of the Registration process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6524
- success: boolean; /** @description An object containing the response content. */
6525
- content: {
6526
- /** @description An object representing user details. */user: components["schemas"]["User"]; /** @description It is a string-based token utilized for authentication and authorization. */
6527
- access_token: string; /** @description It is a string-based token designed for refreshing the user's access token. */
6528
- refresh_token: string;
6529
- };
7212
+ message: string;
7213
+ success: boolean;
7214
+ content: components["schemas"]["OtpContent"];
6530
7215
  };
6531
7216
  };
6532
7217
  };
@@ -6546,102 +7231,11 @@ interface operations {
6546
7231
  "application/json": {
6547
7232
  /** @description The new password that the user wants to set for their account. */new_password: string; /** @description A confirmation of the new password. */
6548
7233
  confirm_password: string; /** @description A string representing the OTP token which facilitas the resetting of user’s account password. */
6549
- otp_token: string;
6550
- };
6551
- };
6552
- };
6553
- responses: {
6554
- /** @description OK */200: {
6555
- headers: {
6556
- [name: string]: unknown;
6557
- };
6558
- content: {
6559
- "application/json": {
6560
- /** @description A descriptive message confirming the success or failure of the reset password operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6561
- success: boolean; /** @description An object containing the response content. */
6562
- content: {
6563
- /** @description It is a string-based token utilized for authentication and authorization. */access_token: string; /** @description It is a string-based token designed for refreshing the user's access token. */
6564
- refresh_token: string;
6565
- };
6566
- };
6567
- };
6568
- };
6569
- 400: components["responses"]["BadRequest"];
6570
- };
6571
- };
6572
- "get-user-detail": {
6573
- parameters: {
6574
- query?: never;
6575
- header?: never;
6576
- path: {
6577
- /** @description user ID */id: string;
6578
- };
6579
- cookie?: never;
6580
- };
6581
- requestBody?: never;
6582
- responses: {
6583
- /** @description OK */200: {
6584
- headers: {
6585
- [name: string]: unknown;
6586
- };
6587
- content: {
6588
- "application/json": {
6589
- /** @description A descriptive message confirming the success or failure of the Registration process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6590
- success: boolean; /** @description An object containing the response content. */
6591
- content: {
6592
- /** @description An object containing the response content. */user: components["schemas"]["User"];
6593
- };
6594
- };
6595
- };
6596
- };
6597
- 400: components["responses"]["BadRequest"];
6598
- 401: components["responses"]["Unauthorized"];
6599
- 404: components["responses"]["NotFound"];
6600
- };
6601
- };
6602
- "update-user": {
6603
- parameters: {
6604
- query?: never;
6605
- header?: never;
6606
- path: {
6607
- /** @description user ID */id: string;
6608
- };
6609
- cookie?: never;
6610
- };
6611
- requestBody: {
6612
- content: {
6613
- "application/json": components["schemas"]["User"];
6614
- };
6615
- };
6616
- responses: {
6617
- /** @description OK */200: {
6618
- headers: {
6619
- [name: string]: unknown;
6620
- };
6621
- content: {
6622
- "application/json": {
6623
- /** @description A descriptive message confirming the success or failure of the Registration process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6624
- success: boolean; /** @description An object containing the response content. */
6625
- content: {
6626
- /** @description An object containing the response content. */user: components["schemas"]["User"];
6627
- };
6628
- };
7234
+ otp_token: string; /** @description A string representing the one-time password. */
7235
+ otp: string;
6629
7236
  };
6630
7237
  };
6631
- 400: components["responses"]["BadRequest"];
6632
- 401: components["responses"]["Unauthorized"];
6633
- };
6634
- };
6635
- "delete-user": {
6636
- parameters: {
6637
- query?: never;
6638
- header?: never;
6639
- path: {
6640
- /** @description user ID */id: string;
6641
- };
6642
- cookie?: never;
6643
7238
  };
6644
- requestBody?: never;
6645
7239
  responses: {
6646
7240
  /** @description OK */200: {
6647
7241
  headers: {
@@ -6649,17 +7243,20 @@ interface operations {
6649
7243
  };
6650
7244
  content: {
6651
7245
  "application/json": {
6652
- /** @description A descriptive message confirming the success or failure of the delete account operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6653
- success: boolean;
7246
+ /** @description A descriptive message confirming the success or failure of the reset password operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
7247
+ success: boolean; /** @description An object containing the response content. */
7248
+ content: {
7249
+ /** @description It is a string-based token utilized for authentication and authorization. */access_token: string; /** @description It is a string-based token designed for refreshing the user's access token. */
7250
+ refresh_token: string; /** @description An object representing user details. */
7251
+ user: components["schemas"]["User"];
7252
+ };
6654
7253
  };
6655
7254
  };
6656
7255
  };
6657
7256
  400: components["responses"]["BadRequest"];
6658
- 401: components["responses"]["Unauthorized"];
6659
- 404: components["responses"]["NotFound"];
6660
7257
  };
6661
7258
  };
6662
- "deactivate-user": {
7259
+ "get-user-detail": {
6663
7260
  parameters: {
6664
7261
  query?: never;
6665
7262
  header?: never;
@@ -6676,8 +7273,11 @@ interface operations {
6676
7273
  };
6677
7274
  content: {
6678
7275
  "application/json": {
6679
- /** @description A descriptive message confirming the success or failure of the deactivate account operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6680
- success: boolean;
7276
+ /** @description A descriptive message confirming the success or failure of the Registration process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
7277
+ success: boolean; /** @description An object containing the response content. */
7278
+ content: {
7279
+ /** @description An object containing the response content. */user: components["schemas"]["User"];
7280
+ };
6681
7281
  };
6682
7282
  };
6683
7283
  };
@@ -6686,16 +7286,20 @@ interface operations {
6686
7286
  404: components["responses"]["NotFound"];
6687
7287
  };
6688
7288
  };
6689
- "get-notification-preferences": {
7289
+ "update-user": {
6690
7290
  parameters: {
6691
7291
  query?: never;
6692
7292
  header?: never;
6693
7293
  path: {
6694
- /** @description user id */id: string;
7294
+ /** @description user ID */id: string;
6695
7295
  };
6696
7296
  cookie?: never;
6697
7297
  };
6698
- requestBody?: never;
7298
+ requestBody: {
7299
+ content: {
7300
+ "application/json": components["schemas"]["User"];
7301
+ };
7302
+ };
6699
7303
  responses: {
6700
7304
  /** @description OK */200: {
6701
7305
  headers: {
@@ -6703,35 +7307,28 @@ interface operations {
6703
7307
  };
6704
7308
  content: {
6705
7309
  "application/json": {
6706
- /** @description A descriptive message confirming the success or failure of the operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
7310
+ /** @description A descriptive message confirming the success or failure of the Registration process. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6707
7311
  success: boolean; /** @description An object containing the response content. */
6708
7312
  content: {
6709
- /** @description An object containing the user's notification preferences. */notification_preferences: components["schemas"]["NotificationPreferences"];
7313
+ /** @description An object containing the response content. */user: components["schemas"]["User"];
6710
7314
  };
6711
7315
  };
6712
7316
  };
6713
7317
  };
6714
7318
  400: components["responses"]["BadRequest"];
6715
7319
  401: components["responses"]["Unauthorized"];
6716
- 404: components["responses"]["NotFound"];
6717
7320
  };
6718
7321
  };
6719
- "update-notification-preferences": {
7322
+ "delete-user": {
6720
7323
  parameters: {
6721
7324
  query?: never;
6722
7325
  header?: never;
6723
7326
  path: {
6724
- /** @description user id */id: string;
7327
+ /** @description user ID */id: string;
6725
7328
  };
6726
7329
  cookie?: never;
6727
7330
  };
6728
- requestBody: {
6729
- content: {
6730
- "application/json": {
6731
- /** @description An object containing the user's notification preferences. */notification_preferences?: components["schemas"]["NotificationPreferences"];
6732
- };
6733
- };
6734
- };
7331
+ requestBody?: never;
6735
7332
  responses: {
6736
7333
  /** @description OK */200: {
6737
7334
  headers: {
@@ -6739,11 +7336,8 @@ interface operations {
6739
7336
  };
6740
7337
  content: {
6741
7338
  "application/json": {
6742
- /** @description A descriptive message confirming the success or failure of the operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6743
- success: boolean; /** @description An object containing the response content. */
6744
- content: {
6745
- /** @description An object containing the user's notification preferences. */notification_preferences: components["schemas"]["NotificationPreferences"];
6746
- };
7339
+ /** @description A descriptive message confirming the success or failure of the delete account operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
7340
+ success: boolean;
6747
7341
  };
6748
7342
  };
6749
7343
  };
@@ -6752,22 +7346,16 @@ interface operations {
6752
7346
  404: components["responses"]["NotFound"];
6753
7347
  };
6754
7348
  };
6755
- "create-notification-preferences": {
7349
+ "deactivate-user": {
6756
7350
  parameters: {
6757
7351
  query?: never;
6758
7352
  header?: never;
6759
7353
  path: {
6760
- /** @description user id */id: string;
7354
+ /** @description user ID */id: string;
6761
7355
  };
6762
7356
  cookie?: never;
6763
7357
  };
6764
- requestBody: {
6765
- content: {
6766
- "application/json": {
6767
- /** @description An object containing the user's notification preferences. */notification_preferences: components["schemas"]["NotificationPreferences"];
6768
- };
6769
- };
6770
- };
7358
+ requestBody?: never;
6771
7359
  responses: {
6772
7360
  /** @description OK */200: {
6773
7361
  headers: {
@@ -6775,11 +7363,8 @@ interface operations {
6775
7363
  };
6776
7364
  content: {
6777
7365
  "application/json": {
6778
- /** @description A descriptive message confirming the success or failure of the operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
6779
- success: boolean; /** @description An object containing the response content. */
6780
- content: {
6781
- /** @description An object containing the user's notification preferences. */notification_preferences: components["schemas"]["NotificationPreferences"];
6782
- };
7366
+ /** @description A descriptive message confirming the success or failure of the deactivate account operation. */message: string; /** @description Indicates whether the request was successful or failure (true for success, false for failure). */
7367
+ success: boolean;
6783
7368
  };
6784
7369
  };
6785
7370
  };
@@ -8119,7 +8704,7 @@ interface operations {
8119
8704
  limit?: components["parameters"]["pageLimitParam"]; /** @description JSON string format: {"field1":"asc", "field2":"desc"} */
8120
8705
  sort_by?: components["parameters"]["sortingParam"]; /** @description filter products by categories ids */
8121
8706
  category_id?: string[]; /** @description filter products by categories slugs */
8122
- category_slug?: string[]; /** @description Determines whether to include or exlude inventory details in response json */
8707
+ category_slug?: string[]; /** @description Determines whether to include or exclude inventory details in response json */
8123
8708
  inventory?: boolean;
8124
8709
  };
8125
8710
  header?: {
@@ -8285,7 +8870,7 @@ interface operations {
8285
8870
  };
8286
8871
  content: {
8287
8872
  "application/json": {
8288
- /** @description Masssage */message: string;
8873
+ /** @description Message */message: string;
8289
8874
  success: boolean;
8290
8875
  content: {
8291
8876
  products: components["schemas"]["Item"][];
@@ -8301,7 +8886,7 @@ interface operations {
8301
8886
  "get-product-detail": {
8302
8887
  parameters: {
8303
8888
  query?: {
8304
- /** @description Determines whether to include or exlude inventory details in response json */inventory?: boolean;
8889
+ /** @description Determines whether to include or exclude inventory details in response json */inventory?: boolean;
8305
8890
  };
8306
8891
  header?: {
8307
8892
  /** @description This param is used to determine product pricing, promotions, and subscription rates. If a valid customer group id is provided, pricing details will be retrieved accordingly. If no matching data is found for the specified customer group id, the system will fall back to the default customer group id. If no data is found for the default group either, the highest applicable price will be returned. */"x-customer-group-id"?: components["parameters"]["CustomerGroupId"];
@@ -8402,7 +8987,7 @@ interface operations {
8402
8987
  "list-product-variants": {
8403
8988
  parameters: {
8404
8989
  query?: {
8405
- /** @description Determines whether to include or exlude inventory details in response json */inventory?: boolean;
8990
+ /** @description Determines whether to include or exclude inventory details in response json */inventory?: boolean;
8406
8991
  };
8407
8992
  header?: {
8408
8993
  /** @description This param is used to determine product pricing, promotions, and subscription rates. If a valid customer group id is provided, pricing details will be retrieved accordingly. If no matching data is found for the specified customer group id, the system will fall back to the default customer group id. If no data is found for the default group either, the highest applicable price will be returned. */"x-customer-group-id"?: components["parameters"]["CustomerGroupId"];
@@ -8435,7 +9020,7 @@ interface operations {
8435
9020
  "get-variant-detail": {
8436
9021
  parameters: {
8437
9022
  query?: {
8438
- /** @description Determines whether to include or exlude inventory details in response json */inventory?: boolean;
9023
+ /** @description Determines whether to include or exclude inventory details in response json */inventory?: boolean;
8439
9024
  };
8440
9025
  header?: {
8441
9026
  /** @description This param is used to determine product pricing, promotions, and subscription rates. If a valid customer group id is provided, pricing details will be retrieved accordingly. If no matching data is found for the specified customer group id, the system will fall back to the default customer group id. If no data is found for the default group either, the highest applicable price will be returned. */"x-customer-group-id"?: components["parameters"]["CustomerGroupId"];
@@ -8472,7 +9057,7 @@ interface operations {
8472
9057
  /** @description page number of pagination list */page?: components["parameters"]["pageParam"]; /** @description Number of results per page. */
8473
9058
  limit?: components["parameters"]["pageLimitParam"]; /** @description JSON string format: {"field1":"asc", "field2":"desc"} */
8474
9059
  sort_by?: components["parameters"]["sortingParam"]; /** @description filter sku by categories */
8475
- category_id?: string[]; /** @description Determines whether to include or exlude inventory details in response json */
9060
+ category_id?: string[]; /** @description Determines whether to include or exclude inventory details in response json */
8476
9061
  inventory?: boolean; /** @description array of sku */
8477
9062
  sku?: string[];
8478
9063
  };
@@ -8595,12 +9180,15 @@ interface operations {
8595
9180
  404: components["responses"]["NotFound"];
8596
9181
  };
8597
9182
  };
8598
- "list-customer-cards": {
9183
+ "list-addresses": {
8599
9184
  parameters: {
8600
- query?: never;
9185
+ query?: {
9186
+ /** @description page number of pagination list */page?: components["parameters"]["pageParam"]; /** @description Number of results per page. */
9187
+ limit?: components["parameters"]["pageLimitParam"];
9188
+ };
8601
9189
  header?: never;
8602
9190
  path: {
8603
- /** @description Customer Id */customer_id: string;
9191
+ /** @description Customer id */customer_id: string;
8604
9192
  };
8605
9193
  cookie?: never;
8606
9194
  };
@@ -8612,30 +9200,34 @@ interface operations {
8612
9200
  };
8613
9201
  content: {
8614
9202
  "application/json": {
8615
- message: string;
8616
- success: boolean;
8617
- content: {
8618
- cards: components["schemas"]["JuspayCardDetail"][];
9203
+ message?: string;
9204
+ success?: boolean;
9205
+ content?: {
9206
+ addresses?: components["schemas"]["CustomerAddress"][];
9207
+ pagination?: components["schemas"]["Pagination"];
8619
9208
  };
8620
9209
  };
8621
9210
  };
8622
9211
  };
9212
+ 400: components["responses"]["BadRequest"];
8623
9213
  401: components["responses"]["Unauthorized"];
8624
9214
  404: components["responses"]["NotFound"];
8625
9215
  };
8626
9216
  };
8627
- "list-saved-payment-methods": {
9217
+ "create-address": {
8628
9218
  parameters: {
8629
- query?: {
8630
- /** @description Filter payment methods by type. Accepts multiple payment method types separated by commas. Example: payment_method=upi_collect,card,wallet. Available payment method types include: upi_collect, card, wallet. */payment_methods?: string;
8631
- };
9219
+ query?: never;
8632
9220
  header?: never;
8633
9221
  path: {
8634
- /** @description Customer Id */customer_id: string;
9222
+ /** @description Customer id */customer_id: string;
8635
9223
  };
8636
9224
  cookie?: never;
9225
+ }; /** @description payload for new address */
9226
+ requestBody: {
9227
+ content: {
9228
+ "application/json": components["schemas"]["CustomerAddress"];
9229
+ };
8637
9230
  };
8638
- requestBody?: never;
8639
9231
  responses: {
8640
9232
  /** @description OK */200: {
8641
9233
  headers: {
@@ -8646,21 +9238,22 @@ interface operations {
8646
9238
  message?: string;
8647
9239
  success?: boolean;
8648
9240
  content?: {
8649
- saved_payment_methods?: components["schemas"]["SavedPaymentMethod"];
9241
+ address?: components["schemas"]["CustomerAddress"];
8650
9242
  };
8651
9243
  };
8652
9244
  };
8653
9245
  };
9246
+ 400: components["responses"]["BadRequest"];
8654
9247
  401: components["responses"]["Unauthorized"];
8655
- 404: components["responses"]["NotFound"];
8656
9248
  };
8657
9249
  };
8658
- "list-documents": {
9250
+ "get-address-detail": {
8659
9251
  parameters: {
8660
9252
  query?: never;
8661
9253
  header?: never;
8662
9254
  path: {
8663
- /** @description customer id */id: string;
9255
+ /** @description address id */address_id: string; /** @description customer id */
9256
+ customer_id: string;
8664
9257
  };
8665
9258
  cookie?: never;
8666
9259
  };
@@ -8675,28 +9268,28 @@ interface operations {
8675
9268
  message?: string;
8676
9269
  success?: boolean;
8677
9270
  content?: {
8678
- documents?: components["schemas"]["Document"][];
9271
+ address?: components["schemas"]["CustomerAddress"];
8679
9272
  };
8680
9273
  };
8681
9274
  };
8682
9275
  };
8683
- 400: components["responses"]["BadRequest"];
8684
9276
  401: components["responses"]["Unauthorized"];
8685
9277
  404: components["responses"]["NotFound"];
8686
9278
  };
8687
9279
  };
8688
- "create-document": {
9280
+ "update-address-detail": {
8689
9281
  parameters: {
8690
9282
  query?: never;
8691
9283
  header?: never;
8692
9284
  path: {
8693
- /** @description customer id */id: string;
9285
+ /** @description address id */address_id: string; /** @description customer id */
9286
+ customer_id: string;
8694
9287
  };
8695
9288
  cookie?: never;
8696
- };
9289
+ }; /** @description payload for address update */
8697
9290
  requestBody: {
8698
9291
  content: {
8699
- "multipart/form-data": components["schemas"]["Document"];
9292
+ "application/json": components["schemas"]["CustomerAddress"];
8700
9293
  };
8701
9294
  };
8702
9295
  responses: {
@@ -8709,7 +9302,7 @@ interface operations {
8709
9302
  message?: string;
8710
9303
  success?: boolean;
8711
9304
  content?: {
8712
- document?: components["schemas"]["Document"];
9305
+ address?: components["schemas"]["CustomerAddress"];
8713
9306
  };
8714
9307
  };
8715
9308
  };
@@ -8719,23 +9312,17 @@ interface operations {
8719
9312
  404: components["responses"]["NotFound"];
8720
9313
  };
8721
9314
  };
8722
- "verify-document": {
9315
+ "delete-address": {
8723
9316
  parameters: {
8724
9317
  query?: never;
8725
9318
  header?: never;
8726
9319
  path: {
8727
- /** @description customer id */id: string;
9320
+ /** @description address id */address_id: string; /** @description customer id */
9321
+ customer_id: string;
8728
9322
  };
8729
9323
  cookie?: never;
8730
9324
  };
8731
- requestBody: {
8732
- content: {
8733
- "application/json": {
8734
- document_number: string;
8735
- document_type_id: string;
8736
- };
8737
- };
8738
- };
9325
+ requestBody?: never;
8739
9326
  responses: {
8740
9327
  /** @description OK */200: {
8741
9328
  headers: {
@@ -8743,36 +9330,21 @@ interface operations {
8743
9330
  };
8744
9331
  content: {
8745
9332
  "application/json": {
8746
- message?: string;
9333
+ /** @example address removed successfully */message?: string;
8747
9334
  success?: boolean;
8748
- content?: {
8749
- document?: components["schemas"]["GstinDetail"] | components["schemas"]["PanDetail"];
8750
- };
8751
9335
  };
8752
9336
  };
8753
9337
  };
8754
- 400: components["responses"]["BadRequest"]; /** @description Unauthorized */
8755
- 401: {
8756
- headers: {
8757
- [name: string]: unknown;
8758
- };
8759
- content?: never;
8760
- }; /** @description Not Found */
8761
- 404: {
8762
- headers: {
8763
- [name: string]: unknown;
8764
- };
8765
- content?: never;
8766
- };
9338
+ 401: components["responses"]["Unauthorized"];
9339
+ 404: components["responses"]["NotFound"];
8767
9340
  };
8768
9341
  };
8769
- "get-document": {
9342
+ "list-customer-cards": {
8770
9343
  parameters: {
8771
9344
  query?: never;
8772
9345
  header?: never;
8773
9346
  path: {
8774
- /** @description document id */document_id: string; /** @description customer id */
8775
- id: string;
9347
+ /** @description Customer Id */customer_id: string;
8776
9348
  };
8777
9349
  cookie?: never;
8778
9350
  };
@@ -8784,34 +9356,28 @@ interface operations {
8784
9356
  };
8785
9357
  content: {
8786
9358
  "application/json": {
8787
- message?: string;
8788
- success?: boolean;
8789
- content?: {
8790
- document?: components["schemas"]["Document"];
9359
+ message: string;
9360
+ success: boolean;
9361
+ content: {
9362
+ cards: components["schemas"]["JuspayCardDetail"][];
8791
9363
  };
8792
9364
  };
8793
9365
  };
8794
9366
  };
8795
- 400: components["responses"]["BadRequest"];
8796
9367
  401: components["responses"]["Unauthorized"];
8797
9368
  404: components["responses"]["NotFound"];
8798
9369
  };
8799
9370
  };
8800
- "update-document": {
9371
+ "list-documents": {
8801
9372
  parameters: {
8802
9373
  query?: never;
8803
9374
  header?: never;
8804
9375
  path: {
8805
- /** @description document id */document_id: string; /** @description customer id */
8806
- id: string;
9376
+ /** @description customer id */customer_id: string;
8807
9377
  };
8808
9378
  cookie?: never;
8809
9379
  };
8810
- requestBody: {
8811
- content: {
8812
- "multipart/form-data": components["schemas"]["UpdateDocument"];
8813
- };
8814
- };
9380
+ requestBody?: never;
8815
9381
  responses: {
8816
9382
  /** @description OK */200: {
8817
9383
  headers: {
@@ -8822,7 +9388,7 @@ interface operations {
8822
9388
  message?: string;
8823
9389
  success?: boolean;
8824
9390
  content?: {
8825
- document?: components["schemas"]["Document"];
9391
+ documents?: components["schemas"]["Document"][];
8826
9392
  };
8827
9393
  };
8828
9394
  };
@@ -8832,17 +9398,20 @@ interface operations {
8832
9398
  404: components["responses"]["NotFound"];
8833
9399
  };
8834
9400
  };
8835
- "delete-document": {
9401
+ "create-document": {
8836
9402
  parameters: {
8837
9403
  query?: never;
8838
9404
  header?: never;
8839
9405
  path: {
8840
- /** @description document id */document_id: string; /** @description customer id */
8841
- id: string;
9406
+ /** @description customer id */customer_id: string;
8842
9407
  };
8843
9408
  cookie?: never;
8844
9409
  };
8845
- requestBody?: never;
9410
+ requestBody: {
9411
+ content: {
9412
+ "multipart/form-data": components["schemas"]["Document"];
9413
+ };
9414
+ };
8846
9415
  responses: {
8847
9416
  /** @description OK */200: {
8848
9417
  headers: {
@@ -8852,6 +9421,9 @@ interface operations {
8852
9421
  "application/json": {
8853
9422
  message?: string;
8854
9423
  success?: boolean;
9424
+ content?: {
9425
+ document?: components["schemas"]["Document"];
9426
+ };
8855
9427
  };
8856
9428
  };
8857
9429
  };
@@ -8860,19 +9432,23 @@ interface operations {
8860
9432
  404: components["responses"]["NotFound"];
8861
9433
  };
8862
9434
  };
8863
- "list-addresses": {
9435
+ "verify-document": {
8864
9436
  parameters: {
8865
- query?: {
8866
- /** @description page number of pagination list */page?: components["parameters"]["pageParam"]; /** @description Number of results per page. */
8867
- limit?: components["parameters"]["pageLimitParam"];
8868
- };
9437
+ query?: never;
8869
9438
  header?: never;
8870
9439
  path: {
8871
- /** @description User id */user_id: string;
9440
+ /** @description customer id */customer_id: string;
8872
9441
  };
8873
9442
  cookie?: never;
8874
9443
  };
8875
- requestBody?: never;
9444
+ requestBody: {
9445
+ content: {
9446
+ "application/json": {
9447
+ document_number: string;
9448
+ document_type_id: string;
9449
+ };
9450
+ };
9451
+ };
8876
9452
  responses: {
8877
9453
  /** @description OK */200: {
8878
9454
  headers: {
@@ -8883,8 +9459,7 @@ interface operations {
8883
9459
  message?: string;
8884
9460
  success?: boolean;
8885
9461
  content?: {
8886
- addresses?: components["schemas"]["CustomerAddress"][];
8887
- pagination?: components["schemas"]["Pagination"];
9462
+ document?: components["schemas"]["GstinDetail"] | components["schemas"]["PanDetail"];
8888
9463
  };
8889
9464
  };
8890
9465
  };
@@ -8894,20 +9469,17 @@ interface operations {
8894
9469
  404: components["responses"]["NotFound"];
8895
9470
  };
8896
9471
  };
8897
- "create-address": {
9472
+ "get-document": {
8898
9473
  parameters: {
8899
9474
  query?: never;
8900
9475
  header?: never;
8901
9476
  path: {
8902
- /** @description User id */user_id: string;
9477
+ /** @description customer id */customer_id: string; /** @description document id */
9478
+ document_id: string;
8903
9479
  };
8904
9480
  cookie?: never;
8905
- }; /** @description payload for new address */
8906
- requestBody: {
8907
- content: {
8908
- "application/json": components["schemas"]["CustomerAddress"];
8909
- };
8910
9481
  };
9482
+ requestBody?: never;
8911
9483
  responses: {
8912
9484
  /** @description OK */200: {
8913
9485
  headers: {
@@ -8918,26 +9490,31 @@ interface operations {
8918
9490
  message?: string;
8919
9491
  success?: boolean;
8920
9492
  content?: {
8921
- address?: components["schemas"]["CustomerAddress"];
9493
+ document?: components["schemas"]["Document"];
8922
9494
  };
8923
9495
  };
8924
9496
  };
8925
9497
  };
8926
9498
  400: components["responses"]["BadRequest"];
8927
9499
  401: components["responses"]["Unauthorized"];
9500
+ 404: components["responses"]["NotFound"];
8928
9501
  };
8929
9502
  };
8930
- "get-address-detail": {
9503
+ "update-document": {
8931
9504
  parameters: {
8932
9505
  query?: never;
8933
9506
  header?: never;
8934
9507
  path: {
8935
- /** @description address id */address_id: string; /** @description user id */
8936
- user_id: string;
9508
+ /** @description customer id */customer_id: string; /** @description document id */
9509
+ document_id: string;
8937
9510
  };
8938
9511
  cookie?: never;
8939
9512
  };
8940
- requestBody?: never;
9513
+ requestBody: {
9514
+ content: {
9515
+ "multipart/form-data": components["schemas"]["UpdateDocument"];
9516
+ };
9517
+ };
8941
9518
  responses: {
8942
9519
  /** @description OK */200: {
8943
9520
  headers: {
@@ -8948,30 +9525,27 @@ interface operations {
8948
9525
  message?: string;
8949
9526
  success?: boolean;
8950
9527
  content?: {
8951
- address?: components["schemas"]["CustomerAddress"];
9528
+ document?: components["schemas"]["Document"];
8952
9529
  };
8953
9530
  };
8954
9531
  };
8955
9532
  };
9533
+ 400: components["responses"]["BadRequest"];
8956
9534
  401: components["responses"]["Unauthorized"];
8957
9535
  404: components["responses"]["NotFound"];
8958
9536
  };
8959
9537
  };
8960
- "update-address-detail": {
9538
+ "delete-document": {
8961
9539
  parameters: {
8962
9540
  query?: never;
8963
9541
  header?: never;
8964
9542
  path: {
8965
- /** @description address id */address_id: string; /** @description user id */
8966
- user_id: string;
9543
+ /** @description customer id */customer_id: string; /** @description document id */
9544
+ document_id: string;
8967
9545
  };
8968
9546
  cookie?: never;
8969
- }; /** @description payload for address update */
8970
- requestBody: {
8971
- content: {
8972
- "application/json": components["schemas"]["CustomerAddress"];
8973
- };
8974
9547
  };
9548
+ requestBody?: never;
8975
9549
  responses: {
8976
9550
  /** @description OK */200: {
8977
9551
  headers: {
@@ -8981,9 +9555,6 @@ interface operations {
8981
9555
  "application/json": {
8982
9556
  message?: string;
8983
9557
  success?: boolean;
8984
- content?: {
8985
- address?: components["schemas"]["CustomerAddress"];
8986
- };
8987
9558
  };
8988
9559
  };
8989
9560
  };
@@ -8992,13 +9563,12 @@ interface operations {
8992
9563
  404: components["responses"]["NotFound"];
8993
9564
  };
8994
9565
  };
8995
- "delete-address": {
9566
+ "get-loyalty-details": {
8996
9567
  parameters: {
8997
9568
  query?: never;
8998
9569
  header?: never;
8999
9570
  path: {
9000
- /** @description address id */address_id: string; /** @description user id */
9001
- user_id: string;
9571
+ /** @description customer id */customer_id: string;
9002
9572
  };
9003
9573
  cookie?: never;
9004
9574
  };
@@ -9010,8 +9580,11 @@ interface operations {
9010
9580
  };
9011
9581
  content: {
9012
9582
  "application/json": {
9013
- /** @example address removed successfully */message?: string;
9583
+ message?: string;
9014
9584
  success?: boolean;
9585
+ content?: {
9586
+ loyalty?: components["schemas"]["CustomerLoyalty"];
9587
+ };
9015
9588
  };
9016
9589
  };
9017
9590
  };
@@ -9019,12 +9592,16 @@ interface operations {
9019
9592
  404: components["responses"]["NotFound"];
9020
9593
  };
9021
9594
  };
9022
- "get-loyalty-details": {
9595
+ "list-loyalty-activities": {
9023
9596
  parameters: {
9024
- query?: never;
9597
+ query?: {
9598
+ /** @description Number of results per page. */limit?: components["parameters"]["pageLimitParam"]; /** @description page number of pagination list */
9599
+ page?: components["parameters"]["pageParam"]; /** @description JSON string format: {"field1":"asc", "field2":"desc"} */
9600
+ sort_by?: components["parameters"]["sortingParam"];
9601
+ };
9025
9602
  header?: never;
9026
9603
  path: {
9027
- /** @description user id */user_id: string;
9604
+ /** @description customer id */customer_id: string;
9028
9605
  };
9029
9606
  cookie?: never;
9030
9607
  };
@@ -9039,7 +9616,7 @@ interface operations {
9039
9616
  message?: string;
9040
9617
  success?: boolean;
9041
9618
  content?: {
9042
- loyalty?: components["schemas"]["CustomerLoyalty"];
9619
+ loyalty_points_activity?: components["schemas"]["LoyaltyPointActivity"][];
9043
9620
  };
9044
9621
  };
9045
9622
  };
@@ -9048,16 +9625,14 @@ interface operations {
9048
9625
  404: components["responses"]["NotFound"];
9049
9626
  };
9050
9627
  };
9051
- "list-loyalty-activities": {
9628
+ "list-saved-payment-methods": {
9052
9629
  parameters: {
9053
9630
  query?: {
9054
- /** @description Number of results per page. */limit?: components["parameters"]["pageLimitParam"]; /** @description page number of pagination list */
9055
- page?: components["parameters"]["pageParam"]; /** @description JSON string format: {"field1":"asc", "field2":"desc"} */
9056
- sort_by?: components["parameters"]["sortingParam"];
9631
+ /** @description Filter payment methods by type. Accepts multiple payment method types separated by commas. Example: payment_method=upi_collect,card,wallet. Available payment method types include: upi_collect, card, wallet. */payment_methods?: string;
9057
9632
  };
9058
9633
  header?: never;
9059
9634
  path: {
9060
- /** @description user id */user_id: string;
9635
+ /** @description Customer Id */customer_id: string;
9061
9636
  };
9062
9637
  cookie?: never;
9063
9638
  };
@@ -9072,7 +9647,7 @@ interface operations {
9072
9647
  message?: string;
9073
9648
  success?: boolean;
9074
9649
  content?: {
9075
- loyalty_points_activity?: components["schemas"]["LoyaltyPointActivity"][];
9650
+ saved_payment_methods?: components["schemas"]["SavedPaymentMethod"];
9076
9651
  };
9077
9652
  };
9078
9653
  };
@@ -9081,12 +9656,12 @@ interface operations {
9081
9656
  404: components["responses"]["NotFound"];
9082
9657
  };
9083
9658
  };
9084
- "list-user-reviews": {
9659
+ "list-customer-reviews": {
9085
9660
  parameters: {
9086
9661
  query?: never;
9087
9662
  header?: never;
9088
9663
  path: {
9089
- /** @description user id */user_id: string;
9664
+ /** @description customer id */customer_id: string;
9090
9665
  };
9091
9666
  cookie?: never;
9092
9667
  };
@@ -11408,13 +11983,12 @@ interface operations {
11408
11983
  message?: string;
11409
11984
  success?: boolean;
11410
11985
  content?: {
11411
- kyc_documents?: components["schemas"]["KycDocument"][]; /** @default false */
11986
+ kyc_documents?: components["schemas"]["KycDocumentConfig"][]; /** @default false */
11412
11987
  is_kyc_enabled: $Read<boolean>;
11413
11988
  };
11414
11989
  };
11415
11990
  };
11416
11991
  };
11417
- 400: components["responses"]["BadRequest"];
11418
11992
  401: components["responses"]["Unauthorized"];
11419
11993
  404: components["responses"]["NotFound"];
11420
11994
  };
@@ -11884,455 +12458,160 @@ interface operations {
11884
12458
  };
11885
12459
  };
11886
12460
  responses: {
11887
- 400: components["responses"]["BadRequest"];
11888
- 401: components["responses"]["Unauthorized"];
11889
- 410: components["responses"]["WebhookGone"];
11890
- "2XX": components["responses"]["WebhookAccepted"];
11891
- "5XX": components["responses"]["WebhookServerError"];
11892
- };
11893
- };
11894
- "shipment-cancelled": {
11895
- parameters: {
11896
- query?: never;
11897
- header?: never;
11898
- path?: never;
11899
- cookie?: never;
11900
- };
11901
- requestBody: {
11902
- content: {
11903
- "application/json": components["schemas"]["OrderShipment"];
11904
- };
11905
- };
11906
- responses: {
11907
- 400: components["responses"]["BadRequest"];
11908
- 401: components["responses"]["Unauthorized"];
11909
- 410: components["responses"]["WebhookGone"];
11910
- "2XX": components["responses"]["WebhookAccepted"];
11911
- "5XX": components["responses"]["WebhookServerError"];
11912
- };
11913
- };
11914
- "shipment-delivered": {
11915
- parameters: {
11916
- query?: never;
11917
- header?: never;
11918
- path?: never;
11919
- cookie?: never;
11920
- };
11921
- requestBody: {
11922
- content: {
11923
- "application/json": components["schemas"]["OrderShipment"];
11924
- };
11925
- };
11926
- responses: {
11927
- 400: components["responses"]["BadRequest"];
11928
- 401: components["responses"]["Unauthorized"];
11929
- 410: components["responses"]["WebhookGone"];
11930
- "2XX": components["responses"]["WebhookAccepted"];
11931
- "5XX": components["responses"]["WebhookServerError"];
11932
- };
11933
- };
11934
- "payment-refund-created": {
11935
- parameters: {
11936
- query?: never;
11937
- header?: never;
11938
- path?: never;
11939
- cookie?: never;
11940
- };
11941
- requestBody: {
11942
- content: {
11943
- "application/json": components["schemas"]["OrderRefund"];
11944
- };
11945
- };
11946
- responses: {
11947
- 400: components["responses"]["BadRequest"];
11948
- 401: components["responses"]["Unauthorized"];
11949
- 410: components["responses"]["WebhookGone"];
11950
- "2XX": components["responses"]["WebhookAccepted"];
11951
- "5XX": components["responses"]["WebhookServerError"];
11952
- };
11953
- };
11954
- "payment-refund-success": {
11955
- parameters: {
11956
- query?: never;
11957
- header?: never;
11958
- path?: never;
11959
- cookie?: never;
11960
- };
11961
- requestBody: {
11962
- content: {
11963
- "application/json": components["schemas"]["OrderRefund"];
11964
- };
11965
- };
11966
- responses: {
11967
- 400: components["responses"]["BadRequest"];
11968
- 401: components["responses"]["Unauthorized"];
11969
- 410: components["responses"]["WebhookGone"];
11970
- "2XX": components["responses"]["WebhookAccepted"];
11971
- "5XX": components["responses"]["WebhookServerError"];
11972
- };
11973
- };
11974
- "payment-refund-failed": {
11975
- parameters: {
11976
- query?: never;
11977
- header?: never;
11978
- path?: never;
11979
- cookie?: never;
11980
- };
11981
- requestBody: {
11982
- content: {
11983
- "application/json": components["schemas"]["OrderRefund"];
11984
- };
11985
- };
11986
- responses: {
11987
- 400: components["responses"]["BadRequest"];
11988
- 401: components["responses"]["Unauthorized"];
11989
- 410: components["responses"]["WebhookGone"];
11990
- "2XX": components["responses"]["WebhookAccepted"];
11991
- "5XX": components["responses"]["WebhookServerError"];
11992
- };
11993
- };
11994
- }
11995
- //#endregion
11996
- //#region ../sdk-core/dist/index.d.mts
11997
- //#region src/types/api.d.ts
11998
- /**
11999
- * Core API response types shared across Commerce Engine SDKs
12000
- */
12001
- /**
12002
- * Standard API error response structure
12003
- */
12004
- interface ApiErrorResponse {
12005
- success?: boolean;
12006
- error?: any;
12007
- code?: string;
12008
- message?: string;
12009
- }
12010
- /**
12011
- * Generic API result type that wraps all SDK responses
12012
- * Provides consistent error handling and response structure
12013
- */
12014
- type ApiResult<T> = {
12015
- data: T;
12016
- error: null;
12017
- response: Response;
12018
- } | {
12019
- data: null;
12020
- error: ApiErrorResponse;
12021
- response: Response;
12022
- }; //#endregion
12023
- //#region src/types/logger.d.ts
12024
- /**
12025
- * Logger-related types for Commerce Engine SDKs
12026
- */
12027
- /**
12028
- * Debug logger function interface
12029
- */
12030
- interface DebugLoggerFn {
12031
- (level: "info" | "warn" | "error", message: string, data?: any): void;
12032
- } //#endregion
12033
- //#region src/types/config.d.ts
12034
- /**
12035
- * Base SDK configuration options for any OpenAPI-based SDK
12036
- * Completely generic - no assumptions about the underlying API
12037
- */
12038
- interface BaseSDKOptions<TDefaultHeaders extends Record<string, any> = Record<string, any>> {
12039
- /**
12040
- * Base URL for the API
12041
- */
12042
- baseUrl?: string;
12043
- /**
12044
- * Optional timeout in milliseconds
12045
- */
12046
- timeout?: number;
12047
- /**
12048
- * Default headers to include with API requests
12049
- * These can be overridden at the method level
12050
- * Generic type allows each SDK to define its supported headers
12051
- */
12052
- defaultHeaders?: TDefaultHeaders;
12053
- /**
12054
- * Enable debug mode for detailed request/response logging
12055
- */
12056
- debug?: boolean;
12057
- /**
12058
- * Custom logger function for debug information
12059
- */
12060
- logger?: DebugLoggerFn;
12061
- }
12062
- /**
12063
- * Header configuration for SDK clients
12064
- * Defines supported headers and optional transformations
12065
- */
12066
- interface HeaderConfig<T extends Record<string, any>> {
12067
- /**
12068
- * Default headers from SDK configuration
12069
- */
12070
- defaultHeaders?: T;
12071
- /**
12072
- * Optional transformations to apply to header names
12073
- * Maps SDK parameter names to HTTP header names
12074
- */
12075
- transformations?: Record<keyof T, string>;
12076
- } //#endregion
12077
- //#region src/base-client.d.ts
12078
- /**
12079
- * Generic base API client that all Commerce Engine SDKs can extend
12080
- * Handles common functionality like middleware setup, request execution, and header management
12081
- * Does NOT include token management - that's SDK-specific
12082
- *
12083
- * @template TPaths - OpenAPI paths type
12084
- * @template THeaders - Supported default headers type
12085
- */
12086
- declare class BaseAPIClient<TPaths extends Record<string, any>, THeaders extends Record<string, any> = Record<string, any>> {
12087
- protected client: ReturnType<typeof createClient<TPaths>>;
12088
- protected config: BaseSDKOptions<THeaders>;
12089
- protected readonly baseUrl: string;
12090
- private readonly headerTransformations;
12091
- /**
12092
- * Create a new BaseAPIClient
12093
- *
12094
- * @param config - Configuration for the API client
12095
- * @param baseUrl - The base URL for the API (must be provided by subclass)
12096
- * @param headerTransformations - Header name transformations for this SDK
12097
- */
12098
- constructor(config: BaseSDKOptions<THeaders>, baseUrl: string, headerTransformations?: Record<keyof THeaders, string>);
12099
- /**
12100
- * Set up all middleware for the client
12101
- */
12102
- private setupMiddleware;
12103
- /**
12104
- * Get the base URL of the API
12105
- *
12106
- * @returns The base URL of the API
12107
- */
12108
- getBaseUrl(): string;
12109
- /**
12110
- * Execute a request and handle the response consistently
12111
- * This provides unified error handling and response processing
12112
- *
12113
- * @param apiCall - Function that executes the API request
12114
- * @returns Promise with the API response in standardized format
12115
- */
12116
- protected executeRequest<T, M = string, S = boolean>(apiCall: () => Promise<{
12117
- data?: {
12118
- message?: M;
12119
- success?: S;
12120
- content?: T;
12461
+ 400: components["responses"]["BadRequest"];
12462
+ 401: components["responses"]["Unauthorized"];
12463
+ 410: components["responses"]["WebhookGone"];
12464
+ "2XX": components["responses"]["WebhookAccepted"];
12465
+ "5XX": components["responses"]["WebhookServerError"];
12121
12466
  };
12122
- error?: any;
12123
- response: Response;
12124
- }>): Promise<ApiResult<T>>;
12125
- /**
12126
- * Merge default headers with method-level headers
12127
- * Method-level headers take precedence over default headers
12128
- * Automatically applies SDK-specific header transformations
12129
- *
12130
- * @param methodHeaders - Headers passed to the specific method call
12131
- * @returns Merged headers object with proper HTTP header names
12132
- */
12133
- protected mergeHeaders<T extends Record<string, any> = Record<string, any>>(methodHeaders?: T): T;
12134
- /**
12135
- * Set default headers for the client
12136
- *
12137
- * @param headers - Default headers to set
12138
- */
12139
- setDefaultHeaders(headers: THeaders): void;
12140
- /**
12141
- * Get current default headers
12142
- *
12143
- * @returns Current default headers
12144
- */
12145
- getDefaultHeaders(): THeaders | undefined;
12146
- } //#endregion
12147
- //#region src/utils/url.d.ts
12148
- /**
12149
- * Generic URL utility functions for any SDK
12150
- */
12151
- /**
12152
- * Extract pathname from URL
12153
- * Useful for middleware that needs to inspect request paths
12154
- */
12155
- declare function getPathnameFromUrl(url: string): string; //#endregion
12156
- //#region src/utils/response.d.ts
12157
- /**
12158
- * Execute a request and handle the response consistently
12159
- * This provides unified error handling and response processing across all SDKs
12160
- *
12161
- * @param apiCall - Function that executes the API request
12162
- * @returns Promise with the API response in standardized format
12163
- */
12164
- declare function executeRequest<T, M = string, S = boolean>(apiCall: () => Promise<{
12165
- data?: {
12166
- message?: M;
12167
- success?: S;
12168
- content?: T;
12169
12467
  };
12170
- error?: ApiErrorResponse;
12171
- response: Response;
12172
- }>): Promise<ApiResult<T>>; //#endregion
12173
- //#region src/middleware/debug.d.ts
12174
- /**
12175
- * Response utilities for debugging and working with Response objects
12176
- */
12177
- declare class ResponseUtils {
12178
- /**
12179
- * Get response headers as a plain object
12180
- */
12181
- static getHeaders(response: Response): Record<string, string>;
12182
- /**
12183
- * Get specific header value
12184
- */
12185
- static getHeader(response: Response, name: string): string | null;
12186
- /**
12187
- * Check if response was successful
12188
- */
12189
- static isSuccess(response: Response): boolean;
12190
- /**
12191
- * Get response metadata
12192
- */
12193
- static getMetadata(response: Response): {
12194
- status: number;
12195
- statusText: string;
12196
- ok: boolean;
12197
- url: string;
12198
- redirected: boolean;
12199
- type: ResponseType;
12200
- headers: {
12201
- [k: string]: string;
12468
+ "shipment-cancelled": {
12469
+ parameters: {
12470
+ query?: never;
12471
+ header?: never;
12472
+ path?: never;
12473
+ cookie?: never;
12474
+ };
12475
+ requestBody: {
12476
+ content: {
12477
+ "application/json": components["schemas"]["OrderShipment"];
12478
+ };
12479
+ };
12480
+ responses: {
12481
+ 400: components["responses"]["BadRequest"];
12482
+ 401: components["responses"]["Unauthorized"];
12483
+ 410: components["responses"]["WebhookGone"];
12484
+ "2XX": components["responses"]["WebhookAccepted"];
12485
+ "5XX": components["responses"]["WebhookServerError"];
12202
12486
  };
12203
12487
  };
12204
- /**
12205
- * Clone and read response as text (useful for debugging)
12206
- * Note: This can only be called once per response
12207
- */
12208
- static getText(response: Response): Promise<string>;
12209
- /**
12210
- * Clone and read response as JSON (useful for debugging)
12211
- * Note: This can only be called once per response
12212
- */
12213
- static getJSON(response: Response): Promise<any>;
12214
- /**
12215
- * Format response information for debugging
12216
- */
12217
- static format(response: Response): string;
12218
- /**
12219
- * Format response for logging purposes (enhanced version)
12220
- */
12221
- static formatResponse(response: Response): Record<string, any>;
12222
- }
12223
- /**
12224
- * Debug logging utilities
12225
- */
12226
- declare class DebugLogger {
12227
- private logger;
12228
- private responseTextCache;
12229
- constructor(logger?: DebugLoggerFn);
12230
- /**
12231
- * Log debug information about API request
12232
- */
12233
- logRequest(request: Request, requestBody?: any): void;
12234
- /**
12235
- * Log debug information about API response
12236
- */
12237
- logResponse(response: Response, responseBody?: any): Promise<void>;
12238
- /**
12239
- * Log error information
12240
- */
12241
- logError(message: string, error: any): void;
12242
- /**
12243
- * Get cached response text for a URL (if available)
12244
- */
12245
- getCachedResponseText(url: string): string | null;
12246
- /**
12247
- * Clear cached response texts
12248
- */
12249
- clearCache(): void;
12250
- info(message: string, data?: any): void;
12251
- warn(message: string, data?: any): void;
12252
- error(message: string, data?: any): void;
12253
- }
12254
- /**
12255
- * Extract request body for logging
12256
- */
12257
- declare function extractRequestBody(request: Request): Promise<any>;
12258
- /**
12259
- * Create debug middleware for openapi-fetch (internal use)
12260
- * Enhanced version that combines original functionality with duration tracking
12261
- */
12262
- declare function createDebugMiddleware(logger?: DebugLoggerFn): Middleware; //#endregion
12263
- //#region src/middleware/timeout.d.ts
12264
- /**
12265
- * Timeout middleware for Commerce Engine SDKs
12266
- */
12267
- /**
12268
- * Create timeout middleware for openapi-fetch
12269
- * Adds configurable request timeout functionality
12270
- *
12271
- * @param timeoutMs - Timeout duration in milliseconds
12272
- * @returns Middleware object with onRequest handler
12273
- */
12274
- declare function createTimeoutMiddleware(timeoutMs: number): {
12275
- onRequest: ({
12276
- request
12277
- }: {
12278
- request: Request;
12279
- }) => Promise<Request>;
12280
- }; //#endregion
12281
- //#region src/middleware/headers.d.ts
12282
- /**
12283
- * Header transformation and merging utilities for Commerce Engine SDKs
12284
- */
12285
- /**
12286
- * Merge two header objects
12287
- * Method-level headers take precedence over default headers
12288
- *
12289
- * @param defaultHeaders - Default headers from SDK configuration
12290
- * @param methodHeaders - Headers passed to the specific method call
12291
- * @returns Merged headers object
12292
- */
12293
- declare function mergeHeaders<T extends Record<string, any> = Record<string, any>>(defaultHeaders?: Record<string, any>, methodHeaders?: T): T;
12294
- /**
12295
- * Transform headers using a transformation mapping
12296
- * Headers not in the transformation map are passed through unchanged
12297
- *
12298
- * @param headers - Headers object with original names
12299
- * @param transformations - Mapping of original names to transformed names
12300
- * @returns Headers object with transformed names
12301
- */
12302
- declare function transformHeaders(headers: Record<string, any>, transformations: Record<string, string>): Record<string, string>;
12488
+ "shipment-delivered": {
12489
+ parameters: {
12490
+ query?: never;
12491
+ header?: never;
12492
+ path?: never;
12493
+ cookie?: never;
12494
+ };
12495
+ requestBody: {
12496
+ content: {
12497
+ "application/json": components["schemas"]["OrderShipment"];
12498
+ };
12499
+ };
12500
+ responses: {
12501
+ 400: components["responses"]["BadRequest"];
12502
+ 401: components["responses"]["Unauthorized"];
12503
+ 410: components["responses"]["WebhookGone"];
12504
+ "2XX": components["responses"]["WebhookAccepted"];
12505
+ "5XX": components["responses"]["WebhookServerError"];
12506
+ };
12507
+ };
12508
+ "payment-refund-created": {
12509
+ parameters: {
12510
+ query?: never;
12511
+ header?: never;
12512
+ path?: never;
12513
+ cookie?: never;
12514
+ };
12515
+ requestBody: {
12516
+ content: {
12517
+ "application/json": components["schemas"]["OrderRefund"];
12518
+ };
12519
+ };
12520
+ responses: {
12521
+ 400: components["responses"]["BadRequest"];
12522
+ 401: components["responses"]["Unauthorized"];
12523
+ 410: components["responses"]["WebhookGone"];
12524
+ "2XX": components["responses"]["WebhookAccepted"];
12525
+ "5XX": components["responses"]["WebhookServerError"];
12526
+ };
12527
+ };
12528
+ "payment-refund-success": {
12529
+ parameters: {
12530
+ query?: never;
12531
+ header?: never;
12532
+ path?: never;
12533
+ cookie?: never;
12534
+ };
12535
+ requestBody: {
12536
+ content: {
12537
+ "application/json": components["schemas"]["OrderRefund"];
12538
+ };
12539
+ };
12540
+ responses: {
12541
+ 400: components["responses"]["BadRequest"];
12542
+ 401: components["responses"]["Unauthorized"];
12543
+ 410: components["responses"]["WebhookGone"];
12544
+ "2XX": components["responses"]["WebhookAccepted"];
12545
+ "5XX": components["responses"]["WebhookServerError"];
12546
+ };
12547
+ };
12548
+ "payment-refund-failed": {
12549
+ parameters: {
12550
+ query?: never;
12551
+ header?: never;
12552
+ path?: never;
12553
+ cookie?: never;
12554
+ };
12555
+ requestBody: {
12556
+ content: {
12557
+ "application/json": components["schemas"]["OrderRefund"];
12558
+ };
12559
+ };
12560
+ responses: {
12561
+ 400: components["responses"]["BadRequest"];
12562
+ 401: components["responses"]["Unauthorized"];
12563
+ 410: components["responses"]["WebhookGone"];
12564
+ "2XX": components["responses"]["WebhookAccepted"];
12565
+ "5XX": components["responses"]["WebhookServerError"];
12566
+ };
12567
+ };
12568
+ }
12569
+ //#endregion
12570
+ //#region src/lib/shared/client.d.ts
12571
+ type StorefrontClientBaseConfig = BaseSDKOptions<SupportedDefaultHeaders> & {
12572
+ storeId: string;
12573
+ environment?: PublicStorefrontSDKOptions["environment"];
12574
+ baseUrl?: string;
12575
+ apiKey?: string;
12576
+ };
12303
12577
  /**
12304
- * Merge headers with transformation support
12305
- * Transforms default headers, then merges with method headers
12578
+ * Shared base class for Storefront API clients.
12306
12579
  *
12307
- * @param defaultHeaders - Default headers from SDK configuration
12308
- * @param methodHeaders - Headers passed to the specific method call
12309
- * @param transformations - Mapping for header name transformations
12310
- * @returns Merged headers object with transformations applied
12580
+ * This centralizes Storefront-specific URL construction, default header
12581
+ * transformations, and shared API key state while leaving auth middleware
12582
+ * decisions to the public and session-specific subclasses.
12311
12583
  */
12312
- declare function mergeAndTransformHeaders<T extends Record<string, any> = Record<string, any>>(defaultHeaders?: Record<string, any>, methodHeaders?: T, transformations?: Record<string, string>): T; //#endregion
12584
+ declare class StorefrontAPIClientBase extends BaseAPIClient<paths, SupportedDefaultHeaders> {
12585
+ protected apiKey?: string;
12586
+ constructor(config: StorefrontClientBaseConfig);
12587
+ setApiKey(apiKey: string): void;
12588
+ clearApiKey(): void;
12589
+ useMiddleware(middleware: Parameters<typeof this.client.use>[0]): void;
12590
+ }
12313
12591
  //#endregion
12314
- //#region src/lib/client.d.ts
12592
+ //#region src/lib/session/client.d.ts
12593
+ type SessionStorefrontClientConfig = StorefrontClientBaseConfig & SessionStorefrontSDKOptions & {
12594
+ sessionManager: StorefrontSessionManager;
12595
+ };
12315
12596
  /**
12316
12597
  * Storefront API client that extends the generic BaseAPIClient
12317
12598
  * Adds Commerce Engine specific authentication and token management
12318
12599
  */
12319
- declare class StorefrontAPIClient extends BaseAPIClient<paths, SupportedDefaultHeaders> {
12320
- protected config: StorefrontSDKOptions;
12321
- private initializationPromise;
12600
+ declare class SessionStorefrontAPIClient extends StorefrontAPIClientBase {
12601
+ protected config: SessionStorefrontClientConfig;
12322
12602
  /**
12323
- * Create a new StorefrontAPIClient
12603
+ * Create a new SessionStorefrontAPIClient
12324
12604
  *
12325
12605
  * @param config - Configuration for the API client
12326
12606
  */
12327
- constructor(config: StorefrontSDKOptions);
12607
+ constructor(config: SessionStorefrontClientConfig);
12328
12608
  /**
12329
12609
  * Set up Storefront-specific authentication middleware
12330
12610
  */
12331
12611
  private setupStorefrontAuth;
12332
12612
  /**
12333
12613
  * Get the authorization header value
12334
- * If using token storage, gets the current token from storage
12335
- * Otherwise returns the manual token
12614
+ * without creating a new session.
12336
12615
  *
12337
12616
  * @returns The Authorization header value or empty string if no token is set
12338
12617
  */
@@ -12367,27 +12646,47 @@ declare class StorefrontAPIClient extends BaseAPIClient<paths, SupportedDefaultH
12367
12646
  */
12368
12647
  clearApiKey(): void;
12369
12648
  /**
12370
- * Initialize tokens in storage (private helper method)
12649
+ * Resolve the current user ID from explicit parameters or the active session.
12650
+ *
12651
+ * @param explicitUserId - Optional user ID supplied by the caller
12652
+ * @returns The resolved user ID
12653
+ * @throws When no user ID is available
12371
12654
  */
12372
- private initializeTokens;
12373
- }
12374
- //#endregion
12375
- //#region src/lib/url-utils.d.ts
12376
- /**
12377
- * URL utility functions for the Storefront SDK
12378
- */
12379
- /**
12380
- * Available API environments for Commerce Engine
12381
- */
12382
- declare enum Environment {
12655
+ protected resolveCurrentUserId(explicitUserId?: string): Promise<string>;
12383
12656
  /**
12384
- * Staging environment
12657
+ * Resolve path parameters that require `user_id`.
12658
+ *
12659
+ * @param pathParams - Path parameters with an optional `user_id`
12660
+ * @returns Path parameters with a guaranteed `user_id`
12385
12661
  */
12386
- Staging = "staging",
12662
+ protected resolveUserPathParams<T extends {
12663
+ user_id: string;
12664
+ }>(pathParams: Omit<T, "user_id"> & {
12665
+ user_id?: string;
12666
+ }): Promise<T>;
12387
12667
  /**
12388
- * Production environment
12668
+ * Resolve query parameters that require `user_id`.
12669
+ *
12670
+ * @param queryParams - Query parameters with an optional `user_id`
12671
+ * @returns Query parameters with a guaranteed `user_id`
12389
12672
  */
12390
- Production = "production"
12673
+ protected resolveUserQueryParams<T extends {
12674
+ user_id: string;
12675
+ }>(queryParams: Omit<T, "user_id"> & {
12676
+ user_id?: string;
12677
+ }): Promise<T>;
12678
+ /**
12679
+ * Resolve path parameters that require `customer_id`.
12680
+ *
12681
+ * @param pathParams - Path parameters with an optional `customer_id`
12682
+ * @returns Path parameters with a guaranteed `customer_id`
12683
+ * @throws When the user is anonymous or no session can be established
12684
+ */
12685
+ protected resolveCustomerPathParams<T extends {
12686
+ customer_id: string;
12687
+ }>(pathParams: Omit<T, "customer_id"> & {
12688
+ customer_id?: string;
12689
+ }): Promise<T>;
12391
12690
  }
12392
12691
  //#endregion
12393
12692
  //#region src/types/storefront-api-types.d.ts
@@ -12498,7 +12797,6 @@ type JuspayUpiCollectInput = Writable<components['schemas']['JuspayUpiCollect']>
12498
12797
  type JuspayUpiIntentInput = Writable<components['schemas']['JuspayUpiIntent']>;
12499
12798
  type JuspayUpiPaymentMethod = Readable<components['schemas']['JuspayUpiPaymentMethod']>;
12500
12799
  type JuspayWalletPaymentMethod = Readable<components['schemas']['JuspayWalletPaymentMethod']>;
12501
- type KycDocument = Readable<components['schemas']['KycDocument']>;
12502
12800
  type KycDocumentConfig = Readable<components['schemas']['KycDocumentConfig']>;
12503
12801
  type LotBatchDetail = Readable<components['schemas']['LotBatchDetail']>;
12504
12802
  type LoyaltyPointActivity = Readable<components['schemas']['LoyaltyPointActivity']>;
@@ -12506,7 +12804,6 @@ type ManualPaymentMethod = Readable<components['schemas']['ManualPaymentMethod']
12506
12804
  type MarketplaceItem = Readable<components['schemas']['MarketplaceItem']>;
12507
12805
  type MarketplaceProduct = Readable<components['schemas']['MarketplaceProduct']>;
12508
12806
  type MarketplaceProductDetail = Readable<components['schemas']['MarketplaceProductDetail']>;
12509
- type MeasurementUnit = Readable<components['schemas']['MeasurementUnit']>;
12510
12807
  type MultiSelectAttribute = Readable<components['schemas']['MultiSelectAttribute']>;
12511
12808
  type NetbankingPayment = Readable<components['schemas']['NetbankingPayment']>;
12512
12809
  type NotificationChannelPreferences = Readable<components['schemas']['NotificationChannelPreferences']>;
@@ -12524,6 +12821,7 @@ type OrderReturn = Readable<components['schemas']['OrderReturn']>;
12524
12821
  type OrderReturnItem = Readable<components['schemas']['OrderReturnItem']>;
12525
12822
  type OrderReturnItemInput = Writable<components['schemas']['OrderReturnItem']>;
12526
12823
  type OrderShipment = Readable<components['schemas']['OrderShipment']>;
12824
+ type OtpContent = Readable<components['schemas']['OtpContent']>;
12527
12825
  type Pagination = Readable<components['schemas']['Pagination']>;
12528
12826
  type PanDetail = Readable<components['schemas']['PanDetail']>;
12529
12827
  type PartialCollectAndDelivery = Readable<components['schemas']['PartialCollectAndDelivery']>;
@@ -12569,6 +12867,8 @@ type SellerDetail = Readable<components['schemas']['SellerDetail']>;
12569
12867
  type SellerInfo = Readable<components['schemas']['SellerInfo']>;
12570
12868
  type SellerReview = Readable<components['schemas']['SellerReview']>;
12571
12869
  type SellerReviewStats = Readable<components['schemas']['SellerReviewStats']>;
12870
+ type SendOtpWithEmailInput = Writable<components['schemas']['SendOtpWithEmail']>;
12871
+ type SendOtpWithPhoneInput = Writable<components['schemas']['SendOtpWithPhone']>;
12572
12872
  type Seo = Readable<components['schemas']['Seo']>;
12573
12873
  type ServiceProviderBasicDetail = Readable<components['schemas']['ServiceProviderBasicDetail']>;
12574
12874
  type ShipmentItem = Readable<components['schemas']['ShipmentItem']>;
@@ -12607,6 +12907,7 @@ type ChangePasswordContent = ChangePasswordResponse['content'];
12607
12907
  type ChangePasswordBody = Writable<NonNullable<paths['/auth/change-password']['post']['requestBody']>['content']['application/json']>;
12608
12908
  type ForgotPasswordResponse = Readable<paths['/auth/forgot-password']['post']['responses'][200]['content']['application/json']>;
12609
12909
  type ForgotPasswordContent = ForgotPasswordResponse['content'];
12910
+ type ForgotPasswordHeaderParams = paths['/auth/forgot-password']['post']['parameters']['header'];
12610
12911
  type ForgotPasswordBody = Writable<NonNullable<paths['/auth/forgot-password']['post']['requestBody']>['content']['application/json']>;
12611
12912
  type GenerateOtpResponse = Readable<paths['/auth/generate-otp']['post']['responses'][200]['content']['application/json']>;
12612
12913
  type GenerateOtpContent = GenerateOtpResponse['content'];
@@ -12634,15 +12935,19 @@ type RefreshTokenContent = RefreshTokenResponse['content'];
12634
12935
  type RefreshTokenBody = Writable<NonNullable<paths['/auth/refresh-token']['post']['requestBody']>['content']['application/json']>;
12635
12936
  type RegisterWithEmailResponse = Readable<paths['/auth/register/email']['post']['responses'][200]['content']['application/json']>;
12636
12937
  type RegisterWithEmailContent = RegisterWithEmailResponse['content'];
12938
+ type RegisterWithEmailHeaderParams = paths['/auth/register/email']['post']['parameters']['header'];
12637
12939
  type RegisterWithEmailBody = Writable<NonNullable<paths['/auth/register/email']['post']['requestBody']>['content']['application/json']>;
12638
12940
  type RegisterWithPasswordResponse = Readable<paths['/auth/register/password']['post']['responses'][200]['content']['application/json']>;
12639
12941
  type RegisterWithPasswordContent = RegisterWithPasswordResponse['content'];
12942
+ type RegisterWithPasswordHeaderParams = paths['/auth/register/password']['post']['parameters']['header'];
12640
12943
  type RegisterWithPasswordBody = Writable<NonNullable<paths['/auth/register/password']['post']['requestBody']>['content']['application/json']>;
12641
12944
  type RegisterWithPhoneResponse = Readable<paths['/auth/register/phone']['post']['responses'][200]['content']['application/json']>;
12642
12945
  type RegisterWithPhoneContent = RegisterWithPhoneResponse['content'];
12946
+ type RegisterWithPhoneHeaderParams = paths['/auth/register/phone']['post']['parameters']['header'];
12643
12947
  type RegisterWithPhoneBody = Writable<NonNullable<paths['/auth/register/phone']['post']['requestBody']>['content']['application/json']>;
12644
12948
  type RegisterWithWhatsappResponse = Readable<paths['/auth/register/whatsapp']['post']['responses'][200]['content']['application/json']>;
12645
12949
  type RegisterWithWhatsappContent = RegisterWithWhatsappResponse['content'];
12950
+ type RegisterWithWhatsappHeaderParams = paths['/auth/register/whatsapp']['post']['parameters']['header'];
12646
12951
  type RegisterWithWhatsappBody = Writable<NonNullable<paths['/auth/register/whatsapp']['post']['requestBody']>['content']['application/json']>;
12647
12952
  type ResetPasswordResponse = Readable<paths['/auth/reset-password']['post']['responses'][200]['content']['application/json']>;
12648
12953
  type ResetPasswordContent = ResetPasswordResponse['content'];
@@ -12658,17 +12963,6 @@ type DeleteUserResponse = Readable<paths['/auth/user/{id}']['delete']['responses
12658
12963
  type DeleteUserPathParams = paths['/auth/user/{id}']['delete']['parameters']['path'];
12659
12964
  type DeactivateUserResponse = Readable<paths['/auth/user/{id}/deactivate']['put']['responses'][200]['content']['application/json']>;
12660
12965
  type DeactivateUserPathParams = paths['/auth/user/{id}/deactivate']['put']['parameters']['path'];
12661
- type GetNotificationPreferencesResponse = Readable<paths['/auth/user/{id}/notification-preferences']['get']['responses'][200]['content']['application/json']>;
12662
- type GetNotificationPreferencesContent = GetNotificationPreferencesResponse['content'];
12663
- type GetNotificationPreferencesPathParams = paths['/auth/user/{id}/notification-preferences']['get']['parameters']['path'];
12664
- type CreateNotificationPreferencesResponse = Readable<paths['/auth/user/{id}/notification-preferences']['post']['responses'][200]['content']['application/json']>;
12665
- type CreateNotificationPreferencesContent = CreateNotificationPreferencesResponse['content'];
12666
- type CreateNotificationPreferencesPathParams = paths['/auth/user/{id}/notification-preferences']['post']['parameters']['path'];
12667
- type CreateNotificationPreferencesBody = Writable<NonNullable<paths['/auth/user/{id}/notification-preferences']['post']['requestBody']>['content']['application/json']>;
12668
- type UpdateNotificationPreferencesResponse = Readable<paths['/auth/user/{id}/notification-preferences']['put']['responses'][200]['content']['application/json']>;
12669
- type UpdateNotificationPreferencesContent = UpdateNotificationPreferencesResponse['content'];
12670
- type UpdateNotificationPreferencesPathParams = paths['/auth/user/{id}/notification-preferences']['put']['parameters']['path'];
12671
- type UpdateNotificationPreferencesBody = Writable<NonNullable<paths['/auth/user/{id}/notification-preferences']['put']['requestBody']>['content']['application/json']>;
12672
12966
  type AddProfileImageResponse = Readable<paths['/auth/user/{id}/profile-image']['post']['responses'][200]['content']['application/json']>;
12673
12967
  type AddProfileImageContent = AddProfileImageResponse['content'];
12674
12968
  type AddProfileImagePathParams = paths['/auth/user/{id}/profile-image']['post']['parameters']['path'];
@@ -12858,60 +13152,60 @@ type ListCountryPincodesPathParams = paths['/common/countries/{country_iso_code}
12858
13152
  type ListCountryStatesResponse = Readable<paths['/common/countries/{country_iso_code}/states']['get']['responses'][200]['content']['application/json']>;
12859
13153
  type ListCountryStatesContent = ListCountryStatesResponse['content'];
12860
13154
  type ListCountryStatesPathParams = paths['/common/countries/{country_iso_code}/states']['get']['parameters']['path'];
13155
+ type ListAddressesResponse = Readable<paths['/customers/{customer_id}/addresses']['get']['responses'][200]['content']['application/json']>;
13156
+ type ListAddressesContent = ListAddressesResponse['content'];
13157
+ type ListAddressesQuery = paths['/customers/{customer_id}/addresses']['get']['parameters']['query'];
13158
+ type ListAddressesPathParams = paths['/customers/{customer_id}/addresses']['get']['parameters']['path'];
13159
+ type CreateAddressResponse = Readable<paths['/customers/{customer_id}/addresses']['post']['responses'][200]['content']['application/json']>;
13160
+ type CreateAddressContent = CreateAddressResponse['content'];
13161
+ type CreateAddressPathParams = paths['/customers/{customer_id}/addresses']['post']['parameters']['path'];
13162
+ type CreateAddressBody = Writable<NonNullable<paths['/customers/{customer_id}/addresses']['post']['requestBody']>['content']['application/json']>;
13163
+ type GetAddressDetailResponse = Readable<paths['/customers/{customer_id}/addresses/{address_id}']['get']['responses'][200]['content']['application/json']>;
13164
+ type GetAddressDetailContent = GetAddressDetailResponse['content'];
13165
+ type GetAddressDetailPathParams = paths['/customers/{customer_id}/addresses/{address_id}']['get']['parameters']['path'];
13166
+ type UpdateAddressDetailResponse = Readable<paths['/customers/{customer_id}/addresses/{address_id}']['put']['responses'][200]['content']['application/json']>;
13167
+ type UpdateAddressDetailContent = UpdateAddressDetailResponse['content'];
13168
+ type UpdateAddressDetailPathParams = paths['/customers/{customer_id}/addresses/{address_id}']['put']['parameters']['path'];
13169
+ type UpdateAddressDetailBody = Writable<NonNullable<paths['/customers/{customer_id}/addresses/{address_id}']['put']['requestBody']>['content']['application/json']>;
13170
+ type DeleteAddressResponse = Readable<paths['/customers/{customer_id}/addresses/{address_id}']['delete']['responses'][200]['content']['application/json']>;
13171
+ type DeleteAddressPathParams = paths['/customers/{customer_id}/addresses/{address_id}']['delete']['parameters']['path'];
12861
13172
  type ListCustomerCardsResponse = Readable<paths['/customers/{customer_id}/cards']['get']['responses'][200]['content']['application/json']>;
12862
13173
  type ListCustomerCardsContent = ListCustomerCardsResponse['content'];
12863
13174
  type ListCustomerCardsPathParams = paths['/customers/{customer_id}/cards']['get']['parameters']['path'];
12864
- type ListSavedPaymentMethodsResponse = Readable<paths['/customers/{customer_id}/payment-methods']['get']['responses'][200]['content']['application/json']>;
12865
- type ListSavedPaymentMethodsContent = ListSavedPaymentMethodsResponse['content'];
12866
- type ListSavedPaymentMethodsQuery = paths['/customers/{customer_id}/payment-methods']['get']['parameters']['query'];
12867
- type ListSavedPaymentMethodsPathParams = paths['/customers/{customer_id}/payment-methods']['get']['parameters']['path'];
12868
- type ListDocumentsResponse = Readable<paths['/customers/{id}/documents']['get']['responses'][200]['content']['application/json']>;
13175
+ type ListDocumentsResponse = Readable<paths['/customers/{customer_id}/documents']['get']['responses'][200]['content']['application/json']>;
12869
13176
  type ListDocumentsContent = ListDocumentsResponse['content'];
12870
- type ListDocumentsPathParams = paths['/customers/{id}/documents']['get']['parameters']['path'];
12871
- type CreateDocumentResponse = Readable<paths['/customers/{id}/documents']['post']['responses'][200]['content']['application/json']>;
13177
+ type ListDocumentsPathParams = paths['/customers/{customer_id}/documents']['get']['parameters']['path'];
13178
+ type CreateDocumentResponse = Readable<paths['/customers/{customer_id}/documents']['post']['responses'][200]['content']['application/json']>;
12872
13179
  type CreateDocumentContent = CreateDocumentResponse['content'];
12873
- type CreateDocumentPathParams = paths['/customers/{id}/documents']['post']['parameters']['path'];
12874
- type CreateDocumentFormData = Writable<NonNullable<paths['/customers/{id}/documents']['post']['requestBody']>['content']['multipart/form-data']>;
12875
- type VerifyDocumentResponse = Readable<paths['/customers/{id}/documents/verify']['post']['responses'][200]['content']['application/json']>;
13180
+ type CreateDocumentPathParams = paths['/customers/{customer_id}/documents']['post']['parameters']['path'];
13181
+ type CreateDocumentFormData = Writable<NonNullable<paths['/customers/{customer_id}/documents']['post']['requestBody']>['content']['multipart/form-data']>;
13182
+ type VerifyDocumentResponse = Readable<paths['/customers/{customer_id}/documents/verify']['post']['responses'][200]['content']['application/json']>;
12876
13183
  type VerifyDocumentContent = VerifyDocumentResponse['content'];
12877
- type VerifyDocumentPathParams = paths['/customers/{id}/documents/verify']['post']['parameters']['path'];
12878
- type VerifyDocumentBody = Writable<NonNullable<paths['/customers/{id}/documents/verify']['post']['requestBody']>['content']['application/json']>;
12879
- type GetDocumentResponse = Readable<paths['/customers/{id}/documents/{document_id}']['get']['responses'][200]['content']['application/json']>;
13184
+ type VerifyDocumentPathParams = paths['/customers/{customer_id}/documents/verify']['post']['parameters']['path'];
13185
+ type VerifyDocumentBody = Writable<NonNullable<paths['/customers/{customer_id}/documents/verify']['post']['requestBody']>['content']['application/json']>;
13186
+ type GetDocumentResponse = Readable<paths['/customers/{customer_id}/documents/{document_id}']['get']['responses'][200]['content']['application/json']>;
12880
13187
  type GetDocumentContent = GetDocumentResponse['content'];
12881
- type GetDocumentPathParams = paths['/customers/{id}/documents/{document_id}']['get']['parameters']['path'];
12882
- type UpdateDocumentResponse = Readable<paths['/customers/{id}/documents/{document_id}']['put']['responses'][200]['content']['application/json']>;
13188
+ type GetDocumentPathParams = paths['/customers/{customer_id}/documents/{document_id}']['get']['parameters']['path'];
13189
+ type UpdateDocumentResponse = Readable<paths['/customers/{customer_id}/documents/{document_id}']['put']['responses'][200]['content']['application/json']>;
12883
13190
  type UpdateDocumentContent = UpdateDocumentResponse['content'];
12884
- type UpdateDocumentPathParams = paths['/customers/{id}/documents/{document_id}']['put']['parameters']['path'];
12885
- type UpdateDocumentFormData = Writable<NonNullable<paths['/customers/{id}/documents/{document_id}']['put']['requestBody']>['content']['multipart/form-data']>;
12886
- type DeleteDocumentResponse = Readable<paths['/customers/{id}/documents/{document_id}']['delete']['responses'][200]['content']['application/json']>;
12887
- type DeleteDocumentPathParams = paths['/customers/{id}/documents/{document_id}']['delete']['parameters']['path'];
12888
- type ListAddressesResponse = Readable<paths['/customers/{user_id}/addresses']['get']['responses'][200]['content']['application/json']>;
12889
- type ListAddressesContent = ListAddressesResponse['content'];
12890
- type ListAddressesQuery = paths['/customers/{user_id}/addresses']['get']['parameters']['query'];
12891
- type ListAddressesPathParams = paths['/customers/{user_id}/addresses']['get']['parameters']['path'];
12892
- type CreateAddressResponse = Readable<paths['/customers/{user_id}/addresses']['post']['responses'][200]['content']['application/json']>;
12893
- type CreateAddressContent = CreateAddressResponse['content'];
12894
- type CreateAddressPathParams = paths['/customers/{user_id}/addresses']['post']['parameters']['path'];
12895
- type CreateAddressBody = Writable<NonNullable<paths['/customers/{user_id}/addresses']['post']['requestBody']>['content']['application/json']>;
12896
- type GetAddressDetailResponse = Readable<paths['/customers/{user_id}/addresses/{address_id}']['get']['responses'][200]['content']['application/json']>;
12897
- type GetAddressDetailContent = GetAddressDetailResponse['content'];
12898
- type GetAddressDetailPathParams = paths['/customers/{user_id}/addresses/{address_id}']['get']['parameters']['path'];
12899
- type UpdateAddressDetailResponse = Readable<paths['/customers/{user_id}/addresses/{address_id}']['put']['responses'][200]['content']['application/json']>;
12900
- type UpdateAddressDetailContent = UpdateAddressDetailResponse['content'];
12901
- type UpdateAddressDetailPathParams = paths['/customers/{user_id}/addresses/{address_id}']['put']['parameters']['path'];
12902
- type UpdateAddressDetailBody = Writable<NonNullable<paths['/customers/{user_id}/addresses/{address_id}']['put']['requestBody']>['content']['application/json']>;
12903
- type DeleteAddressResponse = Readable<paths['/customers/{user_id}/addresses/{address_id}']['delete']['responses'][200]['content']['application/json']>;
12904
- type DeleteAddressPathParams = paths['/customers/{user_id}/addresses/{address_id}']['delete']['parameters']['path'];
12905
- type GetLoyaltyDetailsResponse = Readable<paths['/customers/{user_id}/loyalty']['get']['responses'][200]['content']['application/json']>;
13191
+ type UpdateDocumentPathParams = paths['/customers/{customer_id}/documents/{document_id}']['put']['parameters']['path'];
13192
+ type UpdateDocumentFormData = Writable<NonNullable<paths['/customers/{customer_id}/documents/{document_id}']['put']['requestBody']>['content']['multipart/form-data']>;
13193
+ type DeleteDocumentResponse = Readable<paths['/customers/{customer_id}/documents/{document_id}']['delete']['responses'][200]['content']['application/json']>;
13194
+ type DeleteDocumentPathParams = paths['/customers/{customer_id}/documents/{document_id}']['delete']['parameters']['path'];
13195
+ type GetLoyaltyDetailsResponse = Readable<paths['/customers/{customer_id}/loyalty']['get']['responses'][200]['content']['application/json']>;
12906
13196
  type GetLoyaltyDetailsContent = GetLoyaltyDetailsResponse['content'];
12907
- type GetLoyaltyDetailsPathParams = paths['/customers/{user_id}/loyalty']['get']['parameters']['path'];
12908
- type ListLoyaltyActivitiesResponse = Readable<paths['/customers/{user_id}/loyalty-points-activity']['get']['responses'][200]['content']['application/json']>;
13197
+ type GetLoyaltyDetailsPathParams = paths['/customers/{customer_id}/loyalty']['get']['parameters']['path'];
13198
+ type ListLoyaltyActivitiesResponse = Readable<paths['/customers/{customer_id}/loyalty-points-activity']['get']['responses'][200]['content']['application/json']>;
12909
13199
  type ListLoyaltyActivitiesContent = ListLoyaltyActivitiesResponse['content'];
12910
- type ListLoyaltyActivitiesQuery = paths['/customers/{user_id}/loyalty-points-activity']['get']['parameters']['query'];
12911
- type ListLoyaltyActivitiesPathParams = paths['/customers/{user_id}/loyalty-points-activity']['get']['parameters']['path'];
12912
- type ListUserReviewsResponse = Readable<paths['/customers/{user_id}/reviews']['get']['responses'][200]['content']['application/json']>;
12913
- type ListUserReviewsContent = ListUserReviewsResponse['content'];
12914
- type ListUserReviewsPathParams = paths['/customers/{user_id}/reviews']['get']['parameters']['path'];
13200
+ type ListLoyaltyActivitiesQuery = paths['/customers/{customer_id}/loyalty-points-activity']['get']['parameters']['query'];
13201
+ type ListLoyaltyActivitiesPathParams = paths['/customers/{customer_id}/loyalty-points-activity']['get']['parameters']['path'];
13202
+ type ListSavedPaymentMethodsResponse = Readable<paths['/customers/{customer_id}/payment-methods']['get']['responses'][200]['content']['application/json']>;
13203
+ type ListSavedPaymentMethodsContent = ListSavedPaymentMethodsResponse['content'];
13204
+ type ListSavedPaymentMethodsQuery = paths['/customers/{customer_id}/payment-methods']['get']['parameters']['query'];
13205
+ type ListSavedPaymentMethodsPathParams = paths['/customers/{customer_id}/payment-methods']['get']['parameters']['path'];
13206
+ type ListCustomerReviewsResponse = Readable<paths['/customers/{customer_id}/reviews']['get']['responses'][200]['content']['application/json']>;
13207
+ type ListCustomerReviewsContent = ListCustomerReviewsResponse['content'];
13208
+ type ListCustomerReviewsPathParams = paths['/customers/{customer_id}/reviews']['get']['parameters']['path'];
12915
13209
  type CheckFulfillmentResponse = Readable<paths['/fulfillment/serviceability']['post']['responses'][200]['content']['application/json']>;
12916
13210
  type CheckFulfillmentContent = CheckFulfillmentResponse['content'];
12917
13211
  type CheckFulfillmentBody = Writable<NonNullable<paths['/fulfillment/serviceability']['post']['requestBody']>['content']['application/json']>;
@@ -13167,11 +13461,11 @@ type DeleteFromWishlistContent = DeleteFromWishlistResponse['content'];
13167
13461
  type DeleteFromWishlistPathParams = paths['/wishlist/{user_id}']['delete']['parameters']['path'];
13168
13462
  type DeleteFromWishlistBody = Writable<NonNullable<paths['/wishlist/{user_id}']['delete']['requestBody']>['content']['application/json']>;
13169
13463
  //#endregion
13170
- //#region src/lib/catalog.d.ts
13464
+ //#region src/lib/shared/catalog.d.ts
13171
13465
  /**
13172
13466
  * Client for interacting with catalog endpoints
13173
13467
  */
13174
- declare class CatalogClient extends StorefrontAPIClient {
13468
+ declare class BaseCatalogClient extends StorefrontAPIClientBase {
13175
13469
  /**
13176
13470
  * List all products
13177
13471
  *
@@ -13462,38 +13756,6 @@ declare class CatalogClient extends StorefrontAPIClient {
13462
13756
  * ```
13463
13757
  */
13464
13758
  listProductReviews(pathParams: ListProductReviewsPathParams, queryParams?: ListProductReviewsQuery): Promise<ApiResult<ListProductReviewsContent>>;
13465
- /**
13466
- * Create a product review
13467
- *
13468
- * @param pathParams - The path parameters (product ID)
13469
- * @param formData - The review data including rating, comment, and optional images
13470
- * @returns Promise with review creation response
13471
- *
13472
- * @example
13473
- * ```typescript
13474
- * const { data, error } = await sdk.catalog.createProductReview(
13475
- * { product_id: "prod_123" },
13476
- * {
13477
- * user_id: "user_123",
13478
- * order_number: "ORD-001",
13479
- * rating: 5,
13480
- * review_text: "Excellent product! Highly recommended.",
13481
- * images: [
13482
- * new File(["image data"], "review1.jpg", { type: "image/jpeg" }),
13483
- * new File(["image data"], "review2.jpg", { type: "image/jpeg" })
13484
- * ]
13485
- * }
13486
- * );
13487
- *
13488
- * if (error) {
13489
- * console.error("Failed to create review:", error);
13490
- * return;
13491
- * }
13492
- *
13493
- * console.log("Review created successfully:", data.message);
13494
- * ```
13495
- */
13496
- createProductReview(pathParams: CreateProductReviewPathParams, formData: CreateProductReviewFormData): Promise<ApiResult<CreateProductReviewResponse>>;
13497
13759
  /**
13498
13760
  * Search for products
13499
13761
  *
@@ -13710,11 +13972,57 @@ declare class CatalogClient extends StorefrontAPIClient {
13710
13972
  listSimilarProducts(options?: ListSimilarProductsQuery, headers?: ListSimilarProductsHeaderParams): Promise<ApiResult<ListSimilarProductsContent>>;
13711
13973
  }
13712
13974
  //#endregion
13975
+ //#region src/lib/public/catalog.d.ts
13976
+ /**
13977
+ * Client for interacting with catalog endpoints
13978
+ */
13979
+ declare class PublicCatalogClient extends BaseCatalogClient {}
13980
+ //#endregion
13981
+ //#region src/lib/catalog.d.ts
13982
+ /**
13983
+ * Client for interacting with catalog endpoints
13984
+ */
13985
+ declare class CatalogClient extends BaseCatalogClient {
13986
+ constructor(config: ConstructorParameters<typeof SessionStorefrontAPIClient>[0]);
13987
+ /**
13988
+ * Create a product review
13989
+ *
13990
+ * @param pathParams - The path parameters (product ID)
13991
+ * @param formData - The review data including rating, comment, and optional images
13992
+ * @returns Promise with review creation response
13993
+ *
13994
+ * @example
13995
+ * ```typescript
13996
+ * const { data, error } = await sdk.catalog.createProductReview(
13997
+ * { product_id: "prod_123" },
13998
+ * {
13999
+ * user_id: "user_123",
14000
+ * order_number: "ORD-001",
14001
+ * rating: 5,
14002
+ * review_text: "Excellent product! Highly recommended.",
14003
+ * images: [
14004
+ * new File(["image data"], "review1.jpg", { type: "image/jpeg" }),
14005
+ * new File(["image data"], "review2.jpg", { type: "image/jpeg" })
14006
+ * ]
14007
+ * }
14008
+ * );
14009
+ *
14010
+ * if (error) {
14011
+ * console.error("Failed to create review:", error);
14012
+ * return;
14013
+ * }
14014
+ *
14015
+ * console.log("Review created successfully:", data.message);
14016
+ * ```
14017
+ */
14018
+ createProductReview(pathParams: CreateProductReviewPathParams, formData: CreateProductReviewFormData): Promise<ApiResult<CreateProductReviewResponse>>;
14019
+ }
14020
+ //#endregion
13713
14021
  //#region src/lib/cart.d.ts
13714
14022
  /**
13715
14023
  * Client for interacting with cart endpoints
13716
14024
  */
13717
- declare class CartClient extends StorefrontAPIClient {
14025
+ declare class CartClient extends SessionStorefrontAPIClient {
13718
14026
  /**
13719
14027
  * Create a new cart
13720
14028
  *
@@ -13828,12 +14136,15 @@ declare class CartClient extends StorefrontAPIClient {
13828
14136
  /**
13829
14137
  * Get cart details by user ID
13830
14138
  *
13831
- * @param userId - The ID of the user
14139
+ * @param pathParams - Optional path parameters. When `user_id` is omitted, the SDK resolves it from the active session.
13832
14140
  * @returns Promise with cart details
13833
14141
  * @example
13834
14142
  * ```typescript
13835
- * const { data, error } = await sdk.cart.getUserCart({
13836
- * user_id: "01H9USER12345ABCDE"
14143
+ * const { data, error } = await sdk.cart.getUserCart();
14144
+ *
14145
+ * // You can still pass an explicit user_id when needed
14146
+ * const { data: asUser } = await sdk.cart.getUserCart({
14147
+ * user_id: "01H9USER12345ABCDE",
13837
14148
  * });
13838
14149
  *
13839
14150
  * if (error) {
@@ -13844,16 +14155,22 @@ declare class CartClient extends StorefrontAPIClient {
13844
14155
  * }
13845
14156
  * ```
13846
14157
  */
13847
- getUserCart(userId: GetUserCartPathParams): Promise<ApiResult<GetUserCartContent>>;
14158
+ getUserCart(): Promise<ApiResult<GetUserCartContent>>;
14159
+ getUserCart(pathParams: {
14160
+ user_id: string;
14161
+ }): Promise<ApiResult<GetUserCartContent>>;
13848
14162
  /**
13849
14163
  * Delete a cart by user ID
13850
14164
  *
13851
- * @param userId - The ID of the user
14165
+ * @param pathParams - Optional path parameters. When `user_id` is omitted, the SDK resolves it from the active session.
13852
14166
  * @returns Promise that resolves when the cart is deleted
13853
14167
  * @example
13854
14168
  * ```typescript
13855
- * const { data, error } = await sdk.cart.deleteUserCart({
13856
- * user_id: "01H9USER12345ABCDE"
14169
+ * const { data, error } = await sdk.cart.deleteUserCart();
14170
+ *
14171
+ * // You can still pass an explicit user_id when needed
14172
+ * const { data: asUser } = await sdk.cart.deleteUserCart({
14173
+ * user_id: "01H9USER12345ABCDE",
13857
14174
  * });
13858
14175
  *
13859
14176
  * if (error) {
@@ -13863,7 +14180,10 @@ declare class CartClient extends StorefrontAPIClient {
13863
14180
  * }
13864
14181
  * ```
13865
14182
  */
13866
- deleteUserCart(userId: DeleteUserCartPathParams): Promise<ApiResult<DeleteUserCartResponse>>;
14183
+ deleteUserCart(): Promise<ApiResult<DeleteUserCartResponse>>;
14184
+ deleteUserCart(pathParams: {
14185
+ user_id: string;
14186
+ }): Promise<ApiResult<DeleteUserCartResponse>>;
13867
14187
  /**
13868
14188
  * Update cart addresses
13869
14189
  *
@@ -14302,13 +14622,21 @@ declare class CartClient extends StorefrontAPIClient {
14302
14622
  /**
14303
14623
  * Get wishlist items
14304
14624
  *
14305
- * @param userId - The ID of the user
14625
+ * @param pathParamsOrQuery - Optional path parameters or query parameters.
14306
14626
  * @param options - Optional query parameters for filtering by seller_id (only for multi-seller marketplace stores)
14307
14627
  * @returns Promise with wishlist items
14308
14628
  * @example
14309
14629
  * ```typescript
14310
- * const { data, error } = await sdk.cart.getWishlist({
14311
- * user_id: "01H9USER12345ABCDE"
14630
+ * const { data, error } = await sdk.cart.getWishlist();
14631
+ *
14632
+ * // With query parameters
14633
+ * const { data: filtered } = await sdk.cart.getWishlist({
14634
+ * seller_id: "seller_123",
14635
+ * });
14636
+ *
14637
+ * // You can still pass an explicit user_id when needed
14638
+ * const { data: asUser } = await sdk.cart.getWishlist({
14639
+ * user_id: "01H9USER12345ABCDE",
14312
14640
  * });
14313
14641
  *
14314
14642
  * if (error) {
@@ -14322,20 +14650,30 @@ declare class CartClient extends StorefrontAPIClient {
14322
14650
  * }
14323
14651
  * ```
14324
14652
  */
14325
- getWishlist(userId: GetWishlistPathParams, options?: GetWishlistQuery): Promise<ApiResult<GetWishlistContent>>;
14653
+ getWishlist(): Promise<ApiResult<GetWishlistContent>>;
14654
+ getWishlist(queryParams: GetWishlistQuery): Promise<ApiResult<GetWishlistContent>>;
14655
+ getWishlist(pathParams: {
14656
+ user_id: string;
14657
+ }, queryParams?: GetWishlistQuery): Promise<ApiResult<GetWishlistContent>>;
14326
14658
  /**
14327
14659
  * Add item to wishlist
14328
14660
  *
14329
- * @param userId - The ID of the user
14330
- * @param itemId - The ID of the item
14661
+ * @param pathParamsOrBody - Optional path parameters or the wishlist body.
14662
+ * @param maybeBody - The wishlist body when path parameters are provided.
14331
14663
  * @returns Promise with updated wishlist
14332
14664
  * @example
14333
14665
  * ```typescript
14334
- * const { data, error } = await sdk.cart.addToWishlist(
14666
+ * const { data, error } = await sdk.cart.addToWishlist({
14667
+ * product_id: "01F3Z7KG06J4ACWH1C4926KJEC",
14668
+ * variant_id: null,
14669
+ * });
14670
+ *
14671
+ * // You can still pass an explicit user_id when needed
14672
+ * const { data: asUser } = await sdk.cart.addToWishlist(
14335
14673
  * { user_id: "01H9USER12345ABCDE" },
14336
14674
  * {
14337
14675
  * product_id: "01F3Z7KG06J4ACWH1C4926KJEC",
14338
- * variant_id: null
14676
+ * variant_id: null,
14339
14677
  * }
14340
14678
  * );
14341
14679
  *
@@ -14347,20 +14685,29 @@ declare class CartClient extends StorefrontAPIClient {
14347
14685
  * }
14348
14686
  * ```
14349
14687
  */
14350
- addToWishlist(userId: AddToWishlistPathParams, itemId: AddToWishlistBody): Promise<ApiResult<AddToWishlistContent>>;
14688
+ addToWishlist(body: AddToWishlistBody): Promise<ApiResult<AddToWishlistContent>>;
14689
+ addToWishlist(pathParams: {
14690
+ user_id: string;
14691
+ }, body: AddToWishlistBody): Promise<ApiResult<AddToWishlistContent>>;
14351
14692
  /**
14352
14693
  * Remove item from wishlist
14353
14694
  *
14354
- * @param userId - The ID of the user
14355
- * @param body - The body containing product details to remove
14695
+ * @param pathParamsOrBody - Optional path parameters or the wishlist body.
14696
+ * @param maybeBody - The wishlist body when path parameters are provided.
14356
14697
  * @returns Promise with updated wishlist
14357
14698
  * @example
14358
14699
  * ```typescript
14359
- * const { data, error } = await sdk.cart.removeFromWishlist(
14700
+ * const { data, error } = await sdk.cart.removeFromWishlist({
14701
+ * product_id: "01F3Z7KG06J4ACWH1C4926KJEC",
14702
+ * variant_id: null,
14703
+ * });
14704
+ *
14705
+ * // You can still pass an explicit user_id when needed
14706
+ * const { data: asUser } = await sdk.cart.removeFromWishlist(
14360
14707
  * { user_id: "01H9USER12345ABCDE" },
14361
14708
  * {
14362
14709
  * product_id: "01F3Z7KG06J4ACWH1C4926KJEC",
14363
- * variant_id: null
14710
+ * variant_id: null,
14364
14711
  * }
14365
14712
  * );
14366
14713
  *
@@ -14372,14 +14719,17 @@ declare class CartClient extends StorefrontAPIClient {
14372
14719
  * }
14373
14720
  * ```
14374
14721
  */
14375
- removeFromWishlist(userId: DeleteFromWishlistPathParams, body: DeleteFromWishlistBody): Promise<ApiResult<DeleteFromWishlistContent>>;
14722
+ removeFromWishlist(body: DeleteFromWishlistBody): Promise<ApiResult<DeleteFromWishlistContent>>;
14723
+ removeFromWishlist(pathParams: {
14724
+ user_id: string;
14725
+ }, body: DeleteFromWishlistBody): Promise<ApiResult<DeleteFromWishlistContent>>;
14376
14726
  }
14377
14727
  //#endregion
14378
14728
  //#region src/lib/auth.d.ts
14379
14729
  /**
14380
14730
  * Client for interacting with authentication endpoints
14381
14731
  */
14382
- declare class AuthClient extends StorefrontAPIClient {
14732
+ declare class AuthClient extends SessionStorefrontAPIClient {
14383
14733
  /**
14384
14734
  * Get anonymous token for guest users
14385
14735
  *
@@ -14490,13 +14840,14 @@ declare class AuthClient extends StorefrontAPIClient {
14490
14840
  */
14491
14841
  loginWithPassword(body: LoginWithPasswordBody): Promise<ApiResult<LoginWithPasswordContent>>;
14492
14842
  /**
14493
- * Forgot password
14843
+ * Start forgot-password OTP flow
14494
14844
  *
14495
- * @param body - Request body containing email address
14496
- * @returns Promise with password reset information
14845
+ * @param body - Request body containing email or phone details
14846
+ * @param headers - Optional header parameters (for example `x-debug-mode`)
14847
+ * @returns Promise with OTP token and action for the reset flow
14497
14848
  * @example
14498
14849
  * ```typescript
14499
- * // Send password reset email
14850
+ * // Send password reset OTP
14500
14851
  * const { data, error } = await sdk.auth.forgotPassword({
14501
14852
  * email: "customer@example.com"
14502
14853
  * });
@@ -14504,12 +14855,12 @@ declare class AuthClient extends StorefrontAPIClient {
14504
14855
  * if (error) {
14505
14856
  * console.error("Password reset failed:", error.message);
14506
14857
  * } else {
14507
- * console.log("Reset email sent successfully");
14508
- * // Show confirmation message to user
14858
+ * console.log("OTP token:", data.otp_token);
14859
+ * console.log("Action:", data.otp_action);
14509
14860
  * }
14510
14861
  * ```
14511
14862
  */
14512
- forgotPassword(body: ForgotPasswordBody): Promise<ApiResult<ForgotPasswordContent>>;
14863
+ forgotPassword(body: ForgotPasswordBody, headers?: ForgotPasswordHeaderParams): Promise<ApiResult<ForgotPasswordContent>>;
14513
14864
  /**
14514
14865
  * Reset password
14515
14866
  *
@@ -14584,7 +14935,8 @@ declare class AuthClient extends StorefrontAPIClient {
14584
14935
  * Register with phone
14585
14936
  *
14586
14937
  * @param body - Registration details including phone number and user information
14587
- * @returns Promise with user info and tokens
14938
+ * @param headers - Optional header parameters (for example `x-debug-mode`)
14939
+ * @returns Promise with OTP token and action for completing registration
14588
14940
  * @example
14589
14941
  * ```typescript
14590
14942
  * // Register a new user with phone number
@@ -14599,18 +14951,18 @@ declare class AuthClient extends StorefrontAPIClient {
14599
14951
  * if (error) {
14600
14952
  * console.error("Phone registration failed:", error.message);
14601
14953
  * } else {
14602
- * console.log("Registration successful:", data.user.first_name);
14603
- * console.log("User ID:", data.user.id);
14604
- * console.log("Access token:", data.access_token);
14954
+ * console.log("OTP token:", data.otp_token);
14955
+ * console.log("Action:", data.otp_action);
14605
14956
  * }
14606
14957
  * ```
14607
14958
  */
14608
- registerWithPhone(body: RegisterWithPhoneBody): Promise<ApiResult<RegisterWithPhoneContent>>;
14959
+ registerWithPhone(body: RegisterWithPhoneBody, headers?: RegisterWithPhoneHeaderParams): Promise<ApiResult<RegisterWithPhoneContent>>;
14609
14960
  /**
14610
14961
  * Register with email
14611
14962
  *
14612
14963
  * @param body - Registration details including email and user information
14613
- * @returns Promise with user info and tokens
14964
+ * @param headers - Optional header parameters (for example `x-debug-mode`)
14965
+ * @returns Promise with OTP token and action for completing registration
14614
14966
  * @example
14615
14967
  * ```typescript
14616
14968
  * // Register a new user with email address
@@ -14624,13 +14976,61 @@ declare class AuthClient extends StorefrontAPIClient {
14624
14976
  * if (error) {
14625
14977
  * console.error("Email registration failed:", error.message);
14626
14978
  * } else {
14627
- * console.log("Registration successful:", data.user.email);
14628
- * console.log("User ID:", data.user.id);
14629
- * console.log("Access token:", data.access_token);
14979
+ * console.log("OTP token:", data.otp_token);
14980
+ * console.log("Action:", data.otp_action);
14981
+ * }
14982
+ * ```
14983
+ */
14984
+ registerWithEmail(body: RegisterWithEmailBody, headers?: RegisterWithEmailHeaderParams): Promise<ApiResult<RegisterWithEmailContent>>;
14985
+ /**
14986
+ * Register with WhatsApp
14987
+ *
14988
+ * @param body - Registration details including WhatsApp number and user information
14989
+ * @param headers - Optional header parameters (for example `x-debug-mode`)
14990
+ * @returns Promise with OTP token and action for completing registration
14991
+ * @example
14992
+ * ```typescript
14993
+ * // Register a new user with WhatsApp number
14994
+ * const { data, error } = await sdk.auth.registerWithWhatsapp({
14995
+ * phone: "9876543210",
14996
+ * country_code: "+91",
14997
+ * first_name: "John",
14998
+ * last_name: "Doe",
14999
+ * email: "john.doe@example.com"
15000
+ * });
15001
+ *
15002
+ * if (error) {
15003
+ * console.error("WhatsApp registration failed:", error.message);
15004
+ * } else {
15005
+ * console.log("OTP token:", data.otp_token);
15006
+ * console.log("Action:", data.otp_action);
15007
+ * }
15008
+ * ```
15009
+ */
15010
+ registerWithWhatsapp(body: RegisterWithWhatsappBody, headers?: RegisterWithWhatsappHeaderParams): Promise<ApiResult<RegisterWithWhatsappContent>>;
15011
+ /**
15012
+ * Register with password
15013
+ *
15014
+ * @param body - Registration details including email or phone and password
15015
+ * @param headers - Optional header parameters (for example `x-debug-mode`)
15016
+ * @returns Promise with OTP token and action for completing registration
15017
+ * @example
15018
+ * ```typescript
15019
+ * const { data, error } = await sdk.auth.registerWithPassword({
15020
+ * email: "jane.smith@example.com",
15021
+ * password: "securePassword123",
15022
+ * confirm_password: "securePassword123",
15023
+ * });
15024
+ *
15025
+ * if (error) {
15026
+ * console.error("Password registration failed:", error.message);
15027
+ * } else {
15028
+ * console.log("OTP token:", data.otp_token);
15029
+ * console.log("Action:", data.otp_action);
14630
15030
  * }
14631
15031
  * ```
14632
15032
  */
14633
- registerWithEmail(body: RegisterWithEmailBody): Promise<ApiResult<RegisterWithEmailContent>>;
15033
+ registerWithPassword(body: RegisterWithPasswordBody, headers?: RegisterWithPasswordHeaderParams): Promise<ApiResult<RegisterWithPasswordContent>>;
14634
15034
  /**
14635
15035
  * Refresh the access token using a refresh token
14636
15036
  * @param body - Request body containing the refresh token
@@ -14824,112 +15224,40 @@ declare class AuthClient extends StorefrontAPIClient {
14824
15224
  * @returns Promise with profile image URL
14825
15225
  * @example
14826
15226
  * ```typescript
14827
- * // Get user's profile image URL
14828
- * const { data, error } = await sdk.auth.getProfileImage({
14829
- * id: "01H9XYZ12345USERID"
14830
- * });
14831
- *
14832
- * if (error) {
14833
- * console.error("Failed to get profile image:", error.message);
14834
- * } else {
14835
- * console.log("Profile image URL:", data.profile_image_url);
14836
- * }
14837
- * ```
14838
- */
14839
- getProfileImage(pathParams: GetProfileImagePathParams): Promise<ApiResult<GetProfileImageContent>>;
14840
- /**
14841
- * Deactivate user account
14842
- *
14843
- * @param pathParams - Path parameters containing user ID
14844
- * @returns Promise with deactivation confirmation
14845
- * @example
14846
- * ```typescript
14847
- * // Deactivate a user account
14848
- * const { data, error } = await sdk.auth.deactivateUserAccount({
14849
- * id: "01H9XYZ12345USERID"
14850
- * });
14851
- *
14852
- * if (error) {
14853
- * console.error("Failed to deactivate account:", error.message);
14854
- * } else {
14855
- * console.log("Account deactivated successfully");
14856
- * console.log("Success:", data.success);
14857
- * }
14858
- * ```
14859
- */
14860
- deactivateUserAccount(pathParams: DeactivateUserPathParams): Promise<ApiResult<DeactivateUserResponse>>;
14861
- /**
14862
- * Get user notification preferences
14863
- *
14864
- * @param pathParams - Path parameters containing user ID
14865
- * @returns Promise with user's notification preferences
14866
- * @example
14867
- * ```typescript
14868
- * // Get user's notification preferences
14869
- * const { data, error } = await sdk.auth.getUserNotificationPreferences({
14870
- * id: "01H9XYZ12345USERID"
14871
- * });
14872
- *
14873
- * if (error) {
14874
- * console.error("Failed to get preferences:", error.message);
14875
- * } else {
14876
- * console.log("Notification preferences:", data.notification_preferences);
14877
- * }
14878
- * ```
14879
- */
14880
- getUserNotificationPreferences(pathParams: GetNotificationPreferencesPathParams): Promise<ApiResult<GetNotificationPreferencesContent>>;
14881
- /**
14882
- * Update user notification preferences
14883
- *
14884
- * @param pathParams - Path parameters containing user ID
14885
- * @param body - Updated notification preferences
14886
- * @returns Promise with updated notification preferences
14887
- * @example
14888
- * ```typescript
14889
- * // Update user's notification preferences
14890
- * const { data, error } = await sdk.auth.updateUserNotificationPreferences(
14891
- * { id: "01H9XYZ12345USERID" },
14892
- * {
14893
- * email_notifications: true,
14894
- * sms_notifications: false,
14895
- * push_notifications: true
14896
- * }
14897
- * );
15227
+ * // Get user's profile image URL
15228
+ * const { data, error } = await sdk.auth.getProfileImage({
15229
+ * id: "01H9XYZ12345USERID"
15230
+ * });
14898
15231
  *
14899
15232
  * if (error) {
14900
- * console.error("Failed to update preferences:", error.message);
15233
+ * console.error("Failed to get profile image:", error.message);
14901
15234
  * } else {
14902
- * console.log("Preferences updated successfully");
15235
+ * console.log("Profile image URL:", data.profile_image_url);
14903
15236
  * }
14904
15237
  * ```
14905
15238
  */
14906
- updateUserNotificationPreferences(pathParams: UpdateNotificationPreferencesPathParams, body: UpdateNotificationPreferencesBody): Promise<ApiResult<UpdateNotificationPreferencesContent>>;
15239
+ getProfileImage(pathParams: GetProfileImagePathParams): Promise<ApiResult<GetProfileImageContent>>;
14907
15240
  /**
14908
- * Create user notification preference
15241
+ * Deactivate user account
14909
15242
  *
14910
15243
  * @param pathParams - Path parameters containing user ID
14911
- * @param body - Notification preferences to create
14912
- * @returns Promise with created notification preferences
15244
+ * @returns Promise with deactivation confirmation
14913
15245
  * @example
14914
15246
  * ```typescript
14915
- * // Create notification preferences for a user
14916
- * const { data, error } = await sdk.auth.createUserNotificationPreference(
14917
- * { id: "01H9XYZ12345USERID" },
14918
- * {
14919
- * email_notifications: true,
14920
- * sms_notifications: true,
14921
- * push_notifications: false
14922
- * }
14923
- * );
15247
+ * // Deactivate a user account
15248
+ * const { data, error } = await sdk.auth.deactivateUserAccount({
15249
+ * id: "01H9XYZ12345USERID"
15250
+ * });
14924
15251
  *
14925
15252
  * if (error) {
14926
- * console.error("Failed to create preferences:", error.message);
15253
+ * console.error("Failed to deactivate account:", error.message);
14927
15254
  * } else {
14928
- * console.log("Preferences created successfully");
15255
+ * console.log("Account deactivated successfully");
15256
+ * console.log("Success:", data.success);
14929
15257
  * }
14930
15258
  * ```
14931
15259
  */
14932
- createUserNotificationPreference(pathParams: CreateNotificationPreferencesPathParams, body: CreateNotificationPreferencesBody): Promise<ApiResult<CreateNotificationPreferencesContent>>;
15260
+ deactivateUserAccount(pathParams: DeactivateUserPathParams): Promise<ApiResult<DeactivateUserResponse>>;
14933
15261
  /**
14934
15262
  * Generate OTP
14935
15263
  *
@@ -14981,7 +15309,7 @@ declare class AuthClient extends StorefrontAPIClient {
14981
15309
  /**
14982
15310
  * Client for interacting with order endpoints
14983
15311
  */
14984
- declare class OrderClient extends StorefrontAPIClient {
15312
+ declare class OrderClient extends SessionStorefrontAPIClient {
14985
15313
  /**
14986
15314
  * Get order details
14987
15315
  *
@@ -15111,18 +15439,15 @@ declare class OrderClient extends StorefrontAPIClient {
15111
15439
  /**
15112
15440
  * List all orders
15113
15441
  *
15114
- * @param queryParams - Query parameters for filtering and pagination
15442
+ * @param queryParams - Optional query parameters for filtering and pagination. When `user_id` is omitted, the SDK resolves it from the active session.
15115
15443
  * @returns Promise with order list
15116
15444
  * @example
15117
15445
  * ```typescript
15118
- * // Basic usage - only required parameter
15119
- * const { data, error } = await sdk.order.listOrders({
15120
- * user_id: "user_01H9XYZ12345ABCDE"
15121
- * });
15446
+ * // Basic usage
15447
+ * const { data, error } = await sdk.order.listOrders();
15122
15448
  *
15123
15449
  * // Advanced usage with optional parameters
15124
15450
  * const { data, error } = await sdk.order.listOrders({
15125
- * user_id: "user_01H9XYZ12345ABCDE",
15126
15451
  * page: 1,
15127
15452
  * limit: 20,
15128
15453
  * sort_by: '{"created_at":"desc"}',
@@ -15141,7 +15466,8 @@ declare class OrderClient extends StorefrontAPIClient {
15141
15466
  * }
15142
15467
  * ```
15143
15468
  */
15144
- listOrders(queryParams: ListOrdersQuery): Promise<ApiResult<ListOrdersContent>>;
15469
+ listOrders(): Promise<ApiResult<ListOrdersContent>>;
15470
+ listOrders(queryParams: Partial<ListOrdersQuery>): Promise<ApiResult<ListOrdersContent>>;
15145
15471
  /**
15146
15472
  * Get payment status for an order
15147
15473
  *
@@ -15350,7 +15676,7 @@ declare class OrderClient extends StorefrontAPIClient {
15350
15676
  /**
15351
15677
  * Client for interacting with payment endpoints
15352
15678
  */
15353
- declare class PaymentsClient extends StorefrontAPIClient {
15679
+ declare class PaymentsClient extends SessionStorefrontAPIClient {
15354
15680
  /**
15355
15681
  * List all available payment methods
15356
15682
  *
@@ -15482,11 +15808,11 @@ declare class PaymentsClient extends StorefrontAPIClient {
15482
15808
  resendDirectOtp(body: ResendDirectOtpBody): Promise<ApiResult<ResendDirectOtpContent>>;
15483
15809
  }
15484
15810
  //#endregion
15485
- //#region src/lib/helper.d.ts
15811
+ //#region src/lib/shared/helper.d.ts
15486
15812
  /**
15487
15813
  * Client for interacting with helper endpoints
15488
15814
  */
15489
- declare class HelpersClient extends StorefrontAPIClient {
15815
+ declare class BaseHelpersClient extends StorefrontAPIClientBase {
15490
15816
  /**
15491
15817
  * Get a list of countries
15492
15818
  *
@@ -15586,22 +15912,35 @@ declare class HelpersClient extends StorefrontAPIClient {
15586
15912
  listCountryPincodes(pathParams: ListCountryPincodesPathParams, queryParams?: ListCountryPincodesQuery): Promise<ApiResult<ListCountryPincodesContent>>;
15587
15913
  }
15588
15914
  //#endregion
15915
+ //#region src/lib/public/helper.d.ts
15916
+ /**
15917
+ * Client for interacting with helper endpoints
15918
+ */
15919
+ declare class PublicHelpersClient extends BaseHelpersClient {}
15920
+ //#endregion
15921
+ //#region src/lib/helper.d.ts
15922
+ /**
15923
+ * Client for interacting with helper endpoints
15924
+ */
15925
+ declare class HelpersClient extends BaseHelpersClient {
15926
+ constructor(config: ConstructorParameters<typeof SessionStorefrontAPIClient>[0]);
15927
+ }
15928
+ //#endregion
15589
15929
  //#region src/lib/customer.d.ts
15590
15930
  /**
15591
15931
  * Client for interacting with customer endpoints
15592
15932
  */
15593
- declare class CustomerClient extends StorefrontAPIClient {
15933
+ declare class CustomerClient extends SessionStorefrontAPIClient {
15594
15934
  /**
15595
15935
  * Get all saved addresses for a customer
15596
15936
  *
15597
- * @param pathParams - Path parameters
15937
+ * @param pathParamsOrQuery - Optional path parameters or query parameters.
15938
+ * @param queryParams - Optional query parameters when path params are provided.
15598
15939
  * @returns Promise with addresses
15599
15940
  *
15600
15941
  * @example
15601
15942
  * ```typescript
15602
- * const { data, error } = await sdk.customer.listAddresses({
15603
- * user_id: "user_456"
15604
- * });
15943
+ * const { data, error } = await sdk.customer.listAddresses();
15605
15944
  *
15606
15945
  * if (error) {
15607
15946
  * console.error("Failed to list addresses:", error);
@@ -15613,35 +15952,35 @@ declare class CustomerClient extends StorefrontAPIClient {
15613
15952
  *
15614
15953
  * // With pagination
15615
15954
  * const { data: page2, error: page2Error } = await sdk.customer.listAddresses({
15616
- * user_id: "user_456",
15617
15955
  * page: 2,
15618
15956
  * limit: 10
15619
15957
  * });
15620
15958
  * ```
15621
15959
  */
15622
- listAddresses(pathParams: ListAddressesPathParams, queryParams?: ListAddressesQuery): Promise<ApiResult<ListAddressesContent>>;
15960
+ listAddresses(): Promise<ApiResult<ListAddressesContent>>;
15961
+ listAddresses(queryParams: ListAddressesQuery): Promise<ApiResult<ListAddressesContent>>;
15962
+ listAddresses(pathParams: {
15963
+ customer_id: string;
15964
+ }, queryParams?: ListAddressesQuery): Promise<ApiResult<ListAddressesContent>>;
15623
15965
  /**
15624
15966
  * Create a new address for a customer
15625
15967
  *
15626
- * @param pathParams - Path parameters
15627
- * @param body - Address creation body
15968
+ * @param pathParamsOrBody - Optional path parameters or the address body.
15969
+ * @param maybeBody - Address body when path params are provided.
15628
15970
  * @returns Promise with address details
15629
15971
  *
15630
15972
  * @example
15631
15973
  * ```typescript
15632
- * const { data, error } = await sdk.customer.createAddress(
15633
- * { user_id: "user_456" },
15634
- * {
15635
- * address_line1: "123 Main Street",
15636
- * address_line2: "Apt 4B",
15637
- * city: "New York",
15638
- * state: "NY",
15639
- * country: "US",
15640
- * pincode: "10001",
15641
- * is_default_billing: true,
15642
- * is_default_shipping: false
15643
- * }
15644
- * );
15974
+ * const { data, error } = await sdk.customer.createAddress({
15975
+ * address_line1: "123 Main Street",
15976
+ * address_line2: "Apt 4B",
15977
+ * city: "New York",
15978
+ * state: "NY",
15979
+ * country: "US",
15980
+ * pincode: "10001",
15981
+ * is_default_billing: true,
15982
+ * is_default_shipping: false
15983
+ * });
15645
15984
  *
15646
15985
  * if (error) {
15647
15986
  * console.error("Failed to create address:", error);
@@ -15651,17 +15990,20 @@ declare class CustomerClient extends StorefrontAPIClient {
15651
15990
  * console.log("Address created:", data.address);
15652
15991
  * ```
15653
15992
  */
15654
- createAddress(pathParams: CreateAddressPathParams, body: CreateAddressBody): Promise<ApiResult<CreateAddressContent>>;
15993
+ createAddress(body: CreateAddressBody): Promise<ApiResult<CreateAddressContent>>;
15994
+ createAddress(pathParams: {
15995
+ customer_id: string;
15996
+ }, body: CreateAddressBody): Promise<ApiResult<CreateAddressContent>>;
15655
15997
  /**
15656
15998
  * Get an address for a customer
15657
15999
  *
15658
- * @param pathParams - Path parameters
16000
+ * @param pathParams - Path parameters. `customer_id` is optional and resolved from the active session when omitted.
15659
16001
  * @returns Promise with address details
15660
16002
  *
15661
16003
  * @example
15662
16004
  * ```typescript
15663
16005
  * const { data, error } = await sdk.customer.getAddress({
15664
- * user_id: "user_456",
16006
+ * customer_id: "customer_456",
15665
16007
  * address_id: "addr_789"
15666
16008
  * });
15667
16009
  *
@@ -15673,11 +16015,17 @@ declare class CustomerClient extends StorefrontAPIClient {
15673
16015
  * console.log("Address details:", data.address);
15674
16016
  * ```
15675
16017
  */
15676
- getAddress(pathParams: GetAddressDetailPathParams): Promise<ApiResult<GetAddressDetailContent>>;
16018
+ getAddress(pathParams: {
16019
+ address_id: string;
16020
+ }): Promise<ApiResult<GetAddressDetailContent>>;
16021
+ getAddress(pathParams: {
16022
+ address_id: string;
16023
+ customer_id: string;
16024
+ }): Promise<ApiResult<GetAddressDetailContent>>;
15677
16025
  /**
15678
16026
  * Update an address for a customer
15679
16027
  *
15680
- * @param pathParams - Path parameters
16028
+ * @param pathParams - Path parameters. `customer_id` is optional and resolved from the active session when omitted.
15681
16029
  * @param body - Address update body
15682
16030
  * @returns Promise with address details
15683
16031
  *
@@ -15685,7 +16033,7 @@ declare class CustomerClient extends StorefrontAPIClient {
15685
16033
  * ```typescript
15686
16034
  * const { data, error } = await sdk.customer.updateAddress(
15687
16035
  * {
15688
- * user_id: "user_456",
16036
+ * customer_id: "customer_456",
15689
16037
  * address_id: "addr_789"
15690
16038
  * },
15691
16039
  * {
@@ -15704,17 +16052,23 @@ declare class CustomerClient extends StorefrontAPIClient {
15704
16052
  * console.log("Address updated:", data.address);
15705
16053
  * ```
15706
16054
  */
15707
- updateAddress(pathParams: UpdateAddressDetailPathParams, body: UpdateAddressDetailBody): Promise<ApiResult<UpdateAddressDetailContent>>;
16055
+ updateAddress(pathParams: {
16056
+ address_id: string;
16057
+ }, body: UpdateAddressDetailBody): Promise<ApiResult<UpdateAddressDetailContent>>;
16058
+ updateAddress(pathParams: {
16059
+ address_id: string;
16060
+ customer_id: string;
16061
+ }, body: UpdateAddressDetailBody): Promise<ApiResult<UpdateAddressDetailContent>>;
15708
16062
  /**
15709
16063
  * Delete an address for a customer
15710
16064
  *
15711
- * @param pathParams - Path parameters
16065
+ * @param pathParams - Path parameters. `customer_id` is optional and resolved from the active session when omitted.
15712
16066
  * @returns Promise with deletion response
15713
16067
  *
15714
16068
  * @example
15715
16069
  * ```typescript
15716
16070
  * const { data, error } = await sdk.customer.deleteAddress({
15717
- * user_id: "user_456",
16071
+ * customer_id: "customer_456",
15718
16072
  * address_id: "addr_789"
15719
16073
  * });
15720
16074
  *
@@ -15726,18 +16080,22 @@ declare class CustomerClient extends StorefrontAPIClient {
15726
16080
  * console.log("Address deleted:", data.message);
15727
16081
  * ```
15728
16082
  */
15729
- deleteAddress(pathParams: DeleteAddressPathParams): Promise<ApiResult<DeleteAddressResponse>>;
16083
+ deleteAddress(pathParams: {
16084
+ address_id: string;
16085
+ }): Promise<ApiResult<DeleteAddressResponse>>;
16086
+ deleteAddress(pathParams: {
16087
+ address_id: string;
16088
+ customer_id: string;
16089
+ }): Promise<ApiResult<DeleteAddressResponse>>;
15730
16090
  /**
15731
16091
  * Get customer loyalty details
15732
16092
  *
15733
- * @param pathParams - Path parameters
16093
+ * @param pathParams - Optional path parameters. When `customer_id` is omitted, the SDK resolves it from the active session.
15734
16094
  * @returns Promise with loyalty details
15735
16095
  *
15736
16096
  * @example
15737
16097
  * ```typescript
15738
- * const { data, error } = await sdk.customer.getLoyaltyDetails({
15739
- * user_id: "user_456"
15740
- * });
16098
+ * const { data, error } = await sdk.customer.getLoyaltyDetails();
15741
16099
  *
15742
16100
  * if (error) {
15743
16101
  * console.error("Failed to get loyalty details:", error);
@@ -15748,18 +16106,20 @@ declare class CustomerClient extends StorefrontAPIClient {
15748
16106
  * console.log("Points balance:", data.loyalty_point_balance);
15749
16107
  * ```
15750
16108
  */
15751
- getLoyaltyDetails(pathParams: GetLoyaltyDetailsPathParams): Promise<ApiResult<GetLoyaltyDetailsContent>>;
16109
+ getLoyaltyDetails(): Promise<ApiResult<GetLoyaltyDetailsContent>>;
16110
+ getLoyaltyDetails(pathParams: {
16111
+ customer_id: string;
16112
+ }): Promise<ApiResult<GetLoyaltyDetailsContent>>;
15752
16113
  /**
15753
16114
  * List all loyalty points activity for a customer
15754
16115
  *
15755
- * @param pathParams - Path parameters
16116
+ * @param pathParamsOrQuery - Optional path parameters or query parameters.
16117
+ * @param queryParams - Optional query parameters when path params are provided.
15756
16118
  * @returns Promise with loyalty points activity
15757
16119
  *
15758
16120
  * @example
15759
16121
  * ```typescript
15760
- * const { data, error } = await sdk.customer.listLoyaltyPointsActivity({
15761
- * user_id: "user_456"
15762
- * });
16122
+ * const { data, error } = await sdk.customer.listLoyaltyPointsActivity();
15763
16123
  *
15764
16124
  * if (error) {
15765
16125
  * console.error("Failed to get loyalty activity:", error);
@@ -15770,25 +16130,26 @@ declare class CustomerClient extends StorefrontAPIClient {
15770
16130
  *
15771
16131
  * // With pagination and sorting
15772
16132
  * const { data: sortedData, error: sortedError } = await sdk.customer.listLoyaltyPointsActivity({
15773
- * user_id: "user_456",
15774
16133
  * page: 1,
15775
16134
  * limit: 20,
15776
16135
  * sort_by: JSON.stringify({ "created_at": "desc" })
15777
16136
  * });
15778
16137
  * ```
15779
16138
  */
15780
- listLoyaltyPointsActivity(pathParams: ListLoyaltyActivitiesPathParams, queryParams?: ListLoyaltyActivitiesQuery): Promise<ApiResult<ListLoyaltyActivitiesContent>>;
16139
+ listLoyaltyPointsActivity(): Promise<ApiResult<ListLoyaltyActivitiesContent>>;
16140
+ listLoyaltyPointsActivity(queryParams: ListLoyaltyActivitiesQuery): Promise<ApiResult<ListLoyaltyActivitiesContent>>;
16141
+ listLoyaltyPointsActivity(pathParams: {
16142
+ customer_id: string;
16143
+ }, queryParams?: ListLoyaltyActivitiesQuery): Promise<ApiResult<ListLoyaltyActivitiesContent>>;
15781
16144
  /**
15782
16145
  * List all reviews left by a customer
15783
16146
  *
15784
- * @param pathParams - Path parameters
16147
+ * @param pathParams - Optional path parameters. When `customer_id` is omitted, the SDK resolves it from the active session.
15785
16148
  * @returns Promise with reviews
15786
16149
  *
15787
16150
  * @example
15788
16151
  * ```typescript
15789
- * const { data, error } = await sdk.customer.listCustomerReviews({
15790
- * user_id: "user_456"
15791
- * });
16152
+ * const { data, error } = await sdk.customer.listCustomerReviews();
15792
16153
  *
15793
16154
  * if (error) {
15794
16155
  * console.error("Failed to get customer reviews:", error);
@@ -15799,16 +16160,24 @@ declare class CustomerClient extends StorefrontAPIClient {
15799
16160
  * console.log("Ready for review:", data.ready_for_review);
15800
16161
  * ```
15801
16162
  */
15802
- listCustomerReviews(pathParams: ListUserReviewsPathParams): Promise<ApiResult<ListUserReviewsContent>>;
16163
+ listCustomerReviews(): Promise<ApiResult<ListCustomerReviewsContent>>;
16164
+ listCustomerReviews(pathParams: {
16165
+ customer_id: string;
16166
+ }): Promise<ApiResult<ListCustomerReviewsContent>>;
15803
16167
  /**
15804
16168
  * List all saved payment methods for a customer
15805
16169
  *
15806
- * @param pathParams - Path parameters
16170
+ * @param pathParams - Optional path parameters. When `customer_id` is omitted, the SDK resolves it from the active session.
16171
+ * @param queryParams - Optional query parameters for filtering.
15807
16172
  * @returns Promise with payment methods
15808
16173
  *
15809
16174
  * @example
15810
16175
  * ```typescript
15811
- * const { data, error } = await sdk.customer.listSavedPaymentMethods({
16176
+ * // Uses customer_id from active session
16177
+ * const { data, error } = await sdk.customer.listSavedPaymentMethods();
16178
+ *
16179
+ * // With explicit customer_id
16180
+ * const { data: explicit } = await sdk.customer.listSavedPaymentMethods({
15812
16181
  * customer_id: "customer_123"
15813
16182
  * });
15814
16183
  *
@@ -15820,16 +16189,23 @@ declare class CustomerClient extends StorefrontAPIClient {
15820
16189
  * console.log("Saved payment methods:", data.saved_payment_methods);
15821
16190
  * ```
15822
16191
  */
15823
- listSavedPaymentMethods(pathParams: ListSavedPaymentMethodsPathParams, queryParams?: ListSavedPaymentMethodsQuery): Promise<ApiResult<ListSavedPaymentMethodsContent>>;
16192
+ listSavedPaymentMethods(): Promise<ApiResult<ListSavedPaymentMethodsContent>>;
16193
+ listSavedPaymentMethods(pathParams: {
16194
+ customer_id: string;
16195
+ }, queryParams?: ListSavedPaymentMethodsQuery): Promise<ApiResult<ListSavedPaymentMethodsContent>>;
15824
16196
  /**
15825
16197
  * List all saved cards for a customer
15826
16198
  *
15827
- * @param pathParams - Path parameters
16199
+ * @param pathParams - Optional path parameters. When `customer_id` is omitted, the SDK resolves it from the active session.
15828
16200
  * @returns Promise with cards
15829
16201
  *
15830
16202
  * @example
15831
16203
  * ```typescript
15832
- * const { data, error } = await sdk.customer.listCustomerCards({
16204
+ * // Uses customer_id from active session
16205
+ * const { data, error } = await sdk.customer.listCustomerCards();
16206
+ *
16207
+ * // With explicit customer_id
16208
+ * const { data: explicit } = await sdk.customer.listCustomerCards({
15833
16209
  * customer_id: "customer_123"
15834
16210
  * });
15835
16211
  *
@@ -15841,14 +16217,17 @@ declare class CustomerClient extends StorefrontAPIClient {
15841
16217
  * console.log("Customer cards:", data.cards);
15842
16218
  * ```
15843
16219
  */
15844
- listCustomerCards(pathParams: ListCustomerCardsPathParams): Promise<ApiResult<ListCustomerCardsContent>>;
16220
+ listCustomerCards(): Promise<ApiResult<ListCustomerCardsContent>>;
16221
+ listCustomerCards(pathParams: {
16222
+ customer_id: string;
16223
+ }): Promise<ApiResult<ListCustomerCardsContent>>;
15845
16224
  }
15846
16225
  //#endregion
15847
- //#region src/lib/store-config.d.ts
16226
+ //#region src/lib/shared/store-config.d.ts
15848
16227
  /**
15849
16228
  * Client for interacting with store config endpoints
15850
16229
  */
15851
- declare class StoreConfigClient extends StorefrontAPIClient {
16230
+ declare class BaseStoreConfigClient extends StorefrontAPIClientBase {
15852
16231
  /**
15853
16232
  * Check store existence
15854
16233
  *
@@ -15858,7 +16237,7 @@ declare class StoreConfigClient extends StorefrontAPIClient {
15858
16237
  * @returns Promise with store existence check result
15859
16238
  * @example
15860
16239
  * ```typescript
15861
- * const { data, error } = await sdk.storeConfig.checkStore();
16240
+ * const { data, error } = await sdk.store.checkStore();
15862
16241
  *
15863
16242
  * if (error) {
15864
16243
  * console.error("Failed to check store:", error.message);
@@ -15875,7 +16254,7 @@ declare class StoreConfigClient extends StorefrontAPIClient {
15875
16254
  *
15876
16255
  * @example
15877
16256
  * ```typescript
15878
- * const { data, error } = await sdk.storeConfig.getStoreConfig();
16257
+ * const { data, error } = await sdk.store.getStoreConfig();
15879
16258
  *
15880
16259
  * if (error) {
15881
16260
  * console.error('Failed to get store config:', error.message);
@@ -15893,189 +16272,84 @@ declare class StoreConfigClient extends StorefrontAPIClient {
15893
16272
  getStoreConfig(): Promise<ApiResult<GetConfigContent>>;
15894
16273
  }
15895
16274
  //#endregion
15896
- //#region src/lib/middleware.d.ts
15897
- /**
15898
- * Token storage interface for the auth middleware
15899
- */
15900
- interface TokenStorage {
15901
- getAccessToken(): Promise<string | null>;
15902
- setAccessToken(token: string): Promise<void>;
15903
- getRefreshToken(): Promise<string | null>;
15904
- setRefreshToken(token: string): Promise<void>;
15905
- clearTokens(): Promise<void>;
15906
- }
15907
- /**
15908
- * Simple in-memory token storage implementation
15909
- */
15910
- declare class MemoryTokenStorage implements TokenStorage {
15911
- private accessToken;
15912
- private refreshToken;
15913
- getAccessToken(): Promise<string | null>;
15914
- setAccessToken(token: string): Promise<void>;
15915
- getRefreshToken(): Promise<string | null>;
15916
- setRefreshToken(token: string): Promise<void>;
15917
- clearTokens(): Promise<void>;
15918
- }
15919
- /**
15920
- * Browser localStorage token storage implementation
15921
- */
15922
- declare class BrowserTokenStorage implements TokenStorage {
15923
- private accessTokenKey;
15924
- private refreshTokenKey;
15925
- constructor(prefix?: string);
15926
- getAccessToken(): Promise<string | null>;
15927
- setAccessToken(token: string): Promise<void>;
15928
- getRefreshToken(): Promise<string | null>;
15929
- setRefreshToken(token: string): Promise<void>;
15930
- clearTokens(): Promise<void>;
15931
- }
15932
- /**
15933
- * Cookie-based token storage implementation
15934
- */
15935
- declare class CookieTokenStorage implements TokenStorage {
15936
- private accessTokenKey;
15937
- private refreshTokenKey;
15938
- private options;
15939
- constructor(options?: CookieTokenStorageOptions);
15940
- getAccessToken(): Promise<string | null>;
15941
- setAccessToken(token: string): Promise<void>;
15942
- getRefreshToken(): Promise<string | null>;
15943
- setRefreshToken(token: string): Promise<void>;
15944
- clearTokens(): Promise<void>;
15945
- private getCookie;
15946
- private setCookie;
15947
- private deleteCookie;
15948
- }
16275
+ //#region src/lib/public/store-config.d.ts
15949
16276
  /**
15950
- * Configuration options for CookieTokenStorage
16277
+ * Client for interacting with store config endpoints
15951
16278
  */
15952
- interface CookieTokenStorageOptions {
15953
- /**
15954
- * Prefix for cookie names (default: "storefront_")
15955
- */
15956
- prefix?: string;
15957
- /**
15958
- * Maximum age of cookies in seconds (default: 7 days)
15959
- */
15960
- maxAge?: number;
15961
- /**
15962
- * Cookie path (default: "/")
15963
- */
15964
- path?: string;
15965
- /**
15966
- * Cookie domain (default: current domain)
15967
- */
15968
- domain?: string;
15969
- /**
15970
- * Whether cookies should be secure (default: auto-detect based on protocol)
15971
- */
15972
- secure?: boolean;
15973
- /**
15974
- * SameSite cookie attribute (default: "Lax")
15975
- */
15976
- sameSite?: "Strict" | "Lax" | "None";
15977
- }
16279
+ declare class PublicStoreConfigClient extends BaseStoreConfigClient {}
15978
16280
  //#endregion
15979
- //#region src/lib/jwt-utils.d.ts
16281
+ //#region src/lib/store-config.d.ts
15980
16282
  /**
15981
- * Channel information from JWT token
16283
+ * Client for interacting with store config endpoints
15982
16284
  */
15983
- interface Channel {
15984
- id: string;
15985
- name: string;
15986
- type: string;
16285
+ declare class StoreConfigClient extends BaseStoreConfigClient {
16286
+ constructor(config: ConstructorParameters<typeof SessionStorefrontAPIClient>[0]);
15987
16287
  }
16288
+ //#endregion
16289
+ //#region src/lib/public/client.d.ts
15988
16290
  /**
15989
- * User information extracted from JWT token
16291
+ * Storefront API client that always authenticates with `X-Api-Key`.
16292
+ *
16293
+ * This client is used by the public storefront surface where no session or
16294
+ * token lifecycle should be involved.
15990
16295
  */
15991
- interface UserInfo {
15992
- id: string;
15993
- email: string | null;
15994
- phone: string | null;
15995
- username: string;
15996
- firstName: string | null;
15997
- lastName: string | null;
15998
- storeId: string;
15999
- isLoggedIn: boolean;
16000
- isAnonymous: boolean;
16001
- customerId: string | null;
16002
- customerGroupId: string | null;
16003
- anonymousId: string;
16004
- channel: Channel;
16005
- tokenExpiry: Date;
16006
- tokenIssuedAt: Date;
16296
+ declare class PublicStorefrontAPIClient extends StorefrontAPIClientBase {
16297
+ constructor(config: StorefrontClientBaseConfig);
16298
+ private setupPublicAuth;
16007
16299
  }
16008
16300
  //#endregion
16009
16301
  //#region src/index.d.ts
16010
16302
  /**
16011
- * Supported default headers that can be set at the SDK level
16012
- * Only includes headers that are actually supported by API endpoints
16013
- */
16014
- interface SupportedDefaultHeaders {
16015
- /**
16016
- * Customer group ID used for pricing, promotions, and subscription rates
16017
- * If not provided, the API will use default pricing
16018
- */
16019
- customer_group_id?: string;
16020
- /**
16021
- * Debug mode header
16022
- */
16023
- debug_mode?: boolean;
16024
- }
16025
- /**
16026
- * SDK initialization options for the Storefront API
16027
- * Extends the generic BaseSDKOptions with Commerce Engine and auth-specific features
16303
+ * Public SDK class for the Storefront API.
16304
+ *
16305
+ * This surface is intentionally limited to API-key-backed, public read
16306
+ * operations so it can be used safely during build and prerender flows.
16028
16307
  */
16029
- interface StorefrontSDKOptions extends BaseSDKOptions<SupportedDefaultHeaders> {
16030
- /**
16031
- * Store ID for the API requests
16032
- */
16033
- storeId: string;
16308
+ declare class PublicStorefrontSDK {
16034
16309
  /**
16035
- * Environment to use (defaults to Production)
16036
- * Overrides baseUrl if provided
16310
+ * Client for catalog-related read-only endpoints
16037
16311
  */
16038
- environment?: Environment;
16312
+ readonly catalog: PublicCatalogClient;
16039
16313
  /**
16040
- * Custom base URL (overrides environment if provided)
16041
- * If not provided, will be built from storeId and environment
16314
+ * Client for helper-related endpoints
16042
16315
  */
16043
- baseUrl?: string;
16316
+ readonly helpers: PublicHelpersClient;
16044
16317
  /**
16045
- * X-Api-Key for anonymous authentication endpoints
16046
- * Required for initial authentication
16318
+ * Client for store config-related endpoints
16047
16319
  */
16048
- apiKey?: string;
16320
+ readonly store: PublicStoreConfigClient;
16049
16321
  /**
16050
- * Optional initial access token
16051
- * - If tokenStorage is provided: Used as initial token value, then managed automatically
16052
- * - If tokenStorage is not provided: Used for manual token management
16322
+ * Centrally stored default headers for consistency
16053
16323
  */
16054
- accessToken?: string;
16324
+ private defaultHeaders?;
16325
+ constructor(options: PublicStorefrontSDKOptions);
16055
16326
  /**
16056
- * Optional initial refresh token
16057
- * - Only used when tokenStorage is provided
16058
- * - Allows initialization with both access and refresh tokens
16327
+ * Set the API key for all public clients
16328
+ *
16329
+ * @param apiKey - The API key to set
16059
16330
  */
16060
- refreshToken?: string;
16331
+ setApiKey(apiKey: string): void;
16061
16332
  /**
16062
- * Optional token storage for automatic token management
16063
- * If provided, enables automatic token refresh and management
16333
+ * Clear the API key from all public clients
16064
16334
  */
16065
- tokenStorage?: TokenStorage;
16335
+ clearApiKey(): void;
16066
16336
  /**
16067
- * Callback when tokens are updated (login/refresh)
16337
+ * Set default headers for all public clients
16338
+ *
16339
+ * @param headers - Default headers to set (only supported headers allowed)
16068
16340
  */
16069
- onTokensUpdated?: (accessToken: string, refreshToken: string) => void;
16341
+ setDefaultHeaders(headers: SupportedDefaultHeaders): void;
16070
16342
  /**
16071
- * Callback when tokens are cleared (logout/error)
16343
+ * Get current default headers
16344
+ *
16345
+ * @returns Current default headers from central storage (always consistent)
16072
16346
  */
16073
- onTokensCleared?: () => void;
16347
+ getDefaultHeaders(): SupportedDefaultHeaders | undefined;
16074
16348
  }
16075
16349
  /**
16076
- * Main SDK class for the Storefront API
16350
+ * Main session-aware SDK class for the Storefront API
16077
16351
  */
16078
- declare class StorefrontSDK {
16352
+ declare class SessionStorefrontSDK {
16079
16353
  /**
16080
16354
  * Client for catalog-related endpoints (products, categories, etc.)
16081
16355
  */
@@ -16113,11 +16387,16 @@ declare class StorefrontSDK {
16113
16387
  */
16114
16388
  private defaultHeaders?;
16115
16389
  /**
16116
- * Create a new StorefrontSDK instance
16390
+ * Shared session helper and coordinator for all API clients in this SDK instance.
16391
+ */
16392
+ readonly session: StorefrontSession;
16393
+ private readonly sessionManager;
16394
+ /**
16395
+ * Create a new SessionStorefrontSDK instance
16117
16396
  *
16118
16397
  * @param options - Configuration options for the SDK
16119
16398
  */
16120
- constructor(options: StorefrontSDKOptions);
16399
+ constructor(options: SessionStorefrontSDKOptions);
16121
16400
  /**
16122
16401
  * Set authentication tokens for all clients
16123
16402
  *
@@ -16149,41 +16428,64 @@ declare class StorefrontSDK {
16149
16428
  clearApiKey(): void;
16150
16429
  /**
16151
16430
  * Get the current access token if using token storage
16431
+ *
16432
+ * This is a passive lookup. It will not create or refresh a session.
16152
16433
  */
16153
16434
  getAccessToken(): Promise<string | null>;
16435
+ /**
16436
+ * Ensure an access token is available for the current session.
16437
+ *
16438
+ * This may create or refresh a managed session when automatic token
16439
+ * management is configured.
16440
+ *
16441
+ * @returns A usable access token
16442
+ */
16443
+ ensureAccessToken(): Promise<string>;
16154
16444
  /**
16155
16445
  * Get user information from the current access token
16156
16446
  *
16447
+ * This is a passive lookup. It will not create or refresh a session.
16448
+ *
16157
16449
  * @returns User information extracted from JWT token, or null if no token or invalid token
16158
16450
  */
16159
16451
  getUserInfo(): Promise<UserInfo | null>;
16160
16452
  /**
16161
16453
  * Get the current user ID from the access token
16162
16454
  *
16455
+ * This is a passive lookup. It will not create or refresh a session.
16456
+ *
16163
16457
  * @returns User ID (ulid) or null if no token or invalid token
16164
16458
  */
16165
16459
  getUserId(): Promise<string | null>;
16166
16460
  /**
16167
16461
  * Check if the current user is logged in (not anonymous)
16168
16462
  *
16463
+ * This is a passive lookup. It will not create or refresh a session.
16464
+ *
16169
16465
  * @returns True if user is logged in, false if anonymous or no token
16170
16466
  */
16171
16467
  isLoggedIn(): Promise<boolean>;
16172
16468
  /**
16173
16469
  * Check if the current user is anonymous
16174
16470
  *
16471
+ * This is a passive lookup. It will not create or refresh a session.
16472
+ *
16175
16473
  * @returns True if user is anonymous or no token, false if logged in
16176
16474
  */
16177
16475
  isAnonymous(): Promise<boolean>;
16178
16476
  /**
16179
16477
  * Get the customer ID from the current access token
16180
16478
  *
16479
+ * This is a passive lookup. It will not create or refresh a session.
16480
+ *
16181
16481
  * @returns Customer ID or null if no token, invalid token, or user has no customer ID
16182
16482
  */
16183
16483
  getCustomerId(): Promise<string | null>;
16184
16484
  /**
16185
16485
  * Get the customer group ID from the current access token
16186
16486
  *
16487
+ * This is a passive lookup. It will not create or refresh a session.
16488
+ *
16187
16489
  * @returns Customer group ID or null if no token, invalid token, or user has no customer group
16188
16490
  */
16189
16491
  getCustomerGroupId(): Promise<string | null>;
@@ -16200,6 +16502,68 @@ declare class StorefrontSDK {
16200
16502
  */
16201
16503
  getDefaultHeaders(): SupportedDefaultHeaders | undefined;
16202
16504
  }
16505
+ type SessionStorefrontConfig = Omit<SessionStorefrontSDKOptions, keyof PublicStorefrontSDKOptions>;
16506
+ interface CreateStorefrontOptions extends PublicStorefrontSDKOptions {
16507
+ /**
16508
+ * Optional default configuration for the cached session-aware SDK returned by
16509
+ * `storefront.session()`.
16510
+ */
16511
+ session?: SessionStorefrontConfig;
16512
+ }
16513
+ interface StorefrontFactory {
16514
+ /**
16515
+ * Get the cached public storefront SDK.
16516
+ *
16517
+ * This instance is safe for public reads and never participates in session
16518
+ * bootstrap, refresh, or token persistence.
16519
+ */
16520
+ public(): PublicStorefrontSDK;
16521
+ /**
16522
+ * Get the cached default session-aware SDK.
16523
+ *
16524
+ * Use this when your app should operate with a stable managed or manual
16525
+ * session configuration.
16526
+ */
16527
+ session(): SessionStorefrontSDK;
16528
+ /**
16529
+ * Create a one-off session-aware SDK with per-call overrides.
16530
+ *
16531
+ * This is useful for stateless/token-seeded requests that should not reuse
16532
+ * the cached session client from `storefront.session()`.
16533
+ *
16534
+ * @param overrides - Per-instance session configuration overrides
16535
+ */
16536
+ session(overrides: Partial<SessionStorefrontConfig>): SessionStorefrontSDK;
16537
+ }
16538
+ /**
16539
+ * Create a configured storefront factory with explicit public and session
16540
+ * access patterns.
16541
+ *
16542
+ * @example
16543
+ * ```typescript
16544
+ * import {
16545
+ * BrowserTokenStorage,
16546
+ * createStorefront,
16547
+ * Environment,
16548
+ * } from "@commercengine/storefront-sdk";
16549
+ *
16550
+ * export const storefront = createStorefront({
16551
+ * storeId: "your-store-id",
16552
+ * apiKey: "your-api-key",
16553
+ * environment: Environment.Staging,
16554
+ * session: {
16555
+ * tokenStorage: new BrowserTokenStorage("myapp_"),
16556
+ * },
16557
+ * });
16558
+ *
16559
+ * const { data: products } = await storefront.public().catalog.listProducts();
16560
+ * const { data: cart } = await storefront.session().cart.getCart();
16561
+ * ```
16562
+ *
16563
+ * @param options - Shared public config plus optional default session config
16564
+ * @returns A storefront factory with explicit `public()` and `session()` accessors
16565
+ */
16566
+ declare function createStorefront(options: CreateStorefrontOptions): StorefrontFactory;
16203
16567
  //#endregion
16204
- export { AcceleratedRewardCouponPromotion, AcceleratedRewardRule, AddProfileImageContent, AddProfileImageFormData, AddProfileImagePathParams, AddProfileImageResponse, AddToWishlistBody, AddToWishlistContent, AddToWishlistPathParams, AddToWishlistResponse, AdditionalProductDetails, AnalyticsEventInput, AnalyticsProvider, AnonymousUser, ApiErrorResponse, ApiResult, ApplicableCoupon, ApplicablePromotion, AppliedCoupon, AppliedPromotion, ApplyCouponBody, ApplyCouponContent, ApplyCouponPathParams, ApplyCouponResponse, AssociatedOption, AuthClient, AuthenticateDirectOtpBody, AuthenticateDirectOtpResponse, AutoScaleBasedOnAmount, AutoScaleBasedOnQuantity, BankTransfer, BaseAPIClient, BaseSDKOptions, BooleanAttribute, Brand, BrowserTokenStorage, Business, BusinessInput, BuyXGetYCouponPromotion, BuyXGetYRule, BuyXGetYRuleBasedOnAmount, BuyXGetYRuleBasedOnQuantity, CancelOrderBody, CancelOrderContent, CancelOrderPathParams, CancelOrderResponse, CancelPaymentRequestPathParams, CancelPaymentRequestResponse, CardPayment, CardbinInfo, Cart, CartBasedFulfillmentCheckInput, CartBasedFulfillmentOptionInput, CartClient, CartItem, CartShipment, CatalogClient, Category, ChangePasswordBody, ChangePasswordContent, ChangePasswordResponse, type Channel, CheckFulfillmentBody, CheckFulfillmentContent, CheckFulfillmentResponse, CheckStoreResponse, CheckVerificationStatusBody, CheckVerificationStatusContent, CheckVerificationStatusResponse, ClaimPosDeviceContent, ClaimPosDevicePathParams, ClaimPosDeviceResponse, CollectInStore, CollectInStoreAddress, CollectInStoreFulfillment, CollectInStoreFulfillmentInput, ColorAttribute, ColorOption, CookieTokenStorage, type CookieTokenStorageOptions, Country, CountryState, Coupon, CouponPromotionCommonDetail, CouponType, CreateAddressBody, CreateAddressContent, CreateAddressPathParams, CreateAddressResponse, CreateCartAddressBody, CreateCartAddressContent, CreateCartAddressPathParams, CreateCartAddressResponse, CreateCartBody, CreateCartContent, CreateCartResponse, CreateCustomSubscriptionInput, CreateDocumentContent, CreateDocumentFormData, CreateDocumentPathParams, CreateDocumentResponse, CreateJuspayCustomerBody, CreateJuspayCustomerContent, CreateJuspayCustomerResponse, CreateJuspayOrderBody, CreateJuspayOrderContent, CreateJuspayOrderResponse, CreateMarketplaceProductReviewFormData, CreateMarketplaceProductReviewPathParams, CreateMarketplaceProductReviewResponse, CreateNotificationPreferencesBody, CreateNotificationPreferencesContent, CreateNotificationPreferencesPathParams, CreateNotificationPreferencesResponse, CreateOrderBody, CreateOrderContent, CreateOrderResponse, CreateOrderReturnBody, CreateOrderReturnContent, CreateOrderReturnInput, CreateOrderReturnPathParams, CreateOrderReturnResponse, CreatePosOrderBody, CreatePosOrderContent, CreatePosOrderResponse, CreateProductReviewFormData, CreateProductReviewPathParams, CreateProductReviewResponse, CreateReviewInput, CreateStandardSubscriptionInput, CreateSubscriptionBody, CreateSubscriptionContent, CreateSubscriptionInput, CreateSubscriptionResponse, Currency, CustomSlabsBasedOnAmount, CustomSlabsBasedOnQuantity, CustomerAddress, CustomerAddressInput, CustomerClient, CustomerGroup, CustomerGroupInput, CustomerLoyalty, CustomerReadyForReview, CustomerReview, DateAttribute, DeactivateUserPathParams, DeactivateUserResponse, DebugLogger, DebugLoggerFn, DeleteAddressPathParams, DeleteAddressResponse, DeleteCartPathParams, DeleteCartResponse, DeleteDocumentPathParams, DeleteDocumentResponse, DeleteFromWishlistBody, DeleteFromWishlistContent, DeleteFromWishlistPathParams, DeleteFromWishlistResponse, DeleteUserCartPathParams, DeleteUserCartResponse, DeleteUserPathParams, DeleteUserResponse, DeliveryFulfillment, DeliveryFulfillmentInput, DeliveryOption, DiscountBasedPromotion, DiscountCouponPromotion, DiscountRule, Document, DocumentInput, Environment, EvaluateCouponsContent, EvaluateCouponsPathParams, EvaluateCouponsResponse, EvaluatePromotionsContent, EvaluatePromotionsPathParams, EvaluatePromotionsResponse, FixedAmountDiscountRule, FixedPriceCouponPromotion, FixedPricePromotion, FixedPriceRule, FixedPriceRuleBasedAmount, FixedPriceRuleBasedQuantity, ForgotPasswordBody, ForgotPasswordContent, ForgotPasswordResponse, FreeGoodCouponPromotion, FreeGoodsPromotion, FreeGoodsRule, FreeShipingCouponPromotion, FulfillmentItem, FulfillmentItemInput, FulfillmentPreference, FulfillmentPreferenceInput, GenerateHashBody, GenerateHashContent, GenerateHashResponse, GenerateOtpBody, GenerateOtpContent, GenerateOtpHeaderParams, GenerateOtpResponse, GenerateOtpWithEmailInput, GenerateOtpWithPhoneInput, GetAddressDetailContent, GetAddressDetailPathParams, GetAddressDetailResponse, GetAnonymousTokenContent, GetAnonymousTokenResponse, GetCardInfoContent, GetCardInfoQuery, GetCardInfoResponse, GetCartContent, GetCartPathParams, GetCartResponse, GetConfigContent, GetConfigResponse, GetDocumentContent, GetDocumentPathParams, GetDocumentResponse, GetFulfillmentOptionsBody, GetFulfillmentOptionsContent, GetFulfillmentOptionsResponse, GetJuspayCustomerContent, GetJuspayCustomerPathParams, GetJuspayCustomerResponse, GetLoyaltyDetailsContent, GetLoyaltyDetailsPathParams, GetLoyaltyDetailsResponse, GetMarketplaceProductDetailContent, GetMarketplaceProductDetailHeaderParams, GetMarketplaceProductDetailPathParams, GetMarketplaceProductDetailQuery, GetMarketplaceProductDetailResponse, GetMarketplaceVariantDetailContent, GetMarketplaceVariantDetailHeaderParams, GetMarketplaceVariantDetailPathParams, GetMarketplaceVariantDetailQuery, GetMarketplaceVariantDetailResponse, GetNotificationPreferencesContent, GetNotificationPreferencesPathParams, GetNotificationPreferencesResponse, GetOrderDetailContent, GetOrderDetailPathParams, GetOrderDetailResponse, GetOrderReturnDetailContent, GetOrderReturnDetailPathParams, GetOrderReturnDetailResponse, GetPaymentStatusContent, GetPaymentStatusPathParams, GetPaymentStatusResponse, GetPosFulfillmentOptionsBody, GetPosFulfillmentOptionsContent, GetPosFulfillmentOptionsResponse, GetPosUserContent, GetPosUserPathParams, GetPosUserResponse, GetProductDetailContent, GetProductDetailHeaderParams, GetProductDetailPathParams, GetProductDetailQuery, GetProductDetailResponse, GetProfileImageContent, GetProfileImagePathParams, GetProfileImageResponse, GetSellerDetailContent, GetSellerDetailPathParams, GetSellerDetailResponse, GetSubscriptionContent, GetSubscriptionPathParams, GetSubscriptionResponse, GetUserCartContent, GetUserCartPathParams, GetUserCartResponse, GetUserDetailContent, GetUserDetailPathParams, GetUserDetailResponse, GetVariantDetailContent, GetVariantDetailHeaderParams, GetVariantDetailPathParams, GetVariantDetailQuery, GetVariantDetailResponse, GetWishlistContent, GetWishlistPathParams, GetWishlistQuery, GetWishlistResponse, GstinDetail, HeaderConfig, HelpersClient, InapplicableCoupon, InapplicablePromotion, Item, ItemsBasedFulfillmentCheckInput, JusPayExpressCheckoutCommonFieldInput, JusPayExpressCheckoutInput, JusPayExpressCheckoutResponse, JusPayHyperCheckoutInput, JusPayHyperCheckoutResponse, JusPayNewCardInput, JusPaySavedCardTokenInput, JuspayCardDetail, JuspayCardPaymentMethod, JuspayCreateCustomerPayloadInput, JuspayCreateOrderPayloadInput, JuspayCustomer, JuspayNetBankingInput, JuspayNetbankingPaymentMethod, JuspayOrder, JuspayPaymentMethod, JuspayPaymentMethodDetail, JuspayUpiCollectInput, JuspayUpiIntentInput, JuspayUpiPaymentMethod, JuspayWalletPaymentMethod, KycDocument, KycDocumentConfig, ListAddressesContent, ListAddressesPathParams, ListAddressesQuery, ListAddressesResponse, ListCategoriesContent, ListCategoriesQuery, ListCategoriesResponse, ListCountriesContent, ListCountriesResponse, ListCountryPincodesContent, ListCountryPincodesPathParams, ListCountryPincodesQuery, ListCountryPincodesResponse, ListCountryStatesContent, ListCountryStatesPathParams, ListCountryStatesResponse, ListCouponsContent, ListCouponsHeaderParams, ListCouponsResponse, ListCrosssellProductsContent, ListCrosssellProductsHeaderParams, ListCrosssellProductsQuery, ListCrosssellProductsResponse, ListCustomerCardsContent, ListCustomerCardsPathParams, ListCustomerCardsResponse, ListDocumentsContent, ListDocumentsPathParams, ListDocumentsResponse, ListKycDocumentContent, ListKycDocumentResponse, ListLoyaltyActivitiesContent, ListLoyaltyActivitiesPathParams, ListLoyaltyActivitiesQuery, ListLoyaltyActivitiesResponse, ListMarketplaceCategoriesContent, ListMarketplaceCategoriesQuery, ListMarketplaceCategoriesResponse, ListMarketplaceCrosssellProductsContent, ListMarketplaceCrosssellProductsHeaderParams, ListMarketplaceCrosssellProductsQuery, ListMarketplaceCrosssellProductsResponse, ListMarketplaceProductReviewsContent, ListMarketplaceProductReviewsPathParams, ListMarketplaceProductReviewsQuery, ListMarketplaceProductReviewsResponse, ListMarketplaceProductVariantsContent, ListMarketplaceProductVariantsHeaderParams, ListMarketplaceProductVariantsPathParams, ListMarketplaceProductVariantsQuery, ListMarketplaceProductVariantsResponse, ListMarketplaceProductsContent, ListMarketplaceProductsHeaderParams, ListMarketplaceProductsQuery, ListMarketplaceProductsResponse, ListMarketplaceSimilarProductsContent, ListMarketplaceSimilarProductsHeaderParams, ListMarketplaceSimilarProductsQuery, ListMarketplaceSimilarProductsResponse, ListMarketplaceSkusContent, ListMarketplaceSkusHeaderParams, ListMarketplaceSkusQuery, ListMarketplaceSkusResponse, ListMarketplaceUpsellProductsContent, ListMarketplaceUpsellProductsHeaderParams, ListMarketplaceUpsellProductsQuery, ListMarketplaceUpsellProductsResponse, ListOrderPaymentsContent, ListOrderPaymentsPathParams, ListOrderPaymentsResponse, ListOrderRefundsContent, ListOrderRefundsPathParams, ListOrderRefundsResponse, ListOrderShipmentsContent, ListOrderShipmentsPathParams, ListOrderShipmentsResponse, ListOrdersContent, ListOrdersQuery, ListOrdersResponse, ListPaymentMethodsContent, ListPaymentMethodsQuery, ListPaymentMethodsResponse, ListPosDevicesContent, ListPosDevicesResponse, ListPosLocationsContent, ListPosLocationsResponse, ListProductReviewsContent, ListProductReviewsPathParams, ListProductReviewsQuery, ListProductReviewsResponse, ListProductVariantsContent, ListProductVariantsHeaderParams, ListProductVariantsPathParams, ListProductVariantsQuery, ListProductVariantsResponse, ListProductsContent, ListProductsHeaderParams, ListProductsQuery, ListProductsResponse, ListPromotionsContent, ListPromotionsHeaderParams, ListPromotionsResponse, ListReturnsContent, ListReturnsResponse, ListSavedPaymentMethodsContent, ListSavedPaymentMethodsPathParams, ListSavedPaymentMethodsQuery, ListSavedPaymentMethodsResponse, ListSellerReviewsContent, ListSellerReviewsPathParams, ListSellerReviewsResponse, ListSimilarProductsContent, ListSimilarProductsHeaderParams, ListSimilarProductsQuery, ListSimilarProductsResponse, ListSkusContent, ListSkusHeaderParams, ListSkusQuery, ListSkusResponse, ListSubscriptionsContent, ListSubscriptionsResponse, ListUpsellProductsContent, ListUpsellProductsHeaderParams, ListUpsellProductsQuery, ListUpsellProductsResponse, ListUserReviewsContent, ListUserReviewsPathParams, ListUserReviewsResponse, LoginPosDeviceWithEmailBody, LoginPosDeviceWithEmailContent, LoginPosDeviceWithEmailHeaderParams, LoginPosDeviceWithEmailResponse, LoginPosDeviceWithPhoneBody, LoginPosDeviceWithPhoneContent, LoginPosDeviceWithPhoneHeaderParams, LoginPosDeviceWithPhoneResponse, LoginPosDeviceWithWhatsappBody, LoginPosDeviceWithWhatsappContent, LoginPosDeviceWithWhatsappHeaderParams, LoginPosDeviceWithWhatsappResponse, LoginWithEmailBody, LoginWithEmailContent, LoginWithEmailHeaderParams, LoginWithEmailResponse, LoginWithPasswordBody, LoginWithPasswordContent, LoginWithPasswordResponse, LoginWithPhoneBody, LoginWithPhoneContent, LoginWithPhoneHeaderParams, LoginWithPhoneResponse, LoginWithWhatsappBody, LoginWithWhatsappContent, LoginWithWhatsappHeaderParams, LoginWithWhatsappResponse, LogoutContent, LogoutFromPosDeviceResponse, LogoutResponse, LotBatchDetail, LoyaltyPointActivity, ManualPaymentMethod, MarketplaceItem, MarketplaceProduct, MarketplaceProductDetail, MeasurementUnit, MemoryTokenStorage, MultiSelectAttribute, NetbankingPayment, NotificationChannelPreferences, NotificationChannelPreferencesInput, NotificationPreferences, NotificationPreferencesInput, NumberAttribute, Order, OrderClient, OrderDetail, OrderItem, OrderList, OrderPayment, OrderRefund, OrderReturn, OrderReturnItem, OrderReturnItemInput, OrderShipment, Pagination, PairPosDeviceBody, PairPosDeviceContent, PairPosDeviceResponse, PanDetail, PartialCollectAndDelivery, PartialCollectAndDeliveryInput, PauseSubscriptionInput, PayWithCardInput, PayWithCashInput, PayWithUpiInput, PaymentInfo, PaymentMethodPayloadInput, PaymentProvider, PaymentsClient, PayuPaymentInfo, PayuPaymentMethod, PercentageDiscountRule, Pincode, PosApplyCouponBody, PosApplyCouponContent, PosApplyCouponPathParams, PosApplyCouponResponse, PosCreateCartAddressBody, PosCreateCartAddressContent, PosCreateCartAddressPathParams, PosCreateCartAddressResponse, PosCreateCartBody, PosCreateCartContent, PosCreateCartResponse, PosDeleteCartPathParams, PosDeleteCartResponse, PosDevice, PosDeviceClaimedUser, PosEvaluateCouponsContent, PosEvaluateCouponsPathParams, PosEvaluateCouponsResponse, PosEvaluatePromotionsContent, PosEvaluatePromotionsPathParams, PosEvaluatePromotionsResponse, PosGetCartContent, PosGetCartPathParams, PosGetCartResponse, PosGetPaymentStatusContent, PosGetPaymentStatusPathParams, PosGetPaymentStatusResponse, PosGetProductDetailContent, PosGetProductDetailHeaderParams, PosGetProductDetailPathParams, PosGetProductDetailQuery, PosGetProductDetailResponse, PosGetUserCartContent, PosGetUserCartPathParams, PosGetUserCartResponse, PosGetVariantDetailContent, PosGetVariantDetailHeaderParams, PosGetVariantDetailPathParams, PosGetVariantDetailQuery, PosGetVariantDetailResponse, PosListCategoriesContent, PosListCategoriesQuery, PosListCategoriesResponse, PosListCouponsContent, PosListCouponsHeaderParams, PosListCouponsResponse, PosListCrosssellProductsContent, PosListCrosssellProductsHeaderParams, PosListCrosssellProductsQuery, PosListCrosssellProductsResponse, PosListProductReviewsContent, PosListProductReviewsPathParams, PosListProductReviewsQuery, PosListProductReviewsResponse, PosListProductVariantsContent, PosListProductVariantsHeaderParams, PosListProductVariantsPathParams, PosListProductVariantsQuery, PosListProductVariantsResponse, PosListProductsContent, PosListProductsHeaderParams, PosListProductsQuery, PosListProductsResponse, PosListPromotionsContent, PosListPromotionsHeaderParams, PosListPromotionsResponse, PosListSimilarProductsContent, PosListSimilarProductsHeaderParams, PosListSimilarProductsQuery, PosListSimilarProductsResponse, PosListSkusContent, PosListSkusHeaderParams, PosListSkusQuery, PosListSkusResponse, PosListUpsellProductsContent, PosListUpsellProductsHeaderParams, PosListUpsellProductsQuery, PosListUpsellProductsResponse, PosLocation, PosRedeemCreditBalanceBody, PosRedeemCreditBalanceContent, PosRedeemCreditBalancePathParams, PosRedeemCreditBalanceResponse, PosRedeemLoyaltyPointsBody, PosRedeemLoyaltyPointsContent, PosRedeemLoyaltyPointsPathParams, PosRedeemLoyaltyPointsResponse, PosRemoveCouponContent, PosRemoveCouponPathParams, PosRemoveCouponResponse, PosRemoveCreditBalanceContent, PosRemoveCreditBalancePathParams, PosRemoveCreditBalanceResponse, PosRemoveLoyaltyPointsContent, PosRemoveLoyaltyPointsPathParams, PosRemoveLoyaltyPointsResponse, PosSearchProductsBody, PosSearchProductsContent, PosSearchProductsHeaderParams, PosSearchProductsResponse, PosUpdateCartBody, PosUpdateCartContent, PosUpdateCartPathParams, PosUpdateCartResponse, PosUpdateCustomerWithEmailInput, PosUpdateCustomerWithIdInput, PosUpdateCustomerWithPhoneInput, PosUpdateFulfillmentPreferenceBody, PosUpdateFulfillmentPreferenceContent, PosUpdateFulfillmentPreferencePathParams, PosUpdateFulfillmentPreferenceResponse, PosUser, Product, ProductAttribute, ProductBundleItem, ProductCategory, ProductDetail, ProductImage, ProductPricing, ProductPromotion, ProductReview, ProductShipping, ProductSubscription, ProductVideo, Promotion, PromotionType, type Readable, RedeemCreditBalanceBody, RedeemCreditBalanceContent, RedeemCreditBalancePathParams, RedeemCreditBalanceResponse, RedeemLoyaltyPointsBody, RedeemLoyaltyPointsContent, RedeemLoyaltyPointsPathParams, RedeemLoyaltyPointsResponse, RefreshPosAccessTokenBody, RefreshPosAccessTokenContent, RefreshPosAccessTokenResponse, RefreshTokenBody, RefreshTokenContent, RefreshTokenResponse, RegisterWithEmailBody, RegisterWithEmailContent, RegisterWithEmailPasswordInput, RegisterWithEmailResponse, RegisterWithPasswordBody, RegisterWithPasswordContent, RegisterWithPasswordResponse, RegisterWithPhoneBody, RegisterWithPhoneContent, RegisterWithPhonePasswordInput, RegisterWithPhoneResponse, RegisterWithWhatsappBody, RegisterWithWhatsappContent, RegisterWithWhatsappResponse, RemoveCouponContent, RemoveCouponPathParams, RemoveCouponResponse, RemoveCreditBalanceContent, RemoveCreditBalancePathParams, RemoveCreditBalanceResponse, RemoveLoyaltyPointsContent, RemoveLoyaltyPointsPathParams, RemoveLoyaltyPointsResponse, RemoveProfileImagePathParams, RemoveProfileImageResponse, ResendDirectOtpBody, ResendDirectOtpContent, ResendDirectOtpResponse, ResetPasswordBody, ResetPasswordContent, ResetPasswordResponse, ResponseUtils, RetryOrderPaymentBody, RetryOrderPaymentContent, RetryOrderPaymentPathParams, RetryOrderPaymentResponse, RevokeSubscriptionInput, SavedPaymentMethod, SearchMarketplaceProductsBody, SearchMarketplaceProductsContent, SearchMarketplaceProductsHeaderParams, SearchMarketplaceProductsResponse, SearchProductInput, SearchProductsBody, SearchProductsContent, SearchProductsHeaderParams, SearchProductsResponse, SellerDetail, SellerInfo, SellerReview, SellerReviewStats, Seo, ServiceProviderBasicDetail, ShipmentItem, ShipmentStatus, SingleSelectAttribute, SingleSelectOption, StoreConfig, StoreConfigClient, StoreTemplate, StorefrontAPIClient, StorefrontSDK, StorefrontSDK as default, StorefrontSDKOptions, SubscribeNewsletterBody, SubscribeNewsletterResponse, Subscription, SubscriptionBehaviourInput, SubscriptionDetail, SubscriptionInvoiceItem, SubscriptionInvoiceItemInput, SupportedDefaultHeaders, TextAttribute, type TokenStorage, TrackAnalyticsEventBody, TrackAnalyticsEventResponse, UnclaimPosDeviceContent, UnclaimPosDevicePathParams, UnclaimPosDeviceResponse, UnserviceableItem, UpdateAddressDetailBody, UpdateAddressDetailContent, UpdateAddressDetailPathParams, UpdateAddressDetailResponse, UpdateCartBody, UpdateCartContent, UpdateCartItemInput, UpdateCartPathParams, UpdateCartResponse, UpdateDigitalProductSubscriptionInput, UpdateDocumentContent, UpdateDocumentFormData, UpdateDocumentInput, UpdateDocumentPathParams, UpdateDocumentResponse, UpdateFulfillmentPreferenceBody, UpdateFulfillmentPreferenceContent, UpdateFulfillmentPreferencePathParams, UpdateFulfillmentPreferenceResponse, UpdateNotificationPreferencesBody, UpdateNotificationPreferencesContent, UpdateNotificationPreferencesPathParams, UpdateNotificationPreferencesResponse, UpdatePhysicalProductSubscriptionInput, UpdatePosCartCustomerBody, UpdatePosCartCustomerContent, UpdatePosCartCustomerPathParams, UpdatePosCartCustomerResponse, UpdateProfileImageContent, UpdateProfileImageFormData, UpdateProfileImagePathParams, UpdateProfileImageResponse, UpdateSubscriptionBody, UpdateSubscriptionContent, UpdateSubscriptionPathParams, UpdateSubscriptionResponse, UpdateUserBody, UpdateUserContent, UpdateUserPathParams, UpdateUserResponse, UpiPayment, User, type UserInfo, UserInput, Variant, VariantDetail, VariantOption, VerifyDocumentBody, VerifyDocumentContent, VerifyDocumentPathParams, VerifyDocumentResponse, VerifyOtpBody, VerifyOtpContent, VerifyOtpResponse, VerifyPosLoginOtpBody, VerifyPosLoginOtpContent, VerifyPosLoginOtpResponse, VerifyVpaContent, VerifyVpaQuery, VerifyVpaResponse, VolumeBasedCouponPromotion, VolumeBasedPromotion, VolumeBasedRule, WalletPayment, type Writable, type components, createDebugMiddleware, createTimeoutMiddleware, executeRequest, extractRequestBody, getPathnameFromUrl, mergeAndTransformHeaders, mergeHeaders, type operations, type paths, transformHeaders };
16568
+ export { AcceleratedRewardCouponPromotion, AcceleratedRewardRule, AddProfileImageContent, AddProfileImageFormData, AddProfileImagePathParams, AddProfileImageResponse, AddToWishlistBody, AddToWishlistContent, AddToWishlistPathParams, AddToWishlistResponse, AdditionalProductDetails, AnalyticsEventInput, AnalyticsProvider, AnonymousUser, ApiErrorResponse, ApiResult, ApplicableCoupon, ApplicablePromotion, AppliedCoupon, AppliedPromotion, ApplyCouponBody, ApplyCouponContent, ApplyCouponPathParams, ApplyCouponResponse, AssociatedOption, AuthClient, AuthenticateDirectOtpBody, AuthenticateDirectOtpResponse, AutoScaleBasedOnAmount, AutoScaleBasedOnQuantity, BankTransfer, BaseAPIClient, BaseSDKOptions, BooleanAttribute, Brand, BrowserTokenStorage, Business, BusinessInput, BuyXGetYCouponPromotion, BuyXGetYRule, BuyXGetYRuleBasedOnAmount, BuyXGetYRuleBasedOnQuantity, CancelOrderBody, CancelOrderContent, CancelOrderPathParams, CancelOrderResponse, CancelPaymentRequestPathParams, CancelPaymentRequestResponse, CardPayment, CardbinInfo, Cart, CartBasedFulfillmentCheckInput, CartBasedFulfillmentOptionInput, CartClient, CartItem, CartShipment, CatalogClient, Category, ChangePasswordBody, ChangePasswordContent, ChangePasswordResponse, type Channel, CheckFulfillmentBody, CheckFulfillmentContent, CheckFulfillmentResponse, CheckStoreResponse, CheckVerificationStatusBody, CheckVerificationStatusContent, CheckVerificationStatusResponse, ClaimPosDeviceContent, ClaimPosDevicePathParams, ClaimPosDeviceResponse, CollectInStore, CollectInStoreAddress, CollectInStoreFulfillment, CollectInStoreFulfillmentInput, ColorAttribute, ColorOption, CookieTokenStorage, type CookieTokenStorageOptions, Country, CountryState, Coupon, CouponPromotionCommonDetail, CouponType, CreateAddressBody, CreateAddressContent, CreateAddressPathParams, CreateAddressResponse, CreateCartAddressBody, CreateCartAddressContent, CreateCartAddressPathParams, CreateCartAddressResponse, CreateCartBody, CreateCartContent, CreateCartResponse, CreateCustomSubscriptionInput, CreateDocumentContent, CreateDocumentFormData, CreateDocumentPathParams, CreateDocumentResponse, CreateJuspayCustomerBody, CreateJuspayCustomerContent, CreateJuspayCustomerResponse, CreateJuspayOrderBody, CreateJuspayOrderContent, CreateJuspayOrderResponse, CreateMarketplaceProductReviewFormData, CreateMarketplaceProductReviewPathParams, CreateMarketplaceProductReviewResponse, CreateOrderBody, CreateOrderContent, CreateOrderResponse, CreateOrderReturnBody, CreateOrderReturnContent, CreateOrderReturnInput, CreateOrderReturnPathParams, CreateOrderReturnResponse, CreatePosOrderBody, CreatePosOrderContent, CreatePosOrderResponse, CreateProductReviewFormData, CreateProductReviewPathParams, CreateProductReviewResponse, CreateReviewInput, CreateStandardSubscriptionInput, CreateStorefrontOptions, CreateSubscriptionBody, CreateSubscriptionContent, CreateSubscriptionInput, CreateSubscriptionResponse, Currency, CustomSlabsBasedOnAmount, CustomSlabsBasedOnQuantity, CustomerAddress, CustomerAddressInput, CustomerClient, CustomerGroup, CustomerGroupInput, CustomerLoyalty, CustomerReadyForReview, CustomerReview, DateAttribute, DeactivateUserPathParams, DeactivateUserResponse, DebugLogger, DebugLoggerFn, DeleteAddressPathParams, DeleteAddressResponse, DeleteCartPathParams, DeleteCartResponse, DeleteDocumentPathParams, DeleteDocumentResponse, DeleteFromWishlistBody, DeleteFromWishlistContent, DeleteFromWishlistPathParams, DeleteFromWishlistResponse, DeleteUserCartPathParams, DeleteUserCartResponse, DeleteUserPathParams, DeleteUserResponse, DeliveryFulfillment, DeliveryFulfillmentInput, DeliveryOption, DiscountBasedPromotion, DiscountCouponPromotion, DiscountRule, Document, DocumentInput, Environment, EvaluateCouponsContent, EvaluateCouponsPathParams, EvaluateCouponsResponse, EvaluatePromotionsContent, EvaluatePromotionsPathParams, EvaluatePromotionsResponse, FixedAmountDiscountRule, FixedPriceCouponPromotion, FixedPricePromotion, FixedPriceRule, FixedPriceRuleBasedAmount, FixedPriceRuleBasedQuantity, ForgotPasswordBody, ForgotPasswordContent, ForgotPasswordHeaderParams, ForgotPasswordResponse, FreeGoodCouponPromotion, FreeGoodsPromotion, FreeGoodsRule, FreeShipingCouponPromotion, FulfillmentItem, FulfillmentItemInput, FulfillmentPreference, FulfillmentPreferenceInput, GenerateHashBody, GenerateHashContent, GenerateHashResponse, GenerateOtpBody, GenerateOtpContent, GenerateOtpHeaderParams, GenerateOtpResponse, GenerateOtpWithEmailInput, GenerateOtpWithPhoneInput, GetAddressDetailContent, GetAddressDetailPathParams, GetAddressDetailResponse, GetAnonymousTokenContent, GetAnonymousTokenResponse, GetCardInfoContent, GetCardInfoQuery, GetCardInfoResponse, GetCartContent, GetCartPathParams, GetCartResponse, GetConfigContent, GetConfigResponse, GetDocumentContent, GetDocumentPathParams, GetDocumentResponse, GetFulfillmentOptionsBody, GetFulfillmentOptionsContent, GetFulfillmentOptionsResponse, GetJuspayCustomerContent, GetJuspayCustomerPathParams, GetJuspayCustomerResponse, GetLoyaltyDetailsContent, GetLoyaltyDetailsPathParams, GetLoyaltyDetailsResponse, GetMarketplaceProductDetailContent, GetMarketplaceProductDetailHeaderParams, GetMarketplaceProductDetailPathParams, GetMarketplaceProductDetailQuery, GetMarketplaceProductDetailResponse, GetMarketplaceVariantDetailContent, GetMarketplaceVariantDetailHeaderParams, GetMarketplaceVariantDetailPathParams, GetMarketplaceVariantDetailQuery, GetMarketplaceVariantDetailResponse, GetOrderDetailContent, GetOrderDetailPathParams, GetOrderDetailResponse, GetOrderReturnDetailContent, GetOrderReturnDetailPathParams, GetOrderReturnDetailResponse, GetPaymentStatusContent, GetPaymentStatusPathParams, GetPaymentStatusResponse, GetPosFulfillmentOptionsBody, GetPosFulfillmentOptionsContent, GetPosFulfillmentOptionsResponse, GetPosUserContent, GetPosUserPathParams, GetPosUserResponse, GetProductDetailContent, GetProductDetailHeaderParams, GetProductDetailPathParams, GetProductDetailQuery, GetProductDetailResponse, GetProfileImageContent, GetProfileImagePathParams, GetProfileImageResponse, GetSellerDetailContent, GetSellerDetailPathParams, GetSellerDetailResponse, GetSubscriptionContent, GetSubscriptionPathParams, GetSubscriptionResponse, GetUserCartContent, GetUserCartPathParams, GetUserCartResponse, GetUserDetailContent, GetUserDetailPathParams, GetUserDetailResponse, GetVariantDetailContent, GetVariantDetailHeaderParams, GetVariantDetailPathParams, GetVariantDetailQuery, GetVariantDetailResponse, GetWishlistContent, GetWishlistPathParams, GetWishlistQuery, GetWishlistResponse, GstinDetail, HeaderConfig, HelpersClient, InapplicableCoupon, InapplicablePromotion, Item, ItemsBasedFulfillmentCheckInput, JusPayExpressCheckoutCommonFieldInput, JusPayExpressCheckoutInput, JusPayExpressCheckoutResponse, JusPayHyperCheckoutInput, JusPayHyperCheckoutResponse, JusPayNewCardInput, JusPaySavedCardTokenInput, JuspayCardDetail, JuspayCardPaymentMethod, JuspayCreateCustomerPayloadInput, JuspayCreateOrderPayloadInput, JuspayCustomer, JuspayNetBankingInput, JuspayNetbankingPaymentMethod, JuspayOrder, JuspayPaymentMethod, JuspayPaymentMethodDetail, JuspayUpiCollectInput, JuspayUpiIntentInput, JuspayUpiPaymentMethod, JuspayWalletPaymentMethod, KycDocumentConfig, ListAddressesContent, ListAddressesPathParams, ListAddressesQuery, ListAddressesResponse, ListCategoriesContent, ListCategoriesQuery, ListCategoriesResponse, ListCountriesContent, ListCountriesResponse, ListCountryPincodesContent, ListCountryPincodesPathParams, ListCountryPincodesQuery, ListCountryPincodesResponse, ListCountryStatesContent, ListCountryStatesPathParams, ListCountryStatesResponse, ListCouponsContent, ListCouponsHeaderParams, ListCouponsResponse, ListCrosssellProductsContent, ListCrosssellProductsHeaderParams, ListCrosssellProductsQuery, ListCrosssellProductsResponse, ListCustomerCardsContent, ListCustomerCardsPathParams, ListCustomerCardsResponse, ListCustomerReviewsContent, ListCustomerReviewsPathParams, ListCustomerReviewsResponse, ListDocumentsContent, ListDocumentsPathParams, ListDocumentsResponse, ListKycDocumentContent, ListKycDocumentResponse, ListLoyaltyActivitiesContent, ListLoyaltyActivitiesPathParams, ListLoyaltyActivitiesQuery, ListLoyaltyActivitiesResponse, ListMarketplaceCategoriesContent, ListMarketplaceCategoriesQuery, ListMarketplaceCategoriesResponse, ListMarketplaceCrosssellProductsContent, ListMarketplaceCrosssellProductsHeaderParams, ListMarketplaceCrosssellProductsQuery, ListMarketplaceCrosssellProductsResponse, ListMarketplaceProductReviewsContent, ListMarketplaceProductReviewsPathParams, ListMarketplaceProductReviewsQuery, ListMarketplaceProductReviewsResponse, ListMarketplaceProductVariantsContent, ListMarketplaceProductVariantsHeaderParams, ListMarketplaceProductVariantsPathParams, ListMarketplaceProductVariantsQuery, ListMarketplaceProductVariantsResponse, ListMarketplaceProductsContent, ListMarketplaceProductsHeaderParams, ListMarketplaceProductsQuery, ListMarketplaceProductsResponse, ListMarketplaceSimilarProductsContent, ListMarketplaceSimilarProductsHeaderParams, ListMarketplaceSimilarProductsQuery, ListMarketplaceSimilarProductsResponse, ListMarketplaceSkusContent, ListMarketplaceSkusHeaderParams, ListMarketplaceSkusQuery, ListMarketplaceSkusResponse, ListMarketplaceUpsellProductsContent, ListMarketplaceUpsellProductsHeaderParams, ListMarketplaceUpsellProductsQuery, ListMarketplaceUpsellProductsResponse, ListOrderPaymentsContent, ListOrderPaymentsPathParams, ListOrderPaymentsResponse, ListOrderRefundsContent, ListOrderRefundsPathParams, ListOrderRefundsResponse, ListOrderShipmentsContent, ListOrderShipmentsPathParams, ListOrderShipmentsResponse, ListOrdersContent, ListOrdersQuery, ListOrdersResponse, ListPaymentMethodsContent, ListPaymentMethodsQuery, ListPaymentMethodsResponse, ListPosDevicesContent, ListPosDevicesResponse, ListPosLocationsContent, ListPosLocationsResponse, ListProductReviewsContent, ListProductReviewsPathParams, ListProductReviewsQuery, ListProductReviewsResponse, ListProductVariantsContent, ListProductVariantsHeaderParams, ListProductVariantsPathParams, ListProductVariantsQuery, ListProductVariantsResponse, ListProductsContent, ListProductsHeaderParams, ListProductsQuery, ListProductsResponse, ListPromotionsContent, ListPromotionsHeaderParams, ListPromotionsResponse, ListReturnsContent, ListReturnsResponse, ListSavedPaymentMethodsContent, ListSavedPaymentMethodsPathParams, ListSavedPaymentMethodsQuery, ListSavedPaymentMethodsResponse, ListSellerReviewsContent, ListSellerReviewsPathParams, ListSellerReviewsResponse, ListSimilarProductsContent, ListSimilarProductsHeaderParams, ListSimilarProductsQuery, ListSimilarProductsResponse, ListSkusContent, ListSkusHeaderParams, ListSkusQuery, ListSkusResponse, ListSubscriptionsContent, ListSubscriptionsResponse, ListUpsellProductsContent, ListUpsellProductsHeaderParams, ListUpsellProductsQuery, ListUpsellProductsResponse, LoginPosDeviceWithEmailBody, LoginPosDeviceWithEmailContent, LoginPosDeviceWithEmailHeaderParams, LoginPosDeviceWithEmailResponse, LoginPosDeviceWithPhoneBody, LoginPosDeviceWithPhoneContent, LoginPosDeviceWithPhoneHeaderParams, LoginPosDeviceWithPhoneResponse, LoginPosDeviceWithWhatsappBody, LoginPosDeviceWithWhatsappContent, LoginPosDeviceWithWhatsappHeaderParams, LoginPosDeviceWithWhatsappResponse, LoginWithEmailBody, LoginWithEmailContent, LoginWithEmailHeaderParams, LoginWithEmailResponse, LoginWithPasswordBody, LoginWithPasswordContent, LoginWithPasswordResponse, LoginWithPhoneBody, LoginWithPhoneContent, LoginWithPhoneHeaderParams, LoginWithPhoneResponse, LoginWithWhatsappBody, LoginWithWhatsappContent, LoginWithWhatsappHeaderParams, LoginWithWhatsappResponse, LogoutContent, LogoutFromPosDeviceResponse, LogoutResponse, LotBatchDetail, LoyaltyPointActivity, ManualPaymentMethod, MarketplaceItem, MarketplaceProduct, MarketplaceProductDetail, MemoryTokenStorage, MultiSelectAttribute, NetbankingPayment, NotificationChannelPreferences, NotificationChannelPreferencesInput, NotificationPreferences, NotificationPreferencesInput, NumberAttribute, Order, OrderClient, OrderDetail, OrderItem, OrderList, OrderPayment, OrderRefund, OrderReturn, OrderReturnItem, OrderReturnItemInput, OrderShipment, OtpContent, Pagination, PairPosDeviceBody, PairPosDeviceContent, PairPosDeviceResponse, PanDetail, PartialCollectAndDelivery, PartialCollectAndDeliveryInput, PauseSubscriptionInput, PayWithCardInput, PayWithCashInput, PayWithUpiInput, PaymentInfo, PaymentMethodPayloadInput, PaymentProvider, PaymentsClient, PayuPaymentInfo, PayuPaymentMethod, PercentageDiscountRule, Pincode, PosApplyCouponBody, PosApplyCouponContent, PosApplyCouponPathParams, PosApplyCouponResponse, PosCreateCartAddressBody, PosCreateCartAddressContent, PosCreateCartAddressPathParams, PosCreateCartAddressResponse, PosCreateCartBody, PosCreateCartContent, PosCreateCartResponse, PosDeleteCartPathParams, PosDeleteCartResponse, PosDevice, PosDeviceClaimedUser, PosEvaluateCouponsContent, PosEvaluateCouponsPathParams, PosEvaluateCouponsResponse, PosEvaluatePromotionsContent, PosEvaluatePromotionsPathParams, PosEvaluatePromotionsResponse, PosGetCartContent, PosGetCartPathParams, PosGetCartResponse, PosGetPaymentStatusContent, PosGetPaymentStatusPathParams, PosGetPaymentStatusResponse, PosGetProductDetailContent, PosGetProductDetailHeaderParams, PosGetProductDetailPathParams, PosGetProductDetailQuery, PosGetProductDetailResponse, PosGetUserCartContent, PosGetUserCartPathParams, PosGetUserCartResponse, PosGetVariantDetailContent, PosGetVariantDetailHeaderParams, PosGetVariantDetailPathParams, PosGetVariantDetailQuery, PosGetVariantDetailResponse, PosListCategoriesContent, PosListCategoriesQuery, PosListCategoriesResponse, PosListCouponsContent, PosListCouponsHeaderParams, PosListCouponsResponse, PosListCrosssellProductsContent, PosListCrosssellProductsHeaderParams, PosListCrosssellProductsQuery, PosListCrosssellProductsResponse, PosListProductReviewsContent, PosListProductReviewsPathParams, PosListProductReviewsQuery, PosListProductReviewsResponse, PosListProductVariantsContent, PosListProductVariantsHeaderParams, PosListProductVariantsPathParams, PosListProductVariantsQuery, PosListProductVariantsResponse, PosListProductsContent, PosListProductsHeaderParams, PosListProductsQuery, PosListProductsResponse, PosListPromotionsContent, PosListPromotionsHeaderParams, PosListPromotionsResponse, PosListSimilarProductsContent, PosListSimilarProductsHeaderParams, PosListSimilarProductsQuery, PosListSimilarProductsResponse, PosListSkusContent, PosListSkusHeaderParams, PosListSkusQuery, PosListSkusResponse, PosListUpsellProductsContent, PosListUpsellProductsHeaderParams, PosListUpsellProductsQuery, PosListUpsellProductsResponse, PosLocation, PosRedeemCreditBalanceBody, PosRedeemCreditBalanceContent, PosRedeemCreditBalancePathParams, PosRedeemCreditBalanceResponse, PosRedeemLoyaltyPointsBody, PosRedeemLoyaltyPointsContent, PosRedeemLoyaltyPointsPathParams, PosRedeemLoyaltyPointsResponse, PosRemoveCouponContent, PosRemoveCouponPathParams, PosRemoveCouponResponse, PosRemoveCreditBalanceContent, PosRemoveCreditBalancePathParams, PosRemoveCreditBalanceResponse, PosRemoveLoyaltyPointsContent, PosRemoveLoyaltyPointsPathParams, PosRemoveLoyaltyPointsResponse, PosSearchProductsBody, PosSearchProductsContent, PosSearchProductsHeaderParams, PosSearchProductsResponse, PosUpdateCartBody, PosUpdateCartContent, PosUpdateCartPathParams, PosUpdateCartResponse, PosUpdateCustomerWithEmailInput, PosUpdateCustomerWithIdInput, PosUpdateCustomerWithPhoneInput, PosUpdateFulfillmentPreferenceBody, PosUpdateFulfillmentPreferenceContent, PosUpdateFulfillmentPreferencePathParams, PosUpdateFulfillmentPreferenceResponse, PosUser, Product, ProductAttribute, ProductBundleItem, ProductCategory, ProductDetail, ProductImage, ProductPricing, ProductPromotion, ProductReview, ProductShipping, ProductSubscription, ProductVideo, Promotion, PromotionType, PublicCatalogClient, PublicHelpersClient, PublicStoreConfigClient, PublicStorefrontAPIClient, PublicStorefrontSDK, type PublicStorefrontSDKOptions, type Readable, RedeemCreditBalanceBody, RedeemCreditBalanceContent, RedeemCreditBalancePathParams, RedeemCreditBalanceResponse, RedeemLoyaltyPointsBody, RedeemLoyaltyPointsContent, RedeemLoyaltyPointsPathParams, RedeemLoyaltyPointsResponse, RefreshPosAccessTokenBody, RefreshPosAccessTokenContent, RefreshPosAccessTokenResponse, RefreshTokenBody, RefreshTokenContent, RefreshTokenResponse, RegisterWithEmailBody, RegisterWithEmailContent, RegisterWithEmailHeaderParams, RegisterWithEmailPasswordInput, RegisterWithEmailResponse, RegisterWithPasswordBody, RegisterWithPasswordContent, RegisterWithPasswordHeaderParams, RegisterWithPasswordResponse, RegisterWithPhoneBody, RegisterWithPhoneContent, RegisterWithPhoneHeaderParams, RegisterWithPhonePasswordInput, RegisterWithPhoneResponse, RegisterWithWhatsappBody, RegisterWithWhatsappContent, RegisterWithWhatsappHeaderParams, RegisterWithWhatsappResponse, RemoveCouponContent, RemoveCouponPathParams, RemoveCouponResponse, RemoveCreditBalanceContent, RemoveCreditBalancePathParams, RemoveCreditBalanceResponse, RemoveLoyaltyPointsContent, RemoveLoyaltyPointsPathParams, RemoveLoyaltyPointsResponse, RemoveProfileImagePathParams, RemoveProfileImageResponse, ResendDirectOtpBody, ResendDirectOtpContent, ResendDirectOtpResponse, ResetPasswordBody, ResetPasswordContent, ResetPasswordResponse, ResponseUtils, RetryOrderPaymentBody, RetryOrderPaymentContent, RetryOrderPaymentPathParams, RetryOrderPaymentResponse, RevokeSubscriptionInput, SavedPaymentMethod, SearchMarketplaceProductsBody, SearchMarketplaceProductsContent, SearchMarketplaceProductsHeaderParams, SearchMarketplaceProductsResponse, SearchProductInput, SearchProductsBody, SearchProductsContent, SearchProductsHeaderParams, SearchProductsResponse, SellerDetail, SellerInfo, SellerReview, SellerReviewStats, SendOtpWithEmailInput, SendOtpWithPhoneInput, Seo, ServiceProviderBasicDetail, SessionStorefrontAPIClient, SessionStorefrontConfig, SessionStorefrontSDK, type SessionStorefrontSDKOptions, ShipmentItem, ShipmentStatus, SingleSelectAttribute, SingleSelectOption, StoreConfig, StoreConfigClient, StoreTemplate, StorefrontFactory, type StorefrontSession, SubscribeNewsletterBody, SubscribeNewsletterResponse, Subscription, SubscriptionBehaviourInput, SubscriptionDetail, SubscriptionInvoiceItem, SubscriptionInvoiceItemInput, type SupportedDefaultHeaders, TextAttribute, type TokenStorage, TrackAnalyticsEventBody, TrackAnalyticsEventResponse, UnclaimPosDeviceContent, UnclaimPosDevicePathParams, UnclaimPosDeviceResponse, UnserviceableItem, UpdateAddressDetailBody, UpdateAddressDetailContent, UpdateAddressDetailPathParams, UpdateAddressDetailResponse, UpdateCartBody, UpdateCartContent, UpdateCartItemInput, UpdateCartPathParams, UpdateCartResponse, UpdateDigitalProductSubscriptionInput, UpdateDocumentContent, UpdateDocumentFormData, UpdateDocumentInput, UpdateDocumentPathParams, UpdateDocumentResponse, UpdateFulfillmentPreferenceBody, UpdateFulfillmentPreferenceContent, UpdateFulfillmentPreferencePathParams, UpdateFulfillmentPreferenceResponse, UpdatePhysicalProductSubscriptionInput, UpdatePosCartCustomerBody, UpdatePosCartCustomerContent, UpdatePosCartCustomerPathParams, UpdatePosCartCustomerResponse, UpdateProfileImageContent, UpdateProfileImageFormData, UpdateProfileImagePathParams, UpdateProfileImageResponse, UpdateSubscriptionBody, UpdateSubscriptionContent, UpdateSubscriptionPathParams, UpdateSubscriptionResponse, UpdateUserBody, UpdateUserContent, UpdateUserPathParams, UpdateUserResponse, UpiPayment, User, type UserInfo, UserInput, Variant, VariantDetail, VariantOption, VerifyDocumentBody, VerifyDocumentContent, VerifyDocumentPathParams, VerifyDocumentResponse, VerifyOtpBody, VerifyOtpContent, VerifyOtpResponse, VerifyPosLoginOtpBody, VerifyPosLoginOtpContent, VerifyPosLoginOtpResponse, VerifyVpaContent, VerifyVpaQuery, VerifyVpaResponse, VolumeBasedCouponPromotion, VolumeBasedPromotion, VolumeBasedRule, WalletPayment, type Writable, type components, createDebugMiddleware, createStorefront, createTimeoutMiddleware, executeRequest, extractRequestBody, getPathnameFromUrl, mergeAndTransformHeaders, mergeHeaders, type operations, type paths, transformHeaders };
16205
16569
  //# sourceMappingURL=index.d.mts.map