import { AzureMonitorExporterOptions } from "@azure/monitor-opentelemetry-exporter";
import { Resource } from "@opentelemetry/resources";
import { AzureMonitorOpenTelemetryOptions, OTLPExporterConfig, InstrumentationOptions } from "../../types";
export declare class ApplicationInsightsConfig {
    enableAutoCollectExceptions: boolean;
    /** OTLP Trace Exporter Configuration */
    otlpTraceExporterConfig: OTLPExporterConfig;
    /** OTLP Metric Exporter Configuration */
    otlpMetricExporterConfig: OTLPExporterConfig;
    /** OTLP Log Exporter Configuration */
    otlpLogExporterConfig: OTLPExporterConfig;
    /** The rate of telemetry items tracked that should be transmitted (Default 1.0) */
    samplingRatio: number;
    /** Azure Monitor Exporter Configuration */
    azureMonitorExporterOptions: AzureMonitorExporterOptions;
    /**
     * OpenTelemetry Instrumentations configuration included as part of Azure Monitor (azureSdk, http, mongoDb, mySql, postgreSql, redis, redis4)
     */
    instrumentationOptions: InstrumentationOptions;
    private _resource;
    set resource(resource: Resource);
    /**
     *Get OpenTelemetry Resource
     */
    get resource(): Resource;
    /**
     * Sets the state of performance tracking (enabled by default)
     * if true performance counters will be collected every second and sent to Azure Monitor
     */
    enableAutoCollectPerformance: boolean;
    constructor(options?: AzureMonitorOpenTelemetryOptions);
    private _mergeConfig;
    private _getDefaultResource;
}
