import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type MetricInput = {
    /**
     * The metric key
     */
    key: string;
    /**
     * Whether this is a metric group (true) or a metric (false). Defaults to false
     */
    isGroup?: boolean | undefined;
    /**
     * Deprecated, use <code>primarySingleMetricKey</code> and <code>primaryFunnelKey</code>. Whether this is a primary metric (true) or a secondary metric (false)
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    primary?: boolean | undefined;
    /**
     * The analysis unit to use for this metric. If omitted, analysis uses the iteration's randomization unit.
     */
    analysisUnit?: string | undefined;
};
/** @internal */
export declare const MetricInput$inboundSchema: z.ZodType<MetricInput, z.ZodTypeDef, unknown>;
/** @internal */
export type MetricInput$Outbound = {
    key: string;
    isGroup?: boolean | undefined;
    primary?: boolean | undefined;
    analysisUnit?: string | undefined;
};
/** @internal */
export declare const MetricInput$outboundSchema: z.ZodType<MetricInput$Outbound, z.ZodTypeDef, MetricInput>;
export declare function metricInputToJSON(metricInput: MetricInput): string;
export declare function metricInputFromJSON(jsonString: string): SafeParseResult<MetricInput, SDKValidationError>;
//# sourceMappingURL=metricinput.d.ts.map