@contentful/optimization-api-client 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -6,11 +6,7 @@
6
6
  * Optimization and Analytics products.
7
7
  */
8
8
 
9
- import { BatchExperienceEventArray } from '@contentful/optimization-api-schemas';
10
- import { BatchExperienceResponseData } from '@contentful/optimization-api-schemas';
11
- import { BatchInsightsEventArray } from '@contentful/optimization-api-schemas';
12
- import { ExperienceEventArray } from '@contentful/optimization-api-schemas';
13
- import { OptimizationData } from '@contentful/optimization-api-schemas';
9
+ import * as z from 'zod/mini';
14
10
 
15
11
  /**
16
12
  * Aggregated API client providing access to Experience and Insights APIs.
@@ -22,8 +18,8 @@ import { OptimizationData } from '@contentful/optimization-api-schemas';
22
18
  * @example
23
19
  * ```ts
24
20
  * const client = new ApiClient({
25
- * clientId: 'org-id',
26
- * environment: 'main',
21
+ * spaceId: 'space-id',
22
+ * environment: 'master',
27
23
  * experience: {
28
24
  * // experience-specific overrides
29
25
  * },
@@ -104,11 +100,11 @@ declare abstract class ApiClientBase {
104
100
  */
105
101
  protected readonly name: string;
106
102
  /**
107
- * Client identifier used for authentication or tracking.
103
+ * Contentful Space identifier used for authentication or tracking.
108
104
  */
109
- protected readonly clientId: string;
105
+ protected readonly spaceId: string;
110
106
  /**
111
- * Contentful environment associated with this client.
107
+ * Contentful space environment associated with this client.
112
108
  */
113
109
  protected readonly environment: string;
114
110
  /**
@@ -121,7 +117,7 @@ declare abstract class ApiClientBase {
121
117
  * @param name - Human-readable name of the client (used for logging and `apiName`).
122
118
  * @param config - Configuration options for the client.
123
119
  */
124
- constructor(name: string, { fetchOptions, clientId, environment }: ApiConfig);
120
+ constructor(name: string, { fetchOptions, spaceId, environment }: ApiConfig);
125
121
  /**
126
122
  * Logs errors that occur during API requests with standardized messages.
127
123
  *
@@ -148,7 +144,7 @@ export declare interface ApiClientConfig extends Pick<ApiConfig, GlobalApiConfig
148
144
  * Configuration for the Experience API client.
149
145
  *
150
146
  * @remarks
151
- * Shared fields (`clientId`, `environment`, `fetchOptions`) are inherited
147
+ * Shared fields (`spaceId`, `environment`, and `fetchOptions`) are inherited
152
148
  * from top-level config; this object is for Experience-specific options.
153
149
  */
154
150
  experience?: Omit<ExperienceApiClientConfig, GlobalApiConfigProperties>;
@@ -156,7 +152,7 @@ export declare interface ApiClientConfig extends Pick<ApiConfig, GlobalApiConfig
156
152
  * Configuration for the Insights API client.
157
153
  *
158
154
  * @remarks
159
- * Shared fields (`clientId`, `environment`, `fetchOptions`) are inherited
155
+ * Shared fields (`spaceId`, `environment`, and `fetchOptions`) are inherited
160
156
  * from top-level config; this object is for Insights-specific options.
161
157
  */
162
158
  insights?: Omit<InsightsApiClientConfig, GlobalApiConfigProperties>;
@@ -177,9 +173,13 @@ export declare interface ApiConfig {
177
173
  */
178
174
  baseUrl?: string;
179
175
  /**
180
- * Contentful environment identifier.
176
+ * Contentful space environment identifier.
181
177
  *
182
- * @defaultValue `'main'`
178
+ * @remarks
179
+ * Used by the Experience API v3 and Insights API v2
180
+ * `/environments/{environment}/` path segment.
181
+ *
182
+ * @defaultValue `'master'`
183
183
  */
184
184
  environment?: string;
185
185
  /**
@@ -190,9 +190,9 @@ export declare interface ApiConfig {
190
190
  */
191
191
  fetchOptions?: Omit<ProtectedFetchMethodOptions, 'apiName'>;
192
192
  /**
193
- * Client identifier used for authentication or tracking.
193
+ * Contentful Space identifier used for authentication or tracking.
194
194
  */
195
- clientId: string;
195
+ spaceId: string;
196
196
  }
197
197
 
