import type { MetricsClient } from './connection'; import type { Retention } from './HistoryStore'; import { type MetricsKeys } from './keys'; export type LatencyMetric = 'runtime' | 'waittime'; export declare const QUEUE_AGE_METRIC = "queueage"; export declare class LatencyStore { private readonly redis; private readonly keys; readonly retention: Retention; constructor(opts: { redis: MetricsClient; keys: MetricsKeys; retention: Retention; }); addSamples(queue: string, metric: LatencyMetric, hour: number, vector: number[]): Promise; recordQueueAge(queue: string, hour: number, ms: number): Promise; readRange(queue: string, metric: LatencyMetric, granularity: 'hour' | 'day', days: string[]): Promise>; readQueueAge(queue: string, granularity: 'hour' | 'day', days: string[]): Promise>; /** Epoch ms for an absolute hour index, for building response timestamps. */ static hourToMs(hour: number): number; }