import { MetricReporterOptions } from '../../../typings/metric';
import MetricRegistry from '../registry';
import Star from '../../../lib/star';
import { LoggerInstance } from '../../../typings/logger';
import BaseMetric from '../type/base';
import { GenericObject } from '../../../typings';
export default class BaseReporter {
    options: MetricReporterOptions;
    registry: MetricRegistry | null;
    star: Star | null;
    logger: LoggerInstance | null;
    constructor(options: MetricReporterOptions);
    init(registry: MetricRegistry): void;
    stop(): Promise<void>;
    matchMetricName(name: string): boolean;
    formatMetricName(name: string): string;
    formatLabelName(name: string): string;
    metricChanged(metric: BaseMetric, value: any, labels?: GenericObject, timestamp?: number): void;
}
