import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { MetricUnit } from "./metricunit.js";
export type Scalar = {
    /**
     * Metric name.
     */
    name: string;
    unit: MetricUnit;
    /**
     * Metric value.
     */
    value: number;
};
/** @internal */
export declare const Scalar$inboundSchema: z.ZodType<Scalar, z.ZodTypeDef, unknown>;
/** @internal */
export type Scalar$Outbound = {
    name: string;
    unit: string;
    value: number;
};
/** @internal */
export declare const Scalar$outboundSchema: z.ZodType<Scalar$Outbound, z.ZodTypeDef, Scalar>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Scalar$ {
    /** @deprecated use `Scalar$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Scalar, z.ZodTypeDef, unknown>;
    /** @deprecated use `Scalar$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Scalar$Outbound, z.ZodTypeDef, Scalar>;
    /** @deprecated use `Scalar$Outbound` instead. */
    type Outbound = Scalar$Outbound;
}
export declare function scalarToJSON(scalar: Scalar): string;
export declare function scalarFromJSON(jsonString: string): SafeParseResult<Scalar, SDKValidationError>;
//# sourceMappingURL=scalar.d.ts.map