import type { TelemetryAnomalyDetectionConfig } from './spec';
import type { TelemetryDispatch } from './tracker';
export interface TelemetryAnomalyEvent {
    dispatch: TelemetryDispatch;
    threshold: TelemetryAnomalyDetectionConfig;
    metric: string;
    value: number | undefined;
    type: 'min' | 'max';
}
export interface TelemetryAnomalyMonitorOptions {
    onAnomaly?: (event: TelemetryAnomalyEvent) => void;
    now?: () => Date;
}
export declare class TelemetryAnomalyMonitor {
    private readonly onAnomaly?;
    private readonly now;
    private readonly samples;
    constructor(options?: TelemetryAnomalyMonitorOptions);
    observe(dispatch: TelemetryDispatch): void;
    private extractMetric;
    private emit;
    reset(): void;
}
