import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ExperimentAllocationRep, ExperimentAllocationRep$Outbound } from "./experimentallocationrep.js";
import { WeightedVariation, WeightedVariation$Outbound } from "./weightedvariation.js";
export type Rollout = {
    variations: Array<WeightedVariation>;
    experimentAllocation?: ExperimentAllocationRep | undefined;
    seed?: number | undefined;
    bucketBy?: string | undefined;
    contextKind?: string | undefined;
};
/** @internal */
export declare const Rollout$inboundSchema: z.ZodType<Rollout, z.ZodTypeDef, unknown>;
/** @internal */
export type Rollout$Outbound = {
    variations: Array<WeightedVariation$Outbound>;
    experimentAllocation?: ExperimentAllocationRep$Outbound | undefined;
    seed?: number | undefined;
    bucketBy?: string | undefined;
    contextKind?: string | undefined;
};
/** @internal */
export declare const Rollout$outboundSchema: z.ZodType<Rollout$Outbound, z.ZodTypeDef, Rollout>;
export declare function rolloutToJSON(rollout: Rollout): string;
export declare function rolloutFromJSON(jsonString: string): SafeParseResult<Rollout, SDKValidationError>;
//# sourceMappingURL=rollout.d.ts.map