198
198
  /**
@@ -219,6 +219,863 @@ export declare interface BaseFetchMethodOptions {
219
219
  fetchMethod?: FetchMethod;
220
220
  }
221
221
 
222
+ /**
223
+ * Zod schema describing an array of {@link BatchExperienceEvent} items.
224
+ *
225
+ * @public
226
+ */
227
+ declare const BatchExperienceEventArray: z.ZodMiniArray<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
228
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
229
+ context: z.ZodMiniObject<{
230
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
231
+ name: z.ZodMiniString<string>;
232
+ version: z.ZodMiniString<string>;
233
+ }, z.core.$strip>>;
234
+ campaign: z.ZodMiniObject<{
235
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
236
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
237
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
238
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
239
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
240
+ }, z.core.$strip>;
241
+ gdpr: z.ZodMiniObject<{
242
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
243
+ }, z.core.$strip>;
244
+ library: z.ZodMiniObject<{
245
+ name: z.ZodMiniString<string>;
246
+ version: z.ZodMiniString<string>;
247
+ }, z.core.$strip>;
248
+ locale: z.ZodMiniString<string>;
249
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
250
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
251
+ latitude: z.ZodMiniNumber<number>;
252
+ longitude: z.ZodMiniNumber<number>;
253
+ }, z.core.$strip>>;
254
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
255
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
256
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
257
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
258
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
259
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
260
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
261
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
262
+ }, z.core.$strip>>;
263
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
264
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
265
+ path: z.ZodMiniString<string>;
266
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
267
+ referrer: z.ZodMiniString<string>;
268
+ search: z.ZodMiniString<string>;
269
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
270
+ url: z.ZodMiniString<string>;
271
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
272
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
273
+ name: z.ZodMiniString<string>;
274
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
275
+ }, z.core.$strip>;
276
+ messageId: z.ZodMiniString<string>;
277
+ originalTimestamp: z.iso.ZodMiniISODateTime;
278
+ sentAt: z.iso.ZodMiniISODateTime;
279
+ timestamp: z.iso.ZodMiniISODateTime;
280
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
281
+ componentType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"Entry">, z.ZodMiniLiteral<"Variable">]>;
282
+ componentId: z.ZodMiniString<string>;
283
+ experienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
284
+ variantIndex: z.ZodMiniNumber<number>;
285
+ type: z.ZodMiniLiteral<"component">;
286
+ viewDurationMs: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
287
+ viewId: z.ZodMiniOptional<z.ZodMiniString<string>>;
288
+ anonymousId: z.ZodMiniString<string>;
289
+ }, z.core.$strip>, z.ZodMiniObject<{
290
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
291
+ context: z.ZodMiniObject<{
292
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
293
+ name: z.ZodMiniString<string>;
294
+ version: z.ZodMiniString<string>;
295
+ }, z.core.$strip>>;
296
+ campaign: z.ZodMiniObject<{
297
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
298
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
299
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
300
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
301
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
302
+ }, z.core.$strip>;
303
+ gdpr: z.ZodMiniObject<{
304
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
305
+ }, z.core.$strip>;
306
+ library: z.ZodMiniObject<{
307
+ name: z.ZodMiniString<string>;
308
+ version: z.ZodMiniString<string>;
309
+ }, z.core.$strip>;
310
+ locale: z.ZodMiniString<string>;
311
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
312
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
313
+ latitude: z.ZodMiniNumber<number>;
314
+ longitude: z.ZodMiniNumber<number>;
315
+ }, z.core.$strip>>;
316
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
317
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
318
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
319
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
320
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
321
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
322
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
323
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
324
+ }, z.core.$strip>>;
325
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
326
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
327
+ path: z.ZodMiniString<string>;
328
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
329
+ referrer: z.ZodMiniString<string>;
330
+ search: z.ZodMiniString<string>;
331
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
332
+ url: z.ZodMiniString<string>;
333
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
334
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
335
+ name: z.ZodMiniString<string>;
336
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
337
+ }, z.core.$strip>;
338
+ messageId: z.ZodMiniString<string>;
339
+ originalTimestamp: z.iso.ZodMiniISODateTime;
340
+ sentAt: z.iso.ZodMiniISODateTime;
341
+ timestamp: z.iso.ZodMiniISODateTime;
342
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
343
+ entityId: z.ZodMiniString<string>;
344
+ entityKind: z.ZodMiniEnum<{
345
+ Experience: "Experience";
346
+ Fragment: "Fragment";
347
+ InlineFragment: "InlineFragment";
348
+ InlineComponent: "InlineComponent";
349
+ }>;
350
+ entityKindId: z.ZodMiniOptional<z.ZodMiniString<string>>;
351
+ entryIds: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
352
+ optimizationId: z.ZodMiniString<string>;
353
+ parameters: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>>;
354
+ parentExperienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
355
+ variantId: z.ZodMiniString<string>;
356
+ variantIndex: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
357
+ type: z.ZodMiniLiteral<"exo_node_view">;
358
+ viewDurationMs: z.ZodMiniNumberFormat;
359
+ viewId: z.ZodMiniString<string>;
360
+ anonymousId: z.ZodMiniString<string>;
361
+ }, z.core.$strip>, z.ZodMiniObject<{
362
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
363
+ context: z.ZodMiniObject<{
364
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
365
+ name: z.ZodMiniString<string>;
366
+ version: z.ZodMiniString<string>;
367
+ }, z.core.$strip>>;
368
+ campaign: z.ZodMiniObject<{
369
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
370
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
371
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
372
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
373
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
374
+ }, z.core.$strip>;
375
+ gdpr: z.ZodMiniObject<{
376
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
377
+ }, z.core.$strip>;
378
+ library: z.ZodMiniObject<{
379
+ name: z.ZodMiniString<string>;
380
+ version: z.ZodMiniString<string>;
381
+ }, z.core.$strip>;
382
+ locale: z.ZodMiniString<string>;
383
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
384
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
385
+ latitude: z.ZodMiniNumber<number>;
386
+ longitude: z.ZodMiniNumber<number>;
387
+ }, z.core.$strip>>;
388
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
389
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
390
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
391
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
392
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
393
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
394
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
395
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
396
+ }, z.core.$strip>>;
397
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
398
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
399
+ path: z.ZodMiniString<string>;
400
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
401
+ referrer: z.ZodMiniString<string>;
402
+ search: z.ZodMiniString<string>;
403
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
404
+ url: z.ZodMiniString<string>;
405
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
406
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
407
+ name: z.ZodMiniString<string>;
408
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
409
+ }, z.core.$strip>;
410
+ messageId: z.ZodMiniString<string>;
411
+ originalTimestamp: z.iso.ZodMiniISODateTime;
412
+ sentAt: z.iso.ZodMiniISODateTime;
413
+ timestamp: z.iso.ZodMiniISODateTime;
414
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
415
+ type: z.ZodMiniLiteral<"identify">;
416
+ traits: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>;
417
+ anonymousId: z.ZodMiniString<string>;
418
+ }, z.core.$strip>, z.ZodMiniObject<{
419
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
420
+ messageId: z.ZodMiniString<string>;
421
+ originalTimestamp: z.iso.ZodMiniISODateTime;
422
+ sentAt: z.iso.ZodMiniISODateTime;
423
+ timestamp: z.iso.ZodMiniISODateTime;
424
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
425
+ type: z.ZodMiniLiteral<"page">;
426
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
427
+ properties: z.ZodMiniObject<{
428
+ path: z.ZodMiniString<string>;
429
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
430
+ referrer: z.ZodMiniString<string>;
431
+ search: z.ZodMiniString<string>;
432
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
433
+ url: z.ZodMiniString<string>;
434
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
435
+ context: z.ZodMiniObject<{
436
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
437
+ name: z.ZodMiniString<string>;
438
+ version: z.ZodMiniString<string>;
439
+ }, z.core.$strip>>;
440
+ campaign: z.ZodMiniObject<{
441
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
442
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
443
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
444
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
445
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
446
+ }, z.core.$strip>;
447
+ gdpr: z.ZodMiniObject<{
448
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
449
+ }, z.core.$strip>;
450
+ library: z.ZodMiniObject<{
451
+ name: z.ZodMiniString<string>;
452
+ version: z.ZodMiniString<string>;
453
+ }, z.core.$strip>;
454
+ locale: z.ZodMiniString<string>;
455
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
456
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
457
+ latitude: z.ZodMiniNumber<number>;
458
+ longitude: z.ZodMiniNumber<number>;
459
+ }, z.core.$strip>>;
460
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
461
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
462
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
463
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
464
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
465
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
466
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
467
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
468
+ }, z.core.$strip>>;
469
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
470
+ page: z.ZodMiniObject<{
471
+ path: z.ZodMiniString<string>;
472
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
473
+ referrer: z.ZodMiniString<string>;
474
+ search: z.ZodMiniString<string>;
475
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
476
+ url: z.ZodMiniString<string>;
477
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
478
+ }, z.core.$strip>;
479
+ anonymousId: z.ZodMiniString<string>;
480
+ }, z.core.$strip>, z.ZodMiniObject<{
481
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
482
+ messageId: z.ZodMiniString<string>;
483
+ originalTimestamp: z.iso.ZodMiniISODateTime;
484
+ sentAt: z.iso.ZodMiniISODateTime;
485
+ timestamp: z.iso.ZodMiniISODateTime;
486
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
487
+ type: z.ZodMiniLiteral<"screen">;
488
+ name: z.ZodMiniString<string>;
489
+ properties: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>>;
490
+ context: z.ZodMiniObject<{
491
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
492
+ name: z.ZodMiniString<string>;
493
+ version: z.ZodMiniString<string>;
494
+ }, z.core.$strip>>;
495
+ campaign: z.ZodMiniObject<{
496
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
497
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
498
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
499
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
500
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
501
+ }, z.core.$strip>;
502
+ gdpr: z.ZodMiniObject<{
503
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
504
+ }, z.core.$strip>;
505
+ library: z.ZodMiniObject<{
506
+ name: z.ZodMiniString<string>;
507
+ version: z.ZodMiniString<string>;
508
+ }, z.core.$strip>;
509
+ locale: z.ZodMiniString<string>;
510
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
511
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
512
+ latitude: z.ZodMiniNumber<number>;
513
+ longitude: z.ZodMiniNumber<number>;
514
+ }, z.core.$strip>>;
515
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
516
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
517
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
518
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
519
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
520
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
521
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
522
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
523
+ }, z.core.$strip>>;
524
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
525
+ screen: z.ZodMiniObject<{
526
+ name: z.ZodMiniString<string>;
527
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
528
+ }, z.core.$strip>;
529
+ anonymousId: z.ZodMiniString<string>;
530
+ }, z.core.$strip>, z.ZodMiniObject<{
531
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
532
+ context: z.ZodMiniObject<{
533
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
534
+ name: z.ZodMiniString<string>;
535
+ version: z.ZodMiniString<string>;
536
+ }, z.core.$strip>>;
537
+ campaign: z.ZodMiniObject<{
538
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
539
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
540
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
541
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
542
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
543
+ }, z.core.$strip>;
544
+ gdpr: z.ZodMiniObject<{
545
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
546
+ }, z.core.$strip>;
547
+ library: z.ZodMiniObject<{
548
+ name: z.ZodMiniString<string>;
549
+ version: z.ZodMiniString<string>;
550
+ }, z.core.$strip>;
551
+ locale: z.ZodMiniString<string>;
552
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
553
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
554
+ latitude: z.ZodMiniNumber<number>;
555
+ longitude: z.ZodMiniNumber<number>;
556
+ }, z.core.$strip>>;
557
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
558
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
559
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
560
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
561
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
562
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
563
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
564
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
565
+ }, z.core.$strip>>;
566
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
567
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
568
+ path: z.ZodMiniString<string>;
569
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
570
+ referrer: z.ZodMiniString<string>;
571
+ search: z.ZodMiniString<string>;
572
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
573
+ url: z.ZodMiniString<string>;
574
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
575
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
576
+ name: z.ZodMiniString<string>;
577
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
578
+ }, z.core.$strip>;
579
+ messageId: z.ZodMiniString<string>;
580
+ originalTimestamp: z.iso.ZodMiniISODateTime;
581
+ sentAt: z.iso.ZodMiniISODateTime;
582
+ timestamp: z.iso.ZodMiniISODateTime;
583
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
584
+ type: z.ZodMiniLiteral<"track">;
585
+ event: z.ZodMiniString<string>;
586
+ properties: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>;
587
+ anonymousId: z.ZodMiniString<string>;
588
+ }, z.core.$strip>], "type">>;
589
+
590
+ /**
591
+ * TypeScript type inferred from {@link BatchExperienceEventArray}.
592
+ *
593
+ * @public
594
+ */
595
+ declare type BatchExperienceEventArray = z.infer<typeof BatchExperienceEventArray>;
596
+
597
+ /**
598
+ * Zod schema describing the `data` property of a batch experience response.
599
+ *
600
+ * @remarks
601
+ * A batch request can return zero or more profiles. When no profiles are
602
+ * returned, `profiles` can be omitted or an empty array.
603
+ *
604
+ * @public
605
+ */
606
+ declare const BatchExperienceResponseData: z.ZodMiniObject<{
607
+ /**
608
+ * Profiles evaluated or affected by the batch experience request.
609
+ */
610
+ profiles: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
611
+ id: z.ZodMiniString<string>;
612
+ stableId: z.ZodMiniString<string>;
613
+ random: z.ZodMiniNumber<number>;
614
+ audiences: z.ZodMiniArray<z.ZodMiniString<string>>;
615
+ traits: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>;
616
+ location: z.ZodMiniObject<{
617
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
618
+ latitude: z.ZodMiniNumber<number>;
619
+ longitude: z.ZodMiniNumber<number>;
620
+ }, z.core.$strip>>;
621
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
622
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
623
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
624
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
625
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
626
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
627
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
628
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
629
+ }, z.core.$strip>;
630
+ session: z.ZodMiniObject<{
631
+ id: z.ZodMiniString<string>;
632
+ isReturningVisitor: z.ZodMiniBoolean<boolean>;
633
+ landingPage: z.ZodMiniObject<{
634
+ path: z.ZodMiniString<string>;
635
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
636
+ referrer: z.ZodMiniString<string>;
637
+ search: z.ZodMiniString<string>;
638
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
639
+ url: z.ZodMiniString<string>;
640
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
641
+ count: z.ZodMiniNumber<number>;
642
+ activeSessionLength: z.ZodMiniNumber<number>;
643
+ averageSessionLength: z.ZodMiniNumber<number>;
644
+ }, z.core.$strip>;
645
+ }, z.core.$strip>>>;
646
+ }, z.core.$strip>;
647
+
648
+ /**
649
+ * TypeScript type inferred from {@link BatchExperienceResponseData}.
650
+ *
651
+ * @public
652
+ */
653
+ declare type BatchExperienceResponseData = z.infer<typeof BatchExperienceResponseData>;
654
+
655
+ /**
656
+ * Zod schema describing an array of {@link BatchInsightsEvent} items.
657
+ *
658
+ * @remarks
659
+ * Useful when sending multiple profile/event batches in a single request.
660
+ *
661
+ * @public
662
+ */
663
+ declare const BatchInsightsEventArray: z.ZodMiniArray<z.ZodMiniObject<{
664
+ /**
665
+ * Partial profile information used to associate events with a user.
666
+ *
667
+ * @see {@link PartialProfile}
668
+ */
669
+ profile: z.ZodMiniObject<{
670
+ id: z.ZodMiniString<string>;
671
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
672
+ /**
673
+ * Insights events to record for this profile.
674
+ *
675
+ * @see {@link InsightsEventArray}
676
+ */
677
+ events: z.ZodMiniArray<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
678
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
679
+ context: z.ZodMiniObject<{
680
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
681
+ name: z.ZodMiniString<string>;
682
+ version: z.ZodMiniString<string>;
683
+ }, z.core.$strip>>;
684
+ campaign: z.ZodMiniObject<{
685
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
686
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
687
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
688
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
689
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
690
+ }, z.core.$strip>;
691
+ gdpr: z.ZodMiniObject<{
692
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
693
+ }, z.core.$strip>;
694
+ library: z.ZodMiniObject<{
695
+ name: z.ZodMiniString<string>;
696
+ version: z.ZodMiniString<string>;
697
+ }, z.core.$strip>;
698
+ locale: z.ZodMiniString<string>;
699
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
700
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
701
+ latitude: z.ZodMiniNumber<number>;
702
+ longitude: z.ZodMiniNumber<number>;
703
+ }, z.core.$strip>>;
704
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
705
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
706
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
707
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
708
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
709
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
710
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
711
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
712
+ }, z.core.$strip>>;
713
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
714
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
715
+ path: z.ZodMiniString<string>;
716
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
717
+ referrer: z.ZodMiniString<string>;
718
+ search: z.ZodMiniString<string>;
719
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
720
+ url: z.ZodMiniString<string>;
721
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
722
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
723
+ name: z.ZodMiniString<string>;
724
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
725
+ }, z.core.$strip>;
726
+ messageId: z.ZodMiniString<string>;
727
+ originalTimestamp: z.iso.ZodMiniISODateTime;
728
+ sentAt: z.iso.ZodMiniISODateTime;
729
+ timestamp: z.iso.ZodMiniISODateTime;
730
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
731
+ componentType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"Entry">, z.ZodMiniLiteral<"Variable">]>;
732
+ componentId: z.ZodMiniString<string>;
733
+ experienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
734
+ variantIndex: z.ZodMiniNumber<number>;
735
+ type: z.ZodMiniLiteral<"component">;
736
+ viewDurationMs: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
737
+ viewId: z.ZodMiniOptional<z.ZodMiniString<string>>;
738
+ }, z.core.$strip>, z.ZodMiniObject<{
739
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
740
+ context: z.ZodMiniObject<{
741
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
742
+ name: z.ZodMiniString<string>;
743
+ version: z.ZodMiniString<string>;
744
+ }, z.core.$strip>>;
745
+ campaign: z.ZodMiniObject<{
746
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
747
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
748
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
749
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
750
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
751
+ }, z.core.$strip>;
752
+ gdpr: z.ZodMiniObject<{
753
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
754
+ }, z.core.$strip>;
755
+ library: z.ZodMiniObject<{
756
+ name: z.ZodMiniString<string>;
757
+ version: z.ZodMiniString<string>;
758
+ }, z.core.$strip>;
759
+ locale: z.ZodMiniString<string>;
760
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
761
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
762
+ latitude: z.ZodMiniNumber<number>;
763
+ longitude: z.ZodMiniNumber<number>;
764
+ }, z.core.$strip>>;
765
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
766
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
767
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
768
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
769
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
770
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
771
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
772
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
773
+ }, z.core.$strip>>;
774
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
775
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
776
+ path: z.ZodMiniString<string>;
777
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
778
+ referrer: z.ZodMiniString<string>;
779
+ search: z.ZodMiniString<string>;
780
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
781
+ url: z.ZodMiniString<string>;
782
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
783
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
784
+ name: z.ZodMiniString<string>;
785
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
786
+ }, z.core.$strip>;
787
+ messageId: z.ZodMiniString<string>;
788
+ originalTimestamp: z.iso.ZodMiniISODateTime;
789
+ sentAt: z.iso.ZodMiniISODateTime;
790
+ timestamp: z.iso.ZodMiniISODateTime;
791
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
792
+ componentType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"Entry">, z.ZodMiniLiteral<"Variable">]>;
793
+ componentId: z.ZodMiniString<string>;
794
+ experienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
795
+ variantIndex: z.ZodMiniNumber<number>;
796
+ type: z.ZodMiniLiteral<"component_click">;
797
+ }, z.core.$strip>, z.ZodMiniObject<{
798
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
799
+ context: z.ZodMiniObject<{
800
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
801
+ name: z.ZodMiniString<string>;
802
+ version: z.ZodMiniString<string>;
803
+ }, z.core.$strip>>;
804
+ campaign: z.ZodMiniObject<{
805
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
806
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
807
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
808
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
809
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
810
+ }, z.core.$strip>;
811
+ gdpr: z.ZodMiniObject<{
812
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
813
+ }, z.core.$strip>;
814
+ library: z.ZodMiniObject<{
815
+ name: z.ZodMiniString<string>;
816
+ version: z.ZodMiniString<string>;
817
+ }, z.core.$strip>;
818
+ locale: z.ZodMiniString<string>;
819
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
820
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
821
+ latitude: z.ZodMiniNumber<number>;
822
+ longitude: z.ZodMiniNumber<number>;
823
+ }, z.core.$strip>>;
824
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
825
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
826
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
827
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
828
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
829
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
830
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
831
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
832
+ }, z.core.$strip>>;
833
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
834
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
835
+ path: z.ZodMiniString<string>;
836
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
837
+ referrer: z.ZodMiniString<string>;
838
+ search: z.ZodMiniString<string>;
839
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
840
+ url: z.ZodMiniString<string>;
841
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
842
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
843
+ name: z.ZodMiniString<string>;
844
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
845
+ }, z.core.$strip>;
846
+ messageId: z.ZodMiniString<string>;
847
+ originalTimestamp: z.iso.ZodMiniISODateTime;
848
+ sentAt: z.iso.ZodMiniISODateTime;
849
+ timestamp: z.iso.ZodMiniISODateTime;
850
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
851
+ componentType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"Entry">, z.ZodMiniLiteral<"Variable">]>;
852
+ componentId: z.ZodMiniString<string>;
853
+ experienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
854
+ variantIndex: z.ZodMiniNumber<number>;
855
+ type: z.ZodMiniLiteral<"component_hover">;
856
+ hoverDurationMs: z.ZodMiniNumber<number>;
857
+ hoverId: z.ZodMiniString<string>;
858
+ }, z.core.$strip>, z.ZodMiniObject<{
859
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
860
+ context: z.ZodMiniObject<{
861
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
862
+ name: z.ZodMiniString<string>;
863
+ version: z.ZodMiniString<string>;
864
+ }, z.core.$strip>>;
865
+ campaign: z.ZodMiniObject<{
866
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
867
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
868
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
869
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
870
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
871
+ }, z.core.$strip>;
872
+ gdpr: z.ZodMiniObject<{
873
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
874
+ }, z.core.$strip>;
875
+ library: z.ZodMiniObject<{
876
+ name: z.ZodMiniString<string>;
877
+ version: z.ZodMiniString<string>;
878
+ }, z.core.$strip>;
879
+ locale: z.ZodMiniString<string>;
880
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
881
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
882
+ latitude: z.ZodMiniNumber<number>;
883
+ longitude: z.ZodMiniNumber<number>;
884
+ }, z.core.$strip>>;
885
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
886
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
887
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
888
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
889
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
890
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
891
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
892
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
893
+ }, z.core.$strip>>;
894
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
895
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
896
+ path: z.ZodMiniString<string>;
897
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
898
+ referrer: z.ZodMiniString<string>;
899
+ search: z.ZodMiniString<string>;
900
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
901
+ url: z.ZodMiniString<string>;
902
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
903
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
904
+ name: z.ZodMiniString<string>;
905
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
906
+ }, z.core.$strip>;
907
+ messageId: z.ZodMiniString<string>;
908
+ originalTimestamp: z.iso.ZodMiniISODateTime;
909
+ sentAt: z.iso.ZodMiniISODateTime;
910
+ timestamp: z.iso.ZodMiniISODateTime;
911
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
912
+ entityId: z.ZodMiniString<string>;
913
+ entityKind: z.ZodMiniEnum<{
914
+ Experience: "Experience";
915
+ Fragment: "Fragment";
916
+ InlineFragment: "InlineFragment";
917
+ InlineComponent: "InlineComponent";
918
+ }>;
919
+ entityKindId: z.ZodMiniOptional<z.ZodMiniString<string>>;
920
+ entryIds: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
921
+ optimizationId: z.ZodMiniString<string>;
922
+ parameters: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>>;
923
+ parentExperienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
924
+ variantId: z.ZodMiniString<string>;
925
+ variantIndex: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
926
+ type: z.ZodMiniLiteral<"exo_node_view">;
927
+ viewDurationMs: z.ZodMiniNumberFormat;
928
+ viewId: z.ZodMiniString<string>;
929
+ }, z.core.$strip>, z.ZodMiniObject<{
930
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
931
+ context: z.ZodMiniObject<{
932
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
933
+ name: z.ZodMiniString<string>;
934
+ version: z.ZodMiniString<string>;
935
+ }, z.core.$strip>>;
936
+ campaign: z.ZodMiniObject<{
937
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
938
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
939
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
940
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
941
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
942
+ }, z.core.$strip>;
943
+ gdpr: z.ZodMiniObject<{
944
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
945
+ }, z.core.$strip>;
946
+ library: z.ZodMiniObject<{
947
+ name: z.ZodMiniString<string>;
948
+ version: z.ZodMiniString<string>;
949
+ }, z.core.$strip>;
950
+ locale: z.ZodMiniString<string>;
951
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
952
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
953
+ latitude: z.ZodMiniNumber<number>;
954
+ longitude: z.ZodMiniNumber<number>;
955
+ }, z.core.$strip>>;
956
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
957
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
958
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
959
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
960
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
961
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
962
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
963
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
964
+ }, z.core.$strip>>;
965
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
966
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
967
+ path: z.ZodMiniString<string>;
968
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
969
+ referrer: z.ZodMiniString<string>;
970
+ search: z.ZodMiniString<string>;
971
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
972
+ url: z.ZodMiniString<string>;
973
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
974
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
975
+ name: z.ZodMiniString<string>;
976
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
977
+ }, z.core.$strip>;
978
+ messageId: z.ZodMiniString<string>;
979
+ originalTimestamp: z.iso.ZodMiniISODateTime;
980
+ sentAt: z.iso.ZodMiniISODateTime;
981
+ timestamp: z.iso.ZodMiniISODateTime;
982
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
983
+ entityId: z.ZodMiniString<string>;
984
+ entityKind: z.ZodMiniEnum<{
985
+ Experience: "Experience";
986
+ Fragment: "Fragment";
987
+ InlineFragment: "InlineFragment";
988
+ InlineComponent: "InlineComponent";
989
+ }>;
990
+ entityKindId: z.ZodMiniOptional<z.ZodMiniString<string>>;
991
+ entryIds: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
992
+ optimizationId: z.ZodMiniString<string>;
993
+ parameters: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>>;
994
+ parentExperienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
995
+ variantId: z.ZodMiniString<string>;
996
+ variantIndex: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
997
+ type: z.ZodMiniLiteral<"exo_node_click">;
998
+ }, z.core.$strip>, z.ZodMiniObject<{
999
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
1000
+ context: z.ZodMiniObject<{
1001
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
1002
+ name: z.ZodMiniString<string>;
1003
+ version: z.ZodMiniString<string>;
1004
+ }, z.core.$strip>>;
1005
+ campaign: z.ZodMiniObject<{
1006
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1007
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
1008
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
1009
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
1010
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
1011
+ }, z.core.$strip>;
1012
+ gdpr: z.ZodMiniObject<{
1013
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
1014
+ }, z.core.$strip>;
1015
+ library: z.ZodMiniObject<{
1016
+ name: z.ZodMiniString<string>;
1017
+ version: z.ZodMiniString<string>;
1018
+ }, z.core.$strip>;
1019
+ locale: z.ZodMiniString<string>;
1020
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
1021
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1022
+ latitude: z.ZodMiniNumber<number>;
1023
+ longitude: z.ZodMiniNumber<number>;
1024
+ }, z.core.$strip>>;
1025
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1026
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1027
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1028
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1029
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1030
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1031
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1032
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1033
+ }, z.core.$strip>>;
1034
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1035
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
1036
+ path: z.ZodMiniString<string>;
1037
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1038
+ referrer: z.ZodMiniString<string>;
1039
+ search: z.ZodMiniString<string>;
1040
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1041
+ url: z.ZodMiniString<string>;
1042
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1043
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
1044
+ name: z.ZodMiniString<string>;
1045
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1046
+ }, z.core.$strip>;
1047
+ messageId: z.ZodMiniString<string>;
1048
+ originalTimestamp: z.iso.ZodMiniISODateTime;
1049
+ sentAt: z.iso.ZodMiniISODateTime;
1050
+ timestamp: z.iso.ZodMiniISODateTime;
1051
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1052
+ entityId: z.ZodMiniString<string>;
1053
+ entityKind: z.ZodMiniEnum<{
1054
+ Experience: "Experience";
1055
+ Fragment: "Fragment";
1056
+ InlineFragment: "InlineFragment";
1057
+ InlineComponent: "InlineComponent";
1058
+ }>;
1059
+ entityKindId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1060
+ entryIds: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1061
+ optimizationId: z.ZodMiniString<string>;
1062
+ parameters: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>>;
1063
+ parentExperienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1064
+ variantId: z.ZodMiniString<string>;
1065
+ variantIndex: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1066
+ type: z.ZodMiniLiteral<"exo_node_hover">;
1067
+ hoverDurationMs: z.ZodMiniNumberFormat;
1068
+ hoverId: z.ZodMiniString<string>;
1069
+ }, z.core.$strip>], "type">>;
1070
+ }, z.core.$strip>>;
1071
+
1072
+ /**
1073
+ * TypeScript type inferred from {@link BatchInsightsEventArray}.
1074
+ *
1075
+ * @public
1076
+ */
1077
+ declare type BatchInsightsEventArray = z.infer<typeof BatchInsightsEventArray>;
1078
+
222
1079
  /**
223
1080
  * Parameters used when performing a batch profile update.
224
1081
  *
@@ -231,6 +1088,65 @@ export declare interface BatchUpdateProfileParams {
231
1088
  events: BatchExperienceEventArray;
232
1089
  }
233
1090
 
1091
+ /**
1092
+ * Union of supported change types.
1093
+ *
1094
+ * @public
1095
+ */
1096
+ declare const Change: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
1097
+ key: z.ZodMiniString<string>;
1098
+ meta: z.ZodMiniObject<{
1099
+ /**
1100
+ * Identifier of the personalization or experiment experience.
1101
+ */
1102
+ experienceId: z.ZodMiniString<string>;
1103
+ /**
1104
+ * Index of the variant within the experience configuration.
1105
+ *
1106
+ * @remarks
1107
+ * Typically corresponds to the array index in the experience's distribution.
1108
+ */
1109
+ variantIndex: z.ZodMiniNumber<number>;
1110
+ }, z.core.$strip>;
1111
+ type: z.ZodMiniLiteral<"Variable">;
1112
+ value: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniBoolean<boolean>, z.ZodMiniNull, z.ZodMiniNumber<number>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>]>;
1113
+ }, z.core.$strip>, z.ZodMiniObject<{
1114
+ id: z.ZodMiniString<string>;
1115
+ variantId: z.ZodMiniString<string>;
1116
+ meta: z.ZodMiniObject<{
1117
+ /**
1118
+ * Identifier of the optimization that produced this change.
1119
+ */
1120
+ optimizationId: z.ZodMiniString<string>;
1121
+ /**
1122
+ * Index of the variant within the optimization's distribution.
1123
+ */
1124
+ variantIndex: z.ZodMiniNumber<number>;
1125
+ }, z.core.$strip>;
1126
+ type: z.ZodMiniLiteral<"Experience">;
1127
+ }, z.core.$strip>, z.ZodMiniObject<{
1128
+ id: z.ZodMiniString<string>;
1129
+ variantId: z.ZodMiniString<string>;
1130
+ meta: z.ZodMiniObject<{
1131
+ /**
1132
+ * Identifier of the optimization that produced this change.
1133
+ */
1134
+ optimizationId: z.ZodMiniString<string>;
1135
+ /**
1136
+ * Index of the variant within the optimization's distribution.
1137
+ */
1138
+ variantIndex: z.ZodMiniNumber<number>;
1139
+ }, z.core.$strip>;
1140
+ type: z.ZodMiniLiteral<"Fragment">;
1141
+ }, z.core.$strip>], "type">;
1142
+
1143
+ /**
1144
+ * TypeScript type inferred from {@link Change}.
1145
+ *
1146
+ * @public
1147
+ */
1148
+ declare type Change = z.infer<typeof Change>;
1149
+
234
1150
  /**
235
1151
  * Parameters used when creating a profile.
236
1152
  *
@@ -354,8 +1270,8 @@ export declare const EXPERIENCE_BASE_URL = "https://experience.ninetailed.co/";
354
1270
  * @example
355
1271
  * ```ts
356
1272
  * const client = new ExperienceApiClient({
357
- * clientId: 'org-id',
358
- * environment: 'main',
1273
+ * spaceId: 'space-id',
1274
+ * environment: 'master',
359
1275
  * })
360
1276
  *
361
1277
  * const profile = await client.getProfile('profile-id')
@@ -590,6 +1506,474 @@ export declare interface ExperienceApiClientRequestOptions {
590
1506
  preflight?: boolean;
591
1507
  }
592
1508
 
1509
+ /**
1510
+ * Zod schema describing the `data` payload of a standard Experience API response.
1511
+ *
1512
+ * @remarks
1513
+ * Contains the evaluated profile, selected optimizations, and computed
1514
+ * changes to apply on the client.
1515
+ *
1516
+ * @public
1517
+ */
1518
+ declare const ExperienceData: z.ZodMiniObject<{
1519
+ /**
1520
+ * Profile associated with the evaluated events.
1521
+ */
1522
+ profile: z.ZodMiniObject<{
1523
+ id: z.ZodMiniString<string>;
1524
+ stableId: z.ZodMiniString<string>;
1525
+ random: z.ZodMiniNumber<number>;
1526
+ audiences: z.ZodMiniArray<z.ZodMiniString<string>>;
1527
+ traits: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>;
1528
+ location: z.ZodMiniObject<{
1529
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1530
+ latitude: z.ZodMiniNumber<number>;
1531
+ longitude: z.ZodMiniNumber<number>;
1532
+ }, z.core.$strip>>;
1533
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1534
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1535
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1536
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1537
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1538
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1539
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1540
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1541
+ }, z.core.$strip>;
1542
+ session: z.ZodMiniObject<{
1543
+ id: z.ZodMiniString<string>;
1544
+ isReturningVisitor: z.ZodMiniBoolean<boolean>;
1545
+ landingPage: z.ZodMiniObject<{
1546
+ path: z.ZodMiniString<string>;
1547
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1548
+ referrer: z.ZodMiniString<string>;
1549
+ search: z.ZodMiniString<string>;
1550
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1551
+ url: z.ZodMiniString<string>;
1552
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
1553
+ count: z.ZodMiniNumber<number>;
1554
+ activeSessionLength: z.ZodMiniNumber<number>;
1555
+ averageSessionLength: z.ZodMiniNumber<number>;
1556
+ }, z.core.$strip>;
1557
+ }, z.core.$strip>;
1558
+ /**
1559
+ * Selected experiences and variants for the profile.
1560
+ *
1561
+ * @see {@link SelectedOptimizationArray}
1562
+ */
1563
+ experiences: z.ZodMiniArray<z.ZodMiniObject<{
1564
+ experienceId: z.ZodMiniString<string>;
1565
+ variantIndex: z.ZodMiniNumber<number>;
1566
+ variants: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1567
+ sticky: z.ZodMiniOptional<z.ZodMiniPrefault<z.ZodMiniBoolean<boolean>>>;
1568
+ }, z.core.$strip>>;
1569
+ /**
1570
+ * Used for Custom Flags.
1571
+ *
1572
+ * @see {@link ChangeArray}
1573
+ */
1574
+ changes: z.ZodMiniArray<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
1575
+ key: z.ZodMiniString<string>;
1576
+ meta: z.ZodMiniObject<{
1577
+ experienceId: z.ZodMiniString<string>;
1578
+ variantIndex: z.ZodMiniNumber<number>;
1579
+ }, z.core.$strip>;
1580
+ type: z.ZodMiniLiteral<"Variable">;
1581
+ value: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniBoolean<boolean>, z.ZodMiniNull, z.ZodMiniNumber<number>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>]>;
1582
+ }, z.core.$strip>, z.ZodMiniObject<{
1583
+ id: z.ZodMiniString<string>;
1584
+ variantId: z.ZodMiniString<string>;
1585
+ meta: z.ZodMiniObject<{
1586
+ optimizationId: z.ZodMiniString<string>;
1587
+ variantIndex: z.ZodMiniNumber<number>;
1588
+ }, z.core.$strip>;
1589
+ type: z.ZodMiniLiteral<"Experience">;
1590
+ }, z.core.$strip>, z.ZodMiniObject<{
1591
+ id: z.ZodMiniString<string>;
1592
+ variantId: z.ZodMiniString<string>;
1593
+ meta: z.ZodMiniObject<{
1594
+ optimizationId: z.ZodMiniString<string>;
1595
+ variantIndex: z.ZodMiniNumber<number>;
1596
+ }, z.core.$strip>;
1597
+ type: z.ZodMiniLiteral<"Fragment">;
1598
+ }, z.core.$strip>], "type">>;
1599
+ }, z.core.$strip>;
1600
+
1601
+ /**
1602
+ * TypeScript type inferred from {@link ExperienceData}.
1603
+ *
1604
+ * @public
1605
+ */
1606
+ declare type ExperienceData = z.infer<typeof ExperienceData>;
1607
+
1608
+ /**
1609
+ * Zod schema describing an array of {@link ExperienceEvent} items.
1610
+ *
1611
+ * @public
1612
+ */
1613
+ declare const ExperienceEventArray: z.ZodMiniArray<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{
1614
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
1615
+ context: z.ZodMiniObject<{
1616
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
1617
+ name: z.ZodMiniString<string>;
1618
+ version: z.ZodMiniString<string>;
1619
+ }, z.core.$strip>>;
1620
+ campaign: z.ZodMiniObject<{
1621
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1622
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
1623
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
1624
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
1625
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
1626
+ }, z.core.$strip>;
1627
+ gdpr: z.ZodMiniObject<{
1628
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
1629
+ }, z.core.$strip>;
1630
+ library: z.ZodMiniObject<{
1631
+ name: z.ZodMiniString<string>;
1632
+ version: z.ZodMiniString<string>;
1633
+ }, z.core.$strip>;
1634
+ locale: z.ZodMiniString<string>;
1635
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
1636
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1637
+ latitude: z.ZodMiniNumber<number>;
1638
+ longitude: z.ZodMiniNumber<number>;
1639
+ }, z.core.$strip>>;
1640
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1641
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1642
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1643
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1644
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1645
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1646
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1647
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1648
+ }, z.core.$strip>>;
1649
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1650
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
1651
+ path: z.ZodMiniString<string>;
1652
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1653
+ referrer: z.ZodMiniString<string>;
1654
+ search: z.ZodMiniString<string>;
1655
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1656
+ url: z.ZodMiniString<string>;
1657
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1658
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
1659
+ name: z.ZodMiniString<string>;
1660
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1661
+ }, z.core.$strip>;
1662
+ messageId: z.ZodMiniString<string>;
1663
+ originalTimestamp: z.iso.ZodMiniISODateTime;
1664
+ sentAt: z.iso.ZodMiniISODateTime;
1665
+ timestamp: z.iso.ZodMiniISODateTime;
1666
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1667
+ componentType: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"Entry">, z.ZodMiniLiteral<"Variable">]>;
1668
+ componentId: z.ZodMiniString<string>;
1669
+ experienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1670
+ variantIndex: z.ZodMiniNumber<number>;
1671
+ type: z.ZodMiniLiteral<"component">;
1672
+ viewDurationMs: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1673
+ viewId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1674
+ }, z.core.$strip>, z.ZodMiniObject<{
1675
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
1676
+ context: z.ZodMiniObject<{
1677
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
1678
+ name: z.ZodMiniString<string>;
1679
+ version: z.ZodMiniString<string>;
1680
+ }, z.core.$strip>>;
1681
+ campaign: z.ZodMiniObject<{
1682
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1683
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
1684
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
1685
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
1686
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
1687
+ }, z.core.$strip>;
1688
+ gdpr: z.ZodMiniObject<{
1689
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
1690
+ }, z.core.$strip>;
1691
+ library: z.ZodMiniObject<{
1692
+ name: z.ZodMiniString<string>;
1693
+ version: z.ZodMiniString<string>;
1694
+ }, z.core.$strip>;
1695
+ locale: z.ZodMiniString<string>;
1696
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
1697
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1698
+ latitude: z.ZodMiniNumber<number>;
1699
+ longitude: z.ZodMiniNumber<number>;
1700
+ }, z.core.$strip>>;
1701
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1702
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1703
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1704
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1705
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1706
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1707
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1708
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1709
+ }, z.core.$strip>>;
1710
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1711
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
1712
+ path: z.ZodMiniString<string>;
1713
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1714
+ referrer: z.ZodMiniString<string>;
1715
+ search: z.ZodMiniString<string>;
1716
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1717
+ url: z.ZodMiniString<string>;
1718
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1719
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
1720
+ name: z.ZodMiniString<string>;
1721
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1722
+ }, z.core.$strip>;
1723
+ messageId: z.ZodMiniString<string>;
1724
+ originalTimestamp: z.iso.ZodMiniISODateTime;
1725
+ sentAt: z.iso.ZodMiniISODateTime;
1726
+ timestamp: z.iso.ZodMiniISODateTime;
1727
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1728
+ entityId: z.ZodMiniString<string>;
1729
+ entityKind: z.ZodMiniEnum<{
1730
+ Experience: "Experience";
1731
+ Fragment: "Fragment";
1732
+ InlineFragment: "InlineFragment";
1733
+ InlineComponent: "InlineComponent";
1734
+ }>;
1735
+ entityKindId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1736
+ entryIds: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
1737
+ optimizationId: z.ZodMiniString<string>;
1738
+ parameters: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>>;
1739
+ parentExperienceId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1740
+ variantId: z.ZodMiniString<string>;
1741
+ variantIndex: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
1742
+ type: z.ZodMiniLiteral<"exo_node_view">;
1743
+ viewDurationMs: z.ZodMiniNumberFormat;
1744
+ viewId: z.ZodMiniString<string>;
1745
+ }, z.core.$strip>, z.ZodMiniObject<{
1746
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
1747
+ context: z.ZodMiniObject<{
1748
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
1749
+ name: z.ZodMiniString<string>;
1750
+ version: z.ZodMiniString<string>;
1751
+ }, z.core.$strip>>;
1752
+ campaign: z.ZodMiniObject<{
1753
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1754
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
1755
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
1756
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
1757
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
1758
+ }, z.core.$strip>;
1759
+ gdpr: z.ZodMiniObject<{
1760
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
1761
+ }, z.core.$strip>;
1762
+ library: z.ZodMiniObject<{
1763
+ name: z.ZodMiniString<string>;
1764
+ version: z.ZodMiniString<string>;
1765
+ }, z.core.$strip>;
1766
+ locale: z.ZodMiniString<string>;
1767
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
1768
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1769
+ latitude: z.ZodMiniNumber<number>;
1770
+ longitude: z.ZodMiniNumber<number>;
1771
+ }, z.core.$strip>>;
1772
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1773
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1774
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1775
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1776
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1777
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1778
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1779
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1780
+ }, z.core.$strip>>;
1781
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1782
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
1783
+ path: z.ZodMiniString<string>;
1784
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1785
+ referrer: z.ZodMiniString<string>;
1786
+ search: z.ZodMiniString<string>;
1787
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1788
+ url: z.ZodMiniString<string>;
1789
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1790
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
1791
+ name: z.ZodMiniString<string>;
1792
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1793
+ }, z.core.$strip>;
1794
+ messageId: z.ZodMiniString<string>;
1795
+ originalTimestamp: z.iso.ZodMiniISODateTime;
1796
+ sentAt: z.iso.ZodMiniISODateTime;
1797
+ timestamp: z.iso.ZodMiniISODateTime;
1798
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1799
+ type: z.ZodMiniLiteral<"identify">;
1800
+ traits: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>;
1801
+ }, z.core.$strip>, z.ZodMiniObject<{
1802
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
1803
+ messageId: z.ZodMiniString<string>;
1804
+ originalTimestamp: z.iso.ZodMiniISODateTime;
1805
+ sentAt: z.iso.ZodMiniISODateTime;
1806
+ timestamp: z.iso.ZodMiniISODateTime;
1807
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1808
+ type: z.ZodMiniLiteral<"page">;
1809
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1810
+ properties: z.ZodMiniObject<{
1811
+ path: z.ZodMiniString<string>;
1812
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1813
+ referrer: z.ZodMiniString<string>;
1814
+ search: z.ZodMiniString<string>;
1815
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1816
+ url: z.ZodMiniString<string>;
1817
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
1818
+ context: z.ZodMiniObject<{
1819
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
1820
+ name: z.ZodMiniString<string>;
1821
+ version: z.ZodMiniString<string>;
1822
+ }, z.core.$strip>>;
1823
+ campaign: z.ZodMiniObject<{
1824
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1825
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
1826
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
1827
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
1828
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
1829
+ }, z.core.$strip>;
1830
+ gdpr: z.ZodMiniObject<{
1831
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
1832
+ }, z.core.$strip>;
1833
+ library: z.ZodMiniObject<{
1834
+ name: z.ZodMiniString<string>;
1835
+ version: z.ZodMiniString<string>;
1836
+ }, z.core.$strip>;
1837
+ locale: z.ZodMiniString<string>;
1838
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
1839
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1840
+ latitude: z.ZodMiniNumber<number>;
1841
+ longitude: z.ZodMiniNumber<number>;
1842
+ }, z.core.$strip>>;
1843
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1844
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1845
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1846
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1847
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1848
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1849
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1850
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1851
+ }, z.core.$strip>>;
1852
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1853
+ page: z.ZodMiniObject<{
1854
+ path: z.ZodMiniString<string>;
1855
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1856
+ referrer: z.ZodMiniString<string>;
1857
+ search: z.ZodMiniString<string>;
1858
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1859
+ url: z.ZodMiniString<string>;
1860
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
1861
+ }, z.core.$strip>;
1862
+ }, z.core.$strip>, z.ZodMiniObject<{
1863
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
1864
+ messageId: z.ZodMiniString<string>;
1865
+ originalTimestamp: z.iso.ZodMiniISODateTime;
1866
+ sentAt: z.iso.ZodMiniISODateTime;
1867
+ timestamp: z.iso.ZodMiniISODateTime;
1868
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1869
+ type: z.ZodMiniLiteral<"screen">;
1870
+ name: z.ZodMiniString<string>;
1871
+ properties: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>>;
1872
+ context: z.ZodMiniObject<{
1873
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
1874
+ name: z.ZodMiniString<string>;
1875
+ version: z.ZodMiniString<string>;
1876
+ }, z.core.$strip>>;
1877
+ campaign: z.ZodMiniObject<{
1878
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1879
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
1880
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
1881
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
1882
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
1883
+ }, z.core.$strip>;
1884
+ gdpr: z.ZodMiniObject<{
1885
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
1886
+ }, z.core.$strip>;
1887
+ library: z.ZodMiniObject<{
1888
+ name: z.ZodMiniString<string>;
1889
+ version: z.ZodMiniString<string>;
1890
+ }, z.core.$strip>;
1891
+ locale: z.ZodMiniString<string>;
1892
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
1893
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1894
+ latitude: z.ZodMiniNumber<number>;
1895
+ longitude: z.ZodMiniNumber<number>;
1896
+ }, z.core.$strip>>;
1897
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1898
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1899
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1900
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1901
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1902
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1903
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1904
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1905
+ }, z.core.$strip>>;
1906
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1907
+ screen: z.ZodMiniObject<{
1908
+ name: z.ZodMiniString<string>;
1909
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>;
1910
+ }, z.core.$strip>;
1911
+ }, z.core.$strip>, z.ZodMiniObject<{
1912
+ channel: z.ZodMiniUnion<readonly [z.ZodMiniLiteral<"mobile">, z.ZodMiniLiteral<"server">, z.ZodMiniLiteral<"web">]>;
1913
+ context: z.ZodMiniObject<{
1914
+ app: z.ZodMiniOptional<z.ZodMiniObject<{
1915
+ name: z.ZodMiniString<string>;
1916
+ version: z.ZodMiniString<string>;
1917
+ }, z.core.$strip>>;
1918
+ campaign: z.ZodMiniObject<{
1919
+ name: z.ZodMiniOptional<z.ZodMiniString<string>>;
1920
+ source: z.ZodMiniOptional<z.ZodMiniString<string>>;
1921
+ medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
1922
+ term: z.ZodMiniOptional<z.ZodMiniString<string>>;
1923
+ content: z.ZodMiniOptional<z.ZodMiniString<string>>;
1924
+ }, z.core.$strip>;
1925
+ gdpr: z.ZodMiniObject<{
1926
+ isConsentGiven: z.ZodMiniBoolean<boolean>;
1927
+ }, z.core.$strip>;
1928
+ library: z.ZodMiniObject<{
1929
+ name: z.ZodMiniString<string>;
1930
+ version: z.ZodMiniString<string>;
1931
+ }, z.core.$strip>;
1932
+ locale: z.ZodMiniString<string>;
1933
+ location: z.ZodMiniOptional<z.ZodMiniObject<{
1934
+ coordinates: z.ZodMiniOptional<z.ZodMiniObject<{
1935
+ latitude: z.ZodMiniNumber<number>;
1936
+ longitude: z.ZodMiniNumber<number>;
1937
+ }, z.core.$strip>>;
1938
+ city: z.ZodMiniOptional<z.ZodMiniString<string>>;
1939
+ postalCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1940
+ region: z.ZodMiniOptional<z.ZodMiniString<string>>;
1941
+ regionCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1942
+ country: z.ZodMiniOptional<z.ZodMiniString<string>>;
1943
+ countryCode: z.ZodMiniOptional<z.ZodMiniString<string>>;
1944
+ continent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1945
+ timezone: z.ZodMiniOptional<z.ZodMiniString<string>>;
1946
+ }, z.core.$strip>>;
1947
+ userAgent: z.ZodMiniOptional<z.ZodMiniString<string>>;
1948
+ page: z.ZodMiniOptional<z.ZodMiniObject<{
1949
+ path: z.ZodMiniString<string>;
1950
+ query: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
1951
+ referrer: z.ZodMiniString<string>;
1952
+ search: z.ZodMiniString<string>;
1953
+ title: z.ZodMiniOptional<z.ZodMiniString<string>>;
1954
+ url: z.ZodMiniString<string>;
1955
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1956
+ screen: z.ZodMiniOptional<z.ZodMiniObject<{
1957
+ name: z.ZodMiniString<string>;
1958
+ }, z.core.$catchall<z.ZodMiniJSONSchema>>>;
1959
+ }, z.core.$strip>;
1960
+ messageId: z.ZodMiniString<string>;
1961
+ originalTimestamp: z.iso.ZodMiniISODateTime;
1962
+ sentAt: z.iso.ZodMiniISODateTime;
1963
+ timestamp: z.iso.ZodMiniISODateTime;
1964
+ userId: z.ZodMiniOptional<z.ZodMiniString<string>>;
1965
+ type: z.ZodMiniLiteral<"track">;
1966
+ event: z.ZodMiniString<string>;
1967
+ properties: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>;
1968
+ }, z.core.$strip>], "type">>;
1969
+
1970
+ /**
1971
+ * TypeScript type inferred from {@link ExperienceEventArray}.
1972
+ *
1973
+ * @public
1974
+ */
1975
+ declare type ExperienceEventArray = z.infer<typeof ExperienceEventArray>;
1976
+
593
1977
  /**
594
1978
  * Feature flags supported by the Experience API.
595
1979
  *
@@ -653,7 +2037,7 @@ export declare interface FetchMethodCallbackOptions {
653
2037
  *
654
2038
  * @public
655
2039
  */
