import { ClosedEnum } from "../../types/enums.js"; import * as z from "zod"; export type DynamicConfigDtoTargetValue = Array | Array | string | number; export declare const DynamicConfigDtoType: { readonly AppVersion: "app_version"; readonly BrowserName: "browser_name"; readonly BrowserVersion: "browser_version"; readonly Country: "country"; readonly CustomField: "custom_field"; readonly Email: "email"; readonly EnvironmentTier: "environment_tier"; readonly FailsGate: "fails_gate"; readonly FailsSegment: "fails_segment"; readonly IpAddress: "ip_address"; readonly Locale: "locale"; readonly OsName: "os_name"; readonly OsVersion: "os_version"; readonly PassesGate: "passes_gate"; readonly PassesSegment: "passes_segment"; readonly Public: "public"; readonly Time: "time"; readonly UnitId: "unit_id"; readonly UserId: "user_id"; readonly Url: "url"; readonly Javascript: "javascript"; readonly DeviceModel: "device_model"; readonly TargetApp: "target_app"; }; export type DynamicConfigDtoType = ClosedEnum; export type DynamicConfigDtoConditions = { targetValue?: Array | Array | string | number | null | undefined; operator?: string | undefined; field?: any | null | undefined; customID?: any | null | undefined; type: DynamicConfigDtoType; }; export type DynamicConfigDtoRules = { /** * The name of this rule. */ name: string; /** * Of the users that meet the conditions of this rule, what percent should return true. */ passPercentage: number; /** * An array of Condition objects. */ conditions: Array; environments?: Array | null | undefined; /** * The Statsig ID of this rule. */ id?: string | undefined; /** * The base ID of this rule, i.e. without any added metadata. Will remain the exact same throughout */ baseID?: string | undefined; returnValue?: { [k: string]: any; } | undefined; returnValueJson5?: string | undefined; }; export type DynamicConfigDtoTargetApps = string | Array; export type DynamicConfigDto = { /** * Is the dynamic config enabled */ isEnabled?: boolean | undefined; /** * A brief summary of what the dynamic config is being used for */ description: string; /** * An array of Rule objects */ rules: Array; /** * The fallback JSON object when no rules are triggered */ defaultValue?: { [k: string]: any; } | undefined; /** * Can include comments. If provided with defaultValue, must parse to the same JSON */ defaultValueJson5?: string | undefined; /** * The type of ID which the dynamic config is based on. */ idType?: string | undefined; /** * The list of tag names attached to the dynamic config */ tags?: Array | undefined; creatorID?: any | null | undefined; creatorEmail?: any | null | undefined; /** * A schema using JSON Schema Draft 2020-12 to enforce return values of this dynamic config's rules. */ schema?: any | null | undefined; /** * `schema` except with Json5 comments. Optional and should parse to same json as `schema`. */ schemaJson5?: any | null | undefined; targetApps?: string | Array | undefined; team?: any | null | undefined; }; /** @internal */ export declare const DynamicConfigDtoTargetValue$inboundSchema: z.ZodType; /** @internal */ export type DynamicConfigDtoTargetValue$Outbound = Array | Array | string | number; /** @internal */ export declare const DynamicConfigDtoTargetValue$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace DynamicConfigDtoTargetValue$ { /** @deprecated use `DynamicConfigDtoTargetValue$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoTargetValue$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoTargetValue$Outbound` instead. */ type Outbound = DynamicConfigDtoTargetValue$Outbound; } /** @internal */ export declare const DynamicConfigDtoType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const DynamicConfigDtoType$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace DynamicConfigDtoType$ { /** @deprecated use `DynamicConfigDtoType$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly AppVersion: "app_version"; readonly BrowserName: "browser_name"; readonly BrowserVersion: "browser_version"; readonly Country: "country"; readonly CustomField: "custom_field"; readonly Email: "email"; readonly EnvironmentTier: "environment_tier"; readonly FailsGate: "fails_gate"; readonly FailsSegment: "fails_segment"; readonly IpAddress: "ip_address"; readonly Locale: "locale"; readonly OsName: "os_name"; readonly OsVersion: "os_version"; readonly PassesGate: "passes_gate"; readonly PassesSegment: "passes_segment"; readonly Public: "public"; readonly Time: "time"; readonly UnitId: "unit_id"; readonly UserId: "user_id"; readonly Url: "url"; readonly Javascript: "javascript"; readonly DeviceModel: "device_model"; readonly TargetApp: "target_app"; }>; /** @deprecated use `DynamicConfigDtoType$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly AppVersion: "app_version"; readonly BrowserName: "browser_name"; readonly BrowserVersion: "browser_version"; readonly Country: "country"; readonly CustomField: "custom_field"; readonly Email: "email"; readonly EnvironmentTier: "environment_tier"; readonly FailsGate: "fails_gate"; readonly FailsSegment: "fails_segment"; readonly IpAddress: "ip_address"; readonly Locale: "locale"; readonly OsName: "os_name"; readonly OsVersion: "os_version"; readonly PassesGate: "passes_gate"; readonly PassesSegment: "passes_segment"; readonly Public: "public"; readonly Time: "time"; readonly UnitId: "unit_id"; readonly UserId: "user_id"; readonly Url: "url"; readonly Javascript: "javascript"; readonly DeviceModel: "device_model"; readonly TargetApp: "target_app"; }>; } /** @internal */ export declare const DynamicConfigDtoConditions$inboundSchema: z.ZodType; /** @internal */ export type DynamicConfigDtoConditions$Outbound = { targetValue?: Array | Array | string | number | null | undefined; operator?: string | undefined; field?: any | null | undefined; customID?: any | null | undefined; type: string; }; /** @internal */ export declare const DynamicConfigDtoConditions$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace DynamicConfigDtoConditions$ { /** @deprecated use `DynamicConfigDtoConditions$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoConditions$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoConditions$Outbound` instead. */ type Outbound = DynamicConfigDtoConditions$Outbound; } /** @internal */ export declare const DynamicConfigDtoRules$inboundSchema: z.ZodType; /** @internal */ export type DynamicConfigDtoRules$Outbound = { name: string; passPercentage: number; conditions: Array; environments?: Array | null | undefined; id?: string | undefined; baseID?: string | undefined; returnValue?: { [k: string]: any; } | undefined; returnValueJson5?: string | undefined; }; /** @internal */ export declare const DynamicConfigDtoRules$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace DynamicConfigDtoRules$ { /** @deprecated use `DynamicConfigDtoRules$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoRules$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoRules$Outbound` instead. */ type Outbound = DynamicConfigDtoRules$Outbound; } /** @internal */ export declare const DynamicConfigDtoTargetApps$inboundSchema: z.ZodType; /** @internal */ export type DynamicConfigDtoTargetApps$Outbound = string | Array; /** @internal */ export declare const DynamicConfigDtoTargetApps$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace DynamicConfigDtoTargetApps$ { /** @deprecated use `DynamicConfigDtoTargetApps$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoTargetApps$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDtoTargetApps$Outbound` instead. */ type Outbound = DynamicConfigDtoTargetApps$Outbound; } /** @internal */ export declare const DynamicConfigDto$inboundSchema: z.ZodType; /** @internal */ export type DynamicConfigDto$Outbound = { isEnabled: boolean; description: string; rules: Array; defaultValue?: { [k: string]: any; } | undefined; defaultValueJson5?: string | undefined; idType?: string | undefined; tags?: Array | undefined; creatorID?: any | null | undefined; creatorEmail?: any | null | undefined; schema?: any | null | undefined; schemaJson5?: any | null | undefined; targetApps?: string | Array | undefined; team?: any | null | undefined; }; /** @internal */ export declare const DynamicConfigDto$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace DynamicConfigDto$ { /** @deprecated use `DynamicConfigDto$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDto$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `DynamicConfigDto$Outbound` instead. */ type Outbound = DynamicConfigDto$Outbound; } //# sourceMappingURL=dynamicconfigdto.d.ts.map