import * as prometheus from 'prom-client';
import BaseApp, { Plugin, PluginContext } from '../app/BaseApp';
import { OSMetrics, OSMetricsService } from './OSMetricsService';
export default class MetricsPlugin implements Plugin {
    statsTimer: any;
    loadStats: prometheus.Gauge;
    cpuStats: prometheus.Counter;
    lastMetrics: OSMetrics;
    name: string;
    prometheusTimer: number;
    osMetricsService: OSMetricsService;
    getName(): string;
    didStart(app: BaseApp, pluginContext: PluginContext): void;
    registerOSMetrics(app: BaseApp): void;
    pushStats(): void;
    pushIndividualCPUStat(name: string, newStats: OSMetrics): void;
    pushIndividualLoadStat(name: string, newStats: OSMetrics): void;
    didStop(): void;
}