656
- export declare type GlobalApiConfigProperties = 'environment' | 'fetchOptions' | 'clientId';
2040
+ export declare type GlobalApiConfigProperties = 'environment' | 'fetchOptions' | 'spaceId';
657
2041
 
658
2042
  /**
659
2043
  * Default base URL for the Insights ingest API.
@@ -672,8 +2056,8 @@ export declare const INSIGHTS_BASE_URL = "https://ingest.insights.ninetailed.co/
672
2056
  * @example
673
2057
  * ```ts
674
2058
  * const insightsClient = new InsightsApiClient({
675
- * clientId: 'org-id',
676
- * environment: 'main',
2059
+ * spaceId: 'space-id',
2060
+ * environment: 'master',
677
2061
  * })
678
2062
  *
679
2063
  * await insightsClient.sendBatchEvents([
@@ -707,8 +2091,8 @@ export declare class InsightsApiClient extends ApiClientBase {
707
2091
  * @example
708
2092
  * ```ts
709
2093
  * const client = new InsightsApiClient({
710
- * clientId: 'org-id',
711
- * environment: 'main',
2094
+ * spaceId: 'space-id',
2095
+ * environment: 'master',
712
2096
  * })
713
2097
  * ```
714
2098
  */
@@ -775,6 +2159,29 @@ export declare interface InsightsApiClientRequestOptions {
775
2159
  beacon?: (url: string, body: string) => boolean;
776
2160
  }
