/** * Runtime validators for the benchkit OTLP semantic contract. * * These validators enforce the required attributes documented in * docs/otlp-semantic-conventions.md. They throw descriptive errors that * guide producers toward compliance. */ import { type Direction, type MetricRole, type RunKind, type SourceFormat } from "./otlp-conventions.js"; /** * Validates that all required resource-level attributes are present and valid. * Throws with a descriptive message on the first violation found. */ export declare function validateRequiredResourceAttributes(attrs: Record): void; /** * Validates that required datapoint-level attributes are present. * * For non-monitor metrics, `benchkit.scenario` and `benchkit.series` are * required. Monitor metrics (`_monitor.*`) are exempt since they default * to `"diagnostic"` scenario. */ export declare function validateRequiredDatapointAttributes(attrs: Record, metricName: string): void; /** Returns true if `value` is a valid `benchkit.kind`. */ export declare function isValidRunKind(value: string): value is RunKind; /** Validates and returns a `RunKind`, or throws. */ export declare function validateRunKind(value: string | undefined): RunKind; /** Returns true if `value` is a valid `benchkit.metric.direction`. */ export declare function isValidDirection(value: string): value is Direction; /** Validates and returns a `Direction`, or throws. */ export declare function validateDirection(value: string | undefined): Direction; /** Returns true if `value` is a valid `benchkit.metric.role`. */ export declare function isValidMetricRole(value: string): value is MetricRole; /** Validates and returns a `MetricRole`, or throws. */ export declare function validateMetricRole(value: string | undefined): MetricRole; /** Returns true if `value` is a valid `benchkit.source_format`. */ export declare function isValidSourceFormat(value: string): value is SourceFormat; /** Validates and returns a `SourceFormat`, or throws. */ export declare function validateSourceFormat(value: string | undefined): SourceFormat; /** Returns true if the metric name uses the reserved `_monitor.` prefix. */ export declare function isMonitorMetric(name: string): boolean; //# sourceMappingURL=otlp-validation.d.ts.map