import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { AIConfigTargetingEnvironmentFallthroughRolloutExperimentationAllocation, AIConfigTargetingEnvironmentFallthroughRolloutExperimentationAllocation$Outbound } from "./aiconfigtargetingenvironmentfallthroughrolloutexperimentationallocation.js";
import { AIConfigTargetingEnvironmentFallthroughRolloutVariation, AIConfigTargetingEnvironmentFallthroughRolloutVariation$Outbound } from "./aiconfigtargetingenvironmentfallthroughrolloutvariation.js";
export type AIConfigTargetingEnvironmentFallthroughRollout = {
    /**
     * The context attribute used to bucket contexts
     */
    bucketBy?: string | undefined;
    /**
     * The context kind used to bucket contexts
     */
    contextKind: string;
    experimentAllocation?: AIConfigTargetingEnvironmentFallthroughRolloutExperimentationAllocation | undefined;
    /**
     * The seed used for bucketing
     */
    seed?: number | undefined;
    /**
     * The variations and their weights
     */
    variations: Array<AIConfigTargetingEnvironmentFallthroughRolloutVariation>;
};
/** @internal */
export declare const AIConfigTargetingEnvironmentFallthroughRollout$inboundSchema: z.ZodType<AIConfigTargetingEnvironmentFallthroughRollout, z.ZodTypeDef, unknown>;
/** @internal */
export type AIConfigTargetingEnvironmentFallthroughRollout$Outbound = {
    bucketBy?: string | undefined;
    contextKind: string;
    experimentAllocation?: AIConfigTargetingEnvironmentFallthroughRolloutExperimentationAllocation$Outbound | undefined;
    seed?: number | undefined;
    variations: Array<AIConfigTargetingEnvironmentFallthroughRolloutVariation$Outbound>;
};
/** @internal */
export declare const AIConfigTargetingEnvironmentFallthroughRollout$outboundSchema: z.ZodType<AIConfigTargetingEnvironmentFallthroughRollout$Outbound, z.ZodTypeDef, AIConfigTargetingEnvironmentFallthroughRollout>;
export declare function aiConfigTargetingEnvironmentFallthroughRolloutToJSON(aiConfigTargetingEnvironmentFallthroughRollout: AIConfigTargetingEnvironmentFallthroughRollout): string;
export declare function aiConfigTargetingEnvironmentFallthroughRolloutFromJSON(jsonString: string): SafeParseResult<AIConfigTargetingEnvironmentFallthroughRollout, SDKValidationError>;
//# sourceMappingURL=aiconfigtargetingenvironmentfallthroughrollout.d.ts.map