perspectapi-ts-sdk 3.7.0 → 4.1.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
@@ -277,6 +277,239 @@ interface NewsletterUnsubscribeResponse {
277
277
  message: string;
278
278
  status?: string;
279
279
  }
280
+ interface NewsletterManagementListMembership {
281
+ id: string;
282
+ list_name: string;
283
+ slug: string;
284
+ }
285
+ interface NewsletterManagementSubscription {
286
+ id: string;
287
+ site_id: string;
288
+ site_name: string;
289
+ email: string;
290
+ name?: string | null;
291
+ status: 'pending' | 'confirmed' | 'unsubscribed' | 'bounced' | 'complained';
292
+ confirmation_token?: string | null;
293
+ unsubscribe_token: string;
294
+ double_opt_in: boolean;
295
+ confirmed_at?: string | null;
296
+ source?: string | null;
297
+ source_url?: string | null;
298
+ frequency: 'instant' | 'daily' | 'weekly' | 'monthly';
299
+ topics?: string[] | string | null;
300
+ language: string;
301
+ tags?: string[] | string | null;
302
+ custom_fields?: Record<string, any> | string | null;
303
+ notes?: string | null;
304
+ unsubscribed_at?: string | null;
305
+ unsubscribe_reason?: string | null;
306
+ created_at: string;
307
+ updated_at: string;
308
+ lists: NewsletterManagementListMembership[];
309
+ }
310
+ interface NewsletterSubscriptionSyncRequest {
311
+ email: string;
312
+ name?: string | null;
313
+ status?: 'pending' | 'confirmed' | 'unsubscribed' | 'bounced' | 'complained';
314
+ list_ids?: string[];
315
+ frequency?: 'instant' | 'daily' | 'weekly' | 'monthly';
316
+ topics?: string[];
317
+ language?: string | null;
318
+ source?: string | null;
319
+ source_url?: string | null;
320
+ notes?: string | null;
321
+ tags?: string[];
322
+ metadata?: Record<string, any>;
323
+ resubscribe_override?: boolean;
324
+ }
325
+ interface NewsletterSubscriptionSyncResponse {
326
+ applied: boolean;
327
+ code: 'CREATED' | 'UPDATED' | 'RESUBSCRIBED' | 'ALREADY_UNSUBSCRIBED';
328
+ skipped_unsubscribed: boolean;
329
+ resubscribed: boolean;
330
+ created: boolean;
331
+ updated: boolean;
332
+ subscription_id: string;
333
+ subscription: NewsletterManagementSubscription;
334
+ }
335
+ type NewsletterSubscriptionsBulkAction = 'confirm' | 'unsubscribe' | 'delete' | 'add_to_list' | 'remove_from_list';
336
+ interface NewsletterSubscriptionsBulkUpdateRequest {
337
+ ids: string[];
338
+ action: NewsletterSubscriptionsBulkAction;
339
+ list_id?: string;
340
+ resubscribe_override?: boolean;
341
+ }
342
+ interface NewsletterSubscriptionsBulkOutcome {
343
+ id: string;
344
+ applied: boolean;
345
+ code: string;
346
+ error?: string;
347
+ skipped_unsubscribed?: boolean;
348
+ }
349
+ interface NewsletterSubscriptionsBulkUpdateResponse {
350
+ succeeded: number;
351
+ failed: number;
352
+ skipped_unsubscribed: number;
353
+ outcomes: NewsletterSubscriptionsBulkOutcome[];
354
+ }
355
+ interface NewsletterSubscriptionMembershipUpdateRequest {
356
+ mode: 'add' | 'remove' | 'replace';
357
+ list_ids: string[];
358
+ }
359
+ interface NewsletterSubscriptionImportRowRequest {
360
+ email: string;
361
+ name?: string | null;
362
+ status?: 'pending' | 'confirmed' | 'unsubscribed' | 'bounced' | 'complained';
363
+ list_ids?: string[];
364
+ frequency?: 'instant' | 'daily' | 'weekly' | 'monthly';
365
+ topics?: string[];
366
+ language?: string | null;
367
+ source?: string | null;
368
+ source_url?: string | null;
369
+ notes?: string | null;
370
+ tags?: string[];
371
+ metadata?: Record<string, any>;
372
+ resubscribe_override?: boolean;
373
+ }
374
+ interface NewsletterSubscriptionsImportRequest {
375
+ rows: NewsletterSubscriptionImportRowRequest[];
376
+ resubscribe_override?: boolean;
377
+ }
378
+ interface NewsletterSubscriptionsImportRowResult {
379
+ index: number;
380
+ email: string;
381
+ applied: boolean;
382
+ code: string;
383
+ skipped_unsubscribed: boolean;
384
+ resubscribed: boolean;
385
+ subscription_id: string;
386
+ }
387
+ interface NewsletterSubscriptionsImportResponse {
388
+ total: number;
389
+ processed: number;
390
+ applied: number;
391
+ created: number;
392
+ updated: number;
393
+ resubscribed: number;
394
+ skipped_unsubscribed: number;
395
+ rows: NewsletterSubscriptionsImportRowResult[];
396
+ }
397
+ interface NewsletterManagementPagination {
398
+ page: number;
399
+ limit: number;
400
+ total: number;
401
+ pages: number;
402
+ }
403
+ interface NewsletterManagementSubscriptionsListResponse {
404
+ items: NewsletterManagementSubscription[];
405
+ pagination: NewsletterManagementPagination;
406
+ }
407
+ interface NewsletterManagementList extends NewsletterList {
408
+ site_id: string;
409
+ site_name: string;
410
+ description?: string;
411
+ is_public: boolean;
412
+ is_default: boolean;
413
+ double_opt_in: boolean;
414
+ welcome_email_enabled: boolean;
415
+ subscriber_count: number;
416
+ status: 'active' | 'archived';
417
+ created_at: string;
418
+ updated_at: string;
419
+ }
420
+ interface NewsletterManagementSeries {
421
+ id: string;
422
+ site_id: string;
423
+ site_name: string;
424
+ series_name: string;
425
+ description?: string | null;
426
+ list_ids?: string | null;
427
+ from_name?: string | null;
428
+ from_email?: string | null;
429
+ reply_to_email?: string | null;
430
+ subject_prefix?: string | null;
431
+ cadence: 'manual' | 'daily' | 'weekly' | 'monthly';
432
+ timezone?: string | null;
433
+ send_time?: string | null;
434
+ day_of_week?: number | null;
435
+ day_of_month?: number | null;
436
+ status: 'active' | 'paused' | 'archived';
437
+ last_sent_at?: string | null;
438
+ next_send_at?: string | null;
439
+ tags?: string | null;
440
+ notes?: string | null;
441
+ created_at: string;
442
+ updated_at: string;
443
+ created_by?: string | null;
444
+ }
445
+ interface NewsletterManagementCampaign {
446
+ id: string;
447
+ site_id: string;
448
+ site_name: string;
449
+ series_id?: string | null;
450
+ series_name?: string | null;
451
+ campaign_name: string;
452
+ slug?: string | null;
453
+ slug_prefix?: string | null;
454
+ subject: string;
455
+ markdown_content?: string | null;
456
+ template_id?: string | null;
457
+ list_ids?: string | null;
458
+ tags?: string | null;
459
+ notes?: string | null;
460
+ preview_text?: string | null;
461
+ from_name?: string | null;
462
+ from_email?: string | null;
463
+ reply_to_email?: string | null;
464
+ status: 'draft' | 'scheduled' | 'sending' | 'sent' | 'cancelled';
465
+ scheduled_at?: string | null;
466
+ sent_at?: string | null;
467
+ completed_at?: string | null;
468
+ total_recipients?: number | null;
469
+ sent_count?: number | null;
470
+ delivered_count?: number | null;
471
+ opened_count?: number | null;
472
+ clicked_count?: number | null;
473
+ unsubscribed_count?: number | null;
474
+ bounced_count?: number | null;
475
+ complained_count?: number | null;
476
+ created_at: string;
477
+ updated_at: string;
478
+ }
479
+ interface NewsletterManagementCampaignListResponse {
480
+ items: NewsletterManagementCampaign[];
481
+ pagination: NewsletterManagementPagination;
482
+ }
483
+ interface NewsletterCampaignTestSendRequest {
484
+ to: string | string[];
485
+ subject?: string | null;
486
+ }
487
+ interface NewsletterCampaignTestSendResponse {
488
+ sent: number;
489
+ recipients: string[];
490
+ campaign_id: string;
491
+ }
492
+ interface NewsletterManagementStatsResponse {
493
+ total: number;
494
+ byStatus: Record<string, number>;
495
+ recentActivity: Array<{
496
+ date: string;
497
+ count: number;
498
+ }>;
499
+ }
500
+ interface NewsletterExportCreateRequest {
501
+ format?: 'csv' | 'json' | 'xlsx';
502
+ status?: 'pending' | 'confirmed' | 'unsubscribed' | 'bounced' | 'complained';
503
+ list_id?: string;
504
+ search?: string | null;
505
+ }
506
+ interface NewsletterExportCreateResponse {
507
+ exportId: string;
508
+ downloadUrl: string;
509
+ expiresAt: string;
510
+ format: 'csv' | 'json';
511
+ rowCount: number;
512
+ }
280
513
  type ContentStatus = 'draft' | 'publish' | 'private' | 'trash';
