/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export const ExperimentOverridesDtoType = { Gate: "gate", Segment: "segment", } as const; export type ExperimentOverridesDtoType = ClosedEnum; export type Overrides = { type: ExperimentOverridesDtoType; /** * The id of the segment or gate */ id: string; /** * The experiment group which user will be forced into */ groupID: string; }; export type UserIDOverrides = { /** * The experiment group the user will be forced into. */ groupID: string; /** * Array of user IDs to be assigned to the specified experiment group. */ ids: Array; /** * Optional environment designation (e.g., production, staging) for the experiment. */ environment?: any | null | undefined; /** * Optional type of unit for the experiment, defining the scope of the override. */ unitType?: any | null | undefined; }; export type ExperimentOverridesDto = { /** * Array of experiment overrides, each specifying type, ID, and group ID. */ overrides: Array; /** * Array of user ID overrides, specifying which users to force into experiment groups. */ userIDOverrides: Array; }; /** @internal */ export const ExperimentOverridesDtoType$inboundSchema: z.ZodNativeEnum< typeof ExperimentOverridesDtoType > = z.nativeEnum(ExperimentOverridesDtoType); /** @internal */ export const ExperimentOverridesDtoType$outboundSchema: z.ZodNativeEnum< typeof ExperimentOverridesDtoType > = ExperimentOverridesDtoType$inboundSchema; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace ExperimentOverridesDtoType$ { /** @deprecated use `ExperimentOverridesDtoType$inboundSchema` instead. */ export const inboundSchema = ExperimentOverridesDtoType$inboundSchema; /** @deprecated use `ExperimentOverridesDtoType$outboundSchema` instead. */ export const outboundSchema = ExperimentOverridesDtoType$outboundSchema; } /** @internal */ export const Overrides$inboundSchema: z.ZodType = z.object({ type: ExperimentOverridesDtoType$inboundSchema, id: z.string(), groupID: z.string(), }); /** @internal */ export type Overrides$Outbound = { type: string; id: string; groupID: string; }; /** @internal */ export const Overrides$outboundSchema: z.ZodType = z.object({ type: ExperimentOverridesDtoType$outboundSchema, id: z.string(), groupID: z.string(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace Overrides$ { /** @deprecated use `Overrides$inboundSchema` instead. */ export const inboundSchema = Overrides$inboundSchema; /** @deprecated use `Overrides$outboundSchema` instead. */ export const outboundSchema = Overrides$outboundSchema; /** @deprecated use `Overrides$Outbound` instead. */ export type Outbound = Overrides$Outbound; } /** @internal */ export const UserIDOverrides$inboundSchema: z.ZodType = z.object({ groupID: z.string(), ids: z.array(z.string()), environment: z.nullable(z.any()).optional(), unitType: z.nullable(z.any()).optional(), }); /** @internal */ export type UserIDOverrides$Outbound = { groupID: string; ids: Array; environment?: any | null | undefined; unitType?: any | null | undefined; }; /** @internal */ export const UserIDOverrides$outboundSchema: z.ZodType< UserIDOverrides$Outbound, z.ZodTypeDef, UserIDOverrides > = z.object({ groupID: z.string(), ids: z.array(z.string()), environment: z.nullable(z.any()).optional(), unitType: z.nullable(z.any()).optional(), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace UserIDOverrides$ { /** @deprecated use `UserIDOverrides$inboundSchema` instead. */ export const inboundSchema = UserIDOverrides$inboundSchema; /** @deprecated use `UserIDOverrides$outboundSchema` instead. */ export const outboundSchema = UserIDOverrides$outboundSchema; /** @deprecated use `UserIDOverrides$Outbound` instead. */ export type Outbound = UserIDOverrides$Outbound; } /** @internal */ export const ExperimentOverridesDto$inboundSchema: z.ZodType< ExperimentOverridesDto, z.ZodTypeDef, unknown > = z.object({ overrides: z.array(z.lazy(() => Overrides$inboundSchema)), userIDOverrides: z.array(z.lazy(() => UserIDOverrides$inboundSchema)), }); /** @internal */ export type ExperimentOverridesDto$Outbound = { overrides: Array; userIDOverrides: Array; }; /** @internal */ export const ExperimentOverridesDto$outboundSchema: z.ZodType< ExperimentOverridesDto$Outbound, z.ZodTypeDef, ExperimentOverridesDto > = z.object({ overrides: z.array(z.lazy(() => Overrides$outboundSchema)), userIDOverrides: z.array(z.lazy(() => UserIDOverrides$outboundSchema)), }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace ExperimentOverridesDto$ { /** @deprecated use `ExperimentOverridesDto$inboundSchema` instead. */ export const inboundSchema = ExperimentOverridesDto$inboundSchema; /** @deprecated use `ExperimentOverridesDto$outboundSchema` instead. */ export const outboundSchema = ExperimentOverridesDto$outboundSchema; /** @deprecated use `ExperimentOverridesDto$Outbound` instead. */ export type Outbound = ExperimentOverridesDto$Outbound; }