import { PeriodicExportingMetricReader, View } from "@opentelemetry/sdk-metrics";
import type { InternalConfig } from "../shared/config.js";
import type { ReadableSpan, Span } from "@opentelemetry/sdk-trace-base";
import type { LogRecord } from "@opentelemetry/sdk-logs";
/**
 * Azure Monitor OpenTelemetry Metric Handler
 */
export declare class MetricHandler {
    private _collectionInterval;
    private _azureExporter;
    private _metricReader;
    private _standardMetrics?;
    private _performanceCounters?;
    private _liveMetrics?;
    private _config;
    private _views;
    /**
     * Initializes a new instance of the MetricHandler class.
     * @param config - Distro configuration.
     * @param options - Metric Handler options.
     */
    constructor(config: InternalConfig, options?: {
        collectionInterval: number;
    });
    getMetricReader(): PeriodicExportingMetricReader;
    getViews(): View[];
    markSpanAsProcessed(span: Span): void;
    recordSpan(span: ReadableSpan): void;
    recordLog(logRecord: LogRecord): void;
    /**
     * Shutdown handler
     */
    shutdown(): Promise<void>;
}
//# sourceMappingURL=handler.d.ts.map