import type { PushMetricExporter, ResourceMetrics } from "@opentelemetry/sdk-metrics";
import { AggregationTemporality, InstrumentType } from "@opentelemetry/sdk-metrics";
import type { ExportResult } from "@opentelemetry/core";
import type { QuickpulseExporterOptions } from "../types.js";
import { QuickpulseSender } from "./sender.js";
/**
 * Quickpulse Metric Exporter.
 */
export declare class QuickpulseMetricExporter implements PushMetricExporter {
    private sender;
    private postCallback;
    private getDocumentsFn;
    private baseMonitoringDataPoint;
    private etag;
    private getErrorsFn;
    private getDerivedMetricValuesFn;
    /**
     * Initializes a new instance of the AzureMonitorMetricExporter class.
     * @param AzureExporterConfig - Exporter configuration.
     */
    constructor(options: QuickpulseExporterOptions);
    /**
     * Export OpenTelemetry resource metrics.
     * @param metrics - Resource metrics to export.
     * @param resultCallback - Result callback.
     */
    export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): Promise<void>;
    /**
     * Shutdown Exporter.
     */
    shutdown(): Promise<void>;
    /**
     * Select aggregation temporality
     */
    selectAggregationTemporality(instrumentType: InstrumentType): AggregationTemporality;
    /**
     * Force flush
     */
    forceFlush(): Promise<void>;
    /**
     * Get Sender
     */
    getSender(): QuickpulseSender;
    setEtag(etag: string): void;
}
//# sourceMappingURL=exporter.d.ts.map