import type { MetricSample } from "../../types/machines.js"; import type { SeriesPoint } from "./metric-history-chart.js"; import { type OpenGeniText } from "../../messages/runtime.js"; export type MetricWindow = "15m" | "1h" | "6h" | "24h"; export declare const METRIC_WINDOWS: MetricWindow[]; export declare const WINDOW_LABEL: (msg: OpenGeniText) => Record; export type MetricKey = "cpu" | "mem" | "disk" | "load" | "gpu"; export type MetricDef = { key: MetricKey; title: string; unit: string; yMax: number | "auto"; color: string; thresholds?: { warn?: number; crit?: number; }; pick: (s: MetricSample) => number | null; /** Big current-value string for tiles/badges. */ current: (s: MetricSample) => string; /** Optional sub-line under the current value. */ sub?: (s: MetricSample) => string | null; }; export declare const METRICS: (msg: OpenGeniText) => MetricDef[]; export declare function pointsFor(def: MetricDef, samples: MetricSample[]): SeriesPoint[];