777
2161
 
2162
+ /**
2163
+ * Determines whether a change represents a variable-backed optimization.
2164
+ *
2165
+ * @public
2166
+ */
2167
+ export declare function isVariableChange(change: Change): change is VariableChange;
2168
+
2169
+ /**
2170
+ * Optimization data shape used for compatibility outside the API adapter.
2171
+ *
2172
+ * @remarks
2173
+ * This type mirrors {@link ExperienceData} but replaces the `experiences`
2174
+ * field with `selectedOptimizations` while preserving the rest of the structure.
2175
+ *
2176
+ * @public
2177
+ */
2178
+ declare type OptimizationData = Omit<ExperienceData, 'experiences'> & {
2179
+ /**
2180
+ * Selected optimizations for the profile.
2181
+ */
2182
+ selectedOptimizations: SelectedOptimizationArray;
2183
+ };
2184
+
778
2185
  /**
779
2186
  * Options for {@link createProtectedFetchMethod}, combining timeout and retry behavior.
780
2187
  *
@@ -816,6 +2223,53 @@ export declare interface RetryFetchMethodOptions extends BaseFetchMethodOptions
816
2223
  retries?: number;
817
2224
  }
818
2225
 
2226
+ /**
2227
+ * Zod schema describing an array of {@link SelectedOptimization} items.
2228
+ *
2229
+ * @remarks
2230
+ * Useful when multiple experiences are evaluated at once.
2231
+ *
2232
+ * @public
2233
+ */
2234
+ declare const SelectedOptimizationArray: z.ZodMiniArray<z.ZodMiniObject<{
2235
+ /**
2236
+ * Identifier of the personalization or experiment experience.
2237
+ */
2238
+ experienceId: z.ZodMiniString<string>;
2239
+ /**
2240
+ * Index of the selected variant within the experience configuration.
2241
+ *
2242
+ * @remarks
2243
+ * Typically corresponds to the index of the selected `OptimizationConfig` entry.
2244
+ */
2245
+ variantIndex: z.ZodMiniNumber<number>;
2246
+ /**
2247
+ * Mapping of baseline entry IDs to their selected variant entry IDs.
2248
+ *
2249
+ * @remarks
2250
+ * The keys are component identifiers and the values are the
2251
+ * identifiers of the selected variant for that component.
2252
+ */
2253
+ variants: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniString<string>>;
2254
+ /**
2255
+ * Indicates whether this optimization selection is sticky for the user.
2256
+ *
2257
+ * @defaultValue false
2258
+ *
2259
+ * @remarks
2260
+ * Reuse sticky selections on subsequent requests for the same user rather
2261
+ * than re-allocating a new variant.
2262
+ */
2263
+ sticky: z.ZodMiniOptional<z.ZodMiniPrefault<z.ZodMiniBoolean<boolean>>>;
2264
+ }, z.core.$strip>>;
2265
+
2266
+ /**
2267
+ * TypeScript type inferred from {@link SelectedOptimizationArray}.
2268
+ *
2269
+ * @public
2270
+ */
2271
+ declare type SelectedOptimizationArray = z.infer<typeof SelectedOptimizationArray>;
2272
+
819
2273
  /**
820
2274
  * Configuration options for {@link createTimeoutFetchMethod}.
821
2275
  *
@@ -865,4 +2319,38 @@ export declare interface UpsertProfileParams extends CreateProfileParams {
865
2319
  profileId?: string;
866
2320
  }
867
2321
 
2322
+ /**
2323
+ * Zod schema representing a change whose type is `'Variable'`.
2324
+ *
2325
+ * @remarks
2326
+ * The `value` must conform to {@link VariableChangeValue}.
2327
+ *
2328
+ * @public
2329
+ */
2330
+ declare const VariableChange: z.ZodMiniObject<{
2331
+ key: z.ZodMiniString<string>;
2332
+ meta: z.ZodMiniObject<{
2333
+ /**
2334
+ * Identifier of the personalization or experiment experience.
2335
+ */
2336
+ experienceId: z.ZodMiniString<string>;
2337
+ /**
2338
+ * Index of the variant within the experience configuration.
2339
+ *
2340
+ * @remarks
2341
+ * Typically corresponds to the array index in the experience's distribution.
2342
+ */
2343
+ variantIndex: z.ZodMiniNumber<number>;
2344
+ }, z.core.$strip>;
2345
+ type: z.ZodMiniLiteral<"Variable">;
2346
+ value: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniBoolean<boolean>, z.ZodMiniNull, z.ZodMiniNumber<number>, z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniJSONSchema>]>;
2347
+ }, z.core.$strip>;
2348
+
2349
+ /**
2350
+ * TypeScript type inferred from {@link VariableChange}.
2351
+ *
2352
+ * @public
2353
+ */
2354
+ declare type VariableChange = z.infer<typeof VariableChange>;
2355
+
868
2356
  export { }