281
514
  type ContentType = 'post' | 'page' | 'block';
282
515
  interface Content {
@@ -2134,150 +2367,6 @@ declare class NewsletterClient extends BaseClient {
2134
2367
  * Check subscription status by email
2135
2368
  */
2136
2369
  getStatus(siteName: string, email: string): Promise<ApiResponse<NewsletterStatusResponse>>;
2137
- /**
2138
- * Get all newsletter subscriptions (admin only)
2139
- */
2140
- getSubscriptions(siteName: string, params?: {
2141
- page?: number;
2142
- limit?: number;
2143
- status?: string;
2144
- list_id?: string;
2145
- search?: string;
2146
- startDate?: string;
2147
- endDate?: string;
2148
- }): Promise<PaginatedResponse<NewsletterSubscription>>;
2149
- /**
2150
- * Get subscription by ID (admin only)
2151
- */
2152
- getSubscriptionById(siteName: string, id: string): Promise<ApiResponse<NewsletterSubscription>>;
2153
- /**
2154
- * Update subscription status (admin only)
2155
- */
2156
- updateSubscriptionStatus(siteName: string, id: string, status: 'confirmed' | 'unsubscribed' | 'bounced' | 'complained', notes?: string): Promise<ApiResponse<{
2157
- message: string;
2158
- }>>;
2159
- /**
2160
- * Delete subscription (admin only)
2161
- */
2162
- deleteSubscription(siteName: string, id: string): Promise<ApiResponse<{
2163
- message: string;
2164
- }>>;
2165
- /**
2166
- * Bulk update subscriptions (admin only)
2167
- */
2168
- bulkUpdateSubscriptions(siteName: string, data: {
2169
- ids: string[];
2170
- action: 'confirm' | 'unsubscribe' | 'delete' | 'add_to_list' | 'remove_from_list';
2171
- list_id?: string;
2172
- }): Promise<ApiResponse<{
2173
- success: boolean;
2174
- updatedCount: number;
2175
- failedCount: number;
2176
- }>>;
2177
- /**
2178
- * Create newsletter list (admin only)
2179
- */
2180
- createList(siteName: string, data: {
2181
- list_name: string;
2182
- slug: string;
2183
- description?: string;
2184
- is_public?: boolean;
2185
- is_default?: boolean;
2186
- double_opt_in?: boolean;
2187
- welcome_email_enabled?: boolean;
2188
- }): Promise<ApiResponse<NewsletterList>>;
2189
- /**
2190
- * Update newsletter list (admin only)
2191
- */
2192
- updateList(siteName: string, listId: string, data: Partial<{
2193
- list_name: string;
2194
- description: string;
2195
- is_public: boolean;
2196
- is_default: boolean;
2197
- double_opt_in: boolean;
2198
- welcome_email_enabled: boolean;
2199
- }>): Promise<ApiResponse<{
2200
- message: string;
2201
- }>>;
2202
- /**
2203
- * Delete newsletter list (admin only)
2204
- */
2205
- deleteList(siteName: string, listId: string): Promise<ApiResponse<{
2206
- message: string;
2207
- }>>;
2208
- /**
2209
- * Get newsletter statistics (admin only)
2210
- */
2211
- getStatistics(siteName: string, params?: {
2212
- startDate?: string;
2213
- endDate?: string;
2214
- list_id?: string;
2215
- }): Promise<ApiResponse<{
2216
- totalSubscribers: number;
2217
- confirmedSubscribers: number;
2218
- pendingSubscribers: number;
2219
- unsubscribedCount: number;
2220
- bouncedCount: number;
2221
- subscribersByDay: Array<{
2222
- date: string;
2223
- count: number;
2224
- }>;
2225
- subscribersByList: Array<{
2226
- list_id: string;
2227
- list_name: string;
2228
- count: number;
2229
- }>;
2230
- engagementMetrics: {
2231
- averageOpenRate: number;
2232
- averageClickRate: number;
2233
- };
2234
- }>>;
2235
- /**
2236
- * Export newsletter subscriptions (admin only)
2237
- */
2238
- exportSubscriptions(siteName: string, params?: {
2239
- format?: 'csv' | 'json' | 'xlsx';
2240
- status?: string;
2241
- list_id?: string;
2242
- startDate?: string;
2243
- endDate?: string;
2244
- }): Promise<ApiResponse<{
2245
- downloadUrl: string;
2246
- expiresAt: string;
2247
- }>>;
2248
- /**
2249
- * Import newsletter subscriptions (admin only)
2250
- */
2251
- importSubscriptions(siteName: string, data: {
2252
- subscriptions: Array<{
2253
- email: string;
2254
- name?: string;
2255
- status?: string;
2256
- lists?: string[];
2257
- }>;
2258
- skip_confirmation?: boolean;
2259
- update_existing?: boolean;
2260
- }): Promise<ApiResponse<{
2261
- imported: number;
2262
- updated: number;
2263
- failed: number;
2264
- errors?: Array<{
2265
- email: string;
2266
- error: string;
2267
- }>;
2268
- }>>;
2269
- /**
2270
- * Send test newsletter (admin only)
2271
- */
2272
- sendTestNewsletter(siteName: string, data: {
2273
- to: string;
2274
- subject: string;
2275
- html_content: string;
2276
- text_content?: string;
2277
- }): Promise<ApiResponse<{
2278
- message: string;
2279
- sent: boolean;
2280
- }>>;
2281
2370
  /**
2282
2371
  * Track email open event.
2283
2372
  * Called by client sites when their tracking pixel route is hit.
@@ -2312,6 +2401,171 @@ declare class NewsletterClient extends BaseClient {
2312
2401
  private isCachePolicy;
2313
2402
  }
2314
2403
 
2404
+ /**
2405
+ * Newsletter management client for PerspectAPI SDK
2406
+ * Strict management surface under /newsletter/management/*
2407
+ */
2408
+
2409
+ declare class NewsletterManagementClient extends BaseClient {
2410
+ constructor(http: any, cache?: CacheManager);
2411
+ private managementEndpoint;
2412
+ listSubscriptions(siteName: string, params?: {
2413
+ page?: number;
2414
+ limit?: number;
2415
+ status?: 'pending' | 'confirmed' | 'unsubscribed' | 'bounced' | 'complained';
2416
+ list_id?: string;
2417
+ search?: string;
2418
+ startDate?: string;
2419
+ endDate?: string;
2420
+ }): Promise<ApiResponse<NewsletterManagementSubscriptionsListResponse>>;
2421
+ getSubscriptionById(siteName: string, subscriptionId: string): Promise<ApiResponse<NewsletterManagementSubscription>>;
2422
+ getSubscriptionByEmail(siteName: string, email: string): Promise<ApiResponse<NewsletterManagementSubscription>>;
2423
+ syncSubscription(siteName: string, data: NewsletterSubscriptionSyncRequest): Promise<ApiResponse<NewsletterSubscriptionSyncResponse>>;
2424
+ updateSubscription(siteName: string, subscriptionId: string, data: Omit<NewsletterSubscriptionSyncRequest, 'email'>): Promise<ApiResponse<NewsletterSubscriptionSyncResponse>>;
2425
+ deleteSubscription(siteName: string, subscriptionId: string): Promise<ApiResponse<{
2426
+ deleted: boolean;
2427
+ subscription_id: string;
2428
+ }>>;
2429
+ bulkUpdateSubscriptions(siteName: string, data: NewsletterSubscriptionsBulkUpdateRequest): Promise<ApiResponse<NewsletterSubscriptionsBulkUpdateResponse>>;
2430
+ updateSubscriptionListMembership(siteName: string, subscriptionId: string, data: NewsletterSubscriptionMembershipUpdateRequest): Promise<ApiResponse<{
2431
+ subscription: NewsletterManagementSubscription;
2432
+ mode: 'add' | 'remove' | 'replace';
2433
+ list_ids: string[];
2434
+ }>>;
2435
+ importSubscriptions(siteName: string, data: NewsletterSubscriptionsImportRequest): Promise<ApiResponse<NewsletterSubscriptionsImportResponse>>;
2436
+ listLists(siteName: string, params?: {
2437
+ status?: 'active' | 'archived';
2438
+ }): Promise<ApiResponse<{
2439
+ items: NewsletterManagementList[];
2440
+ total: number;
2441
+ }>>;
2442
+ getListById(siteName: string, listId: string): Promise<ApiResponse<NewsletterManagementList>>;
2443
+ createList(siteName: string, data: {
2444
+ list_name: string;
2445
+ slug: string;
2446
+ description?: string | null;
2447
+ is_public?: boolean;
2448
+ is_default?: boolean;
2449
+ double_opt_in?: boolean;
2450
+ welcome_email_enabled?: boolean;
2451
+ }): Promise<ApiResponse<NewsletterManagementList>>;
2452
+ updateList(siteName: string, listId: string, data: Partial<{
2453
+ list_name: string | null;
2454
+ slug: string | null;
2455
+ description: string | null;
2456
+ is_public: boolean;
2457
+ is_default: boolean;
2458
+ double_opt_in: boolean;
2459
+ welcome_email_enabled: boolean;
2460
+ status: 'active' | 'archived';
2461
+ }>): Promise<ApiResponse<NewsletterManagementList>>;
2462
+ deleteList(siteName: string, listId: string): Promise<ApiResponse<{
2463
+ deleted: boolean;
2464
+ list_id: string;
2465
+ }>>;
2466
+ listSeries(siteName: string, params?: {
2467
+ status?: 'active' | 'paused' | 'archived';
2468
+ }): Promise<ApiResponse<{
2469
+ items: NewsletterManagementSeries[];
2470
+ total: number;
2471
+ }>>;
2472
+ getSeriesById(siteName: string, seriesId: string): Promise<ApiResponse<NewsletterManagementSeries>>;
2473
+ createSeries(siteName: string, data: {
2474
+ series_name: string;
2475
+ description?: string | null;
2476
+ status?: 'active' | 'paused' | 'archived';
2477
+ cadence?: 'manual' | 'daily' | 'weekly' | 'monthly';
2478
+ timezone?: string | null;
2479
+ send_time?: string | null;
2480
+ day_of_week?: number | null;
2481
+ day_of_month?: number | null;
2482
+ next_send_at?: string | null;
2483
+ list_ids?: string[];
2484
+ from_name?: string | null;
2485
+ from_email?: string | null;
2486
+ reply_to_email?: string | null;
2487
+ subject_prefix?: string | null;
2488
+ tags?: string[];
2489
+ notes?: string | null;
2490
+ }): Promise<ApiResponse<NewsletterManagementSeries>>;
2491
+ updateSeries(siteName: string, seriesId: string, data: Partial<{
2492
+ series_name: string;
2493
+ description?: string | null;
2494
+ status?: 'active' | 'paused' | 'archived';
2495
+ cadence?: 'manual' | 'daily' | 'weekly' | 'monthly';
2496
+ timezone?: string | null;
2497
+ send_time?: string | null;
2498
+ day_of_week?: number | null;
2499
+ day_of_month?: number | null;
2500
+ next_send_at?: string | null;
2501
+ list_ids?: string[];
2502
+ from_name?: string | null;
2503
+ from_email?: string | null;
2504
+ reply_to_email?: string | null;
2505
+ subject_prefix?: string | null;
2506
+ tags?: string[];
2507
+ notes?: string | null;
2508
+ }>): Promise<ApiResponse<NewsletterManagementSeries>>;
2509
+ deleteSeries(siteName: string, seriesId: string): Promise<ApiResponse<{
2510
+ deleted: boolean;
2511
+ series_id: string;
2512
+ }>>;
2513
+ listCampaigns(siteName: string, params?: {
2514
+ page?: number;
2515
+ limit?: number;
2516
+ status?: 'draft' | 'scheduled' | 'sending' | 'sent' | 'cancelled';
2517
+ }): Promise<ApiResponse<NewsletterManagementCampaignListResponse>>;
2518
+ getCampaignById(siteName: string, campaignId: string): Promise<ApiResponse<NewsletterManagementCampaign>>;
2519
+ createCampaign(siteName: string, data: {
2520
+ campaign_name: string;
2521
+ subject: string;
2522
+ markdown_content: string;
2523
+ slug?: string | null;
2524
+ slug_prefix?: string | null;
2525
+ status?: 'draft' | 'scheduled' | 'cancelled';
2526
+ scheduled_at?: string | null;
2527
+ preview_text?: string | null;
2528
+ from_name?: string | null;
2529
+ from_email?: string | null;
2530
+ reply_to_email?: string | null;
2531
+ template_id?: string | null;
2532
+ series_id?: string | null;
2533
+ list_ids?: string[];
2534
+ tags?: string[];
2535
+ notes?: string | null;
2536
+ }): Promise<ApiResponse<NewsletterManagementCampaign>>;
2537
+ updateCampaign(siteName: string, campaignId: string, data: Partial<{
2538
+ campaign_name: string;
2539
+ subject: string;
2540
+ markdown_content: string;
2541
+ slug?: string | null;
2542
+ slug_prefix?: string | null;
2543
+ status?: 'draft' | 'scheduled' | 'cancelled';
2544
+ scheduled_at?: string | null;
2545
+ preview_text?: string | null;
2546
+ from_name?: string | null;
2547
+ from_email?: string | null;
2548
+ reply_to_email?: string | null;
2549
+ template_id?: string | null;
2550
+ series_id?: string | null;
2551
+ list_ids?: string[];
2552
+ tags?: string[];
2553
+ notes?: string | null;
2554
+ }>): Promise<ApiResponse<NewsletterManagementCampaign>>;
2555
+ deleteCampaign(siteName: string, campaignId: string): Promise<ApiResponse<{
2556
+ deleted: boolean;
2557
+ campaign_id: string;
2558
+ }>>;
2559
+ sendCampaignTest(siteName: string, campaignId: string, data: NewsletterCampaignTestSendRequest): Promise<ApiResponse<NewsletterCampaignTestSendResponse>>;
2560
+ getStats(siteName: string, params?: {
2561
+ startDate?: string;
2562
+ endDate?: string;
2563
+ list_id?: string;
2564
+ }): Promise<ApiResponse<NewsletterManagementStatsResponse>>;
2565
+ createExport(siteName: string, data: NewsletterExportCreateRequest): Promise<ApiResponse<NewsletterExportCreateResponse>>;
2566
+ downloadExport(siteName: string, exportId: string): Promise<ApiResponse<string>>;
2567
+ }
2568
+
2315
2569
  /**
2316
2570
  * Site Users client for PerspectAPI SDK
2317
2571
  * Handles per-site customer accounts (OTP-based auth, profiles, orders, subscriptions)
@@ -2713,6 +2967,7 @@ declare class PerspectApiClient {
2713
2967
  readonly checkout: CheckoutClient;
2714
2968
  readonly contact: ContactClient;
2715
2969
  readonly newsletter: NewsletterClient;
2970
+ readonly newsletterManagement: NewsletterManagementClient;
2716
2971
  readonly siteUsers: SiteUsersClient;
2717
2972
  readonly bundles: BundlesClient;
2718
2973
  constructor(config: PerspectApiConfig);
@@ -3119,4 +3374,4 @@ declare function createCheckoutSession(options: CheckoutSessionOptions): Promise
3119
3374
  error: string;
3120
3375
  }>;
3121
3376
 
3122
- export { type AddCollectionItemRequest, type ApiError, type ApiKey, ApiKeysClient, type ApiResponse, AuthClient, BaseClient, type BlogPost, type BundleCollection, type BundleCollectionItem, type BundleCollectionItemWithProduct, BundlesClient, type CacheConfig, CacheManager, CategoriesClient, type Category, type CategorySummary, type CheckoutAddress, CheckoutClient, type CheckoutMetadata, type CheckoutMetadataValue, type CheckoutSession, type CheckoutSessionOptions, type CheckoutSessionTax, type CheckoutTaxBreakdownItem, type CheckoutTaxCustomerExemptionRequest, type CheckoutTaxExemptionStatus, type CheckoutTaxRequest, type CheckoutTaxStrategy, ContactClient, type ContactStatusResponse, type ContactSubmission, type ContactSubmitResponse, type Content, type ContentCategoryResponse, ContentClient, type ContentQueryParams, type ContentStatus, type ContentType, type CreateApiKeyRequest, type CreateBundleCollectionRequest, type CreateBundleGroupRequest, type CreateCategoryRequest, type CreateCheckoutSessionRequest, type CreateContactRequest, type CreateContentRequest, type CreateNewsletterSubscriptionRequest, type CreateOrganizationRequest, type CreatePaymentGatewayRequest, type CreateProductRequest, type CreateProductSkuRequest, type CreateSiteRequest, type CreateWebhookRequest, type CreditBalance, type CreditBalanceWithTransactions, type CreditTransaction, DEFAULT_IMAGE_SIZES, type GrantCreditRequest, HttpClient, type HttpMethod, type ImageTransformOptions, InMemoryCacheAdapter, type LoadContentBySlugOptions, type LoadContentOptions, type LoadProductBySlugOptions, type LoadProductsOptions, type LoaderLogger, type LoaderOptions, type MediaItem, type NewsletterCampaignDetail, type NewsletterCampaignListResponse, type NewsletterCampaignSummary, NewsletterClient, type NewsletterConfirmResponse, type NewsletterList, type NewsletterPreferences, type NewsletterStatusResponse, type NewsletterSubscribeResponse, type NewsletterSubscription, type NewsletterUnsubscribeRequest, type NewsletterUnsubscribeResponse, NoopCacheAdapter, type Organization, OrganizationsClient, type PaginatedResponse, type PaginationParams, type PaymentGateway, PerspectApiClient, type PerspectApiConfig, type Product, type ProductBundleGroup, type ProductQueryParams, type ProductSku, type ProductSkuMediaItem, type ProductSkuOption, ProductsClient, type RequestOptions, type RequestOtpRequest, type ResponsiveImageSizes, type SetProfileValueRequest, type Site, type SiteUser, type SiteUserOrder, type SiteUserProfile, type SiteUserSubscription, SiteUsersClient, SitesClient, type UpdateApiKeyRequest, type UpdateContentRequest, type UpdateSiteUserRequest, type User, type VerifyOtpRequest, type VerifyOtpResponse, type Webhook, WebhooksClient, buildImageUrl, createApiError, createCheckoutSession, createPerspectApiClient, PerspectApiClient as default, generateResponsiveImageHtml, generateResponsiveUrls, generateSizesAttribute, generateSrcSet, loadAllContent, loadContentBySlug, loadPages, loadPosts, loadProductBySlug, loadProducts, transformContent, transformMediaItem, transformProduct };
3377
+ export { type AddCollectionItemRequest, type ApiError, type ApiKey, ApiKeysClient, type ApiResponse, AuthClient, BaseClient, type BlogPost, type BundleCollection, type BundleCollectionItem, type BundleCollectionItemWithProduct, BundlesClient, type CacheConfig, CacheManager, CategoriesClient, type Category, type CategorySummary, type CheckoutAddress, CheckoutClient, type CheckoutMetadata, type CheckoutMetadataValue, type CheckoutSession, type CheckoutSessionOptions, type CheckoutSessionTax, type CheckoutTaxBreakdownItem, type CheckoutTaxCustomerExemptionRequest, type CheckoutTaxExemptionStatus, type CheckoutTaxRequest, type CheckoutTaxStrategy, ContactClient, type ContactStatusResponse, type ContactSubmission, type ContactSubmitResponse, type Content, type ContentCategoryResponse, ContentClient, type ContentQueryParams, type ContentStatus, type ContentType, type CreateApiKeyRequest, type CreateBundleCollectionRequest, type CreateBundleGroupRequest, type CreateCategoryRequest, type CreateCheckoutSessionRequest, type CreateContactRequest, type CreateContentRequest, type CreateNewsletterSubscriptionRequest, type CreateOrganizationRequest, type CreatePaymentGatewayRequest, type CreateProductRequest, type CreateProductSkuRequest, type CreateSiteRequest, type CreateWebhookRequest, type CreditBalance, type CreditBalanceWithTransactions, type CreditTransaction, DEFAULT_IMAGE_SIZES, type GrantCreditRequest, HttpClient, type HttpMethod, type ImageTransformOptions, InMemoryCacheAdapter, type LoadContentBySlugOptions, type LoadContentOptions, type LoadProductBySlugOptions, type LoadProductsOptions, type LoaderLogger, type LoaderOptions, type MediaItem, type NewsletterCampaignDetail, type NewsletterCampaignListResponse, type NewsletterCampaignSummary, type NewsletterCampaignTestSendRequest, type NewsletterCampaignTestSendResponse, NewsletterClient, type NewsletterConfirmResponse, type NewsletterExportCreateRequest, type NewsletterExportCreateResponse, type NewsletterList, type NewsletterManagementCampaign, type NewsletterManagementCampaignListResponse, NewsletterManagementClient, type NewsletterManagementList, type NewsletterManagementListMembership, type NewsletterManagementPagination, type NewsletterManagementSeries, type NewsletterManagementStatsResponse, type NewsletterManagementSubscription, type NewsletterManagementSubscriptionsListResponse, type NewsletterPreferences, type NewsletterStatusResponse, type NewsletterSubscribeResponse, type NewsletterSubscription, type NewsletterSubscriptionImportRowRequest, type NewsletterSubscriptionMembershipUpdateRequest, type NewsletterSubscriptionSyncRequest, type NewsletterSubscriptionSyncResponse, type NewsletterSubscriptionsBulkAction, type NewsletterSubscriptionsBulkOutcome, type NewsletterSubscriptionsBulkUpdateRequest, type NewsletterSubscriptionsBulkUpdateResponse, type NewsletterSubscriptionsImportRequest, type NewsletterSubscriptionsImportResponse, type NewsletterSubscriptionsImportRowResult, type NewsletterUnsubscribeRequest, type NewsletterUnsubscribeResponse, NoopCacheAdapter, type Organization, OrganizationsClient, type PaginatedResponse, type PaginationParams, type PaymentGateway, PerspectApiClient, type PerspectApiConfig, type Product, type ProductBundleGroup, type ProductQueryParams, type ProductSku, type ProductSkuMediaItem, type ProductSkuOption, ProductsClient, type RequestOptions, type RequestOtpRequest, type ResponsiveImageSizes, type SetProfileValueRequest, type Site, type SiteUser, type SiteUserOrder, type SiteUserProfile, type SiteUserSubscription, SiteUsersClient, SitesClient, type UpdateApiKeyRequest, type UpdateContentRequest, type UpdateSiteUserRequest, type User, type VerifyOtpRequest, type VerifyOtpResponse, type Webhook, WebhooksClient, buildImageUrl, createApiError, createCheckoutSession, createPerspectApiClient, PerspectApiClient as default, generateResponsiveImageHtml, generateResponsiveUrls, generateSizesAttribute, generateSrcSet, loadAllContent, loadContentBySlug, loadPages, loadPosts, loadProductBySlug, loadProducts, transformContent, transformMediaItem, transformProduct };