import { Resource } from "@opentelemetry/resources";
import type { BrowserSdkLoaderOptions, AzureMonitorOpenTelemetryOptions, InstrumentationOptions } from "../types.js";
import type { AzureMonitorExporterOptions } from "@azure/monitor-opentelemetry-exporter";
/**
 * Azure Monitor OpenTelemetry Client Configuration
 */
export declare class InternalConfig implements AzureMonitorOpenTelemetryOptions {
    /** 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;
    /** Enable Live Metrics feature */
    enableLiveMetrics?: boolean;
    /** Enable Standard Metrics feature */
    enableStandardMetrics?: boolean;
    /** Enable log sampling based on trace (Default true) */
    enableTraceBasedSamplingForLogs?: boolean;
    /** Enable Performance Counter feature */
    enablePerformanceCounters?: boolean;
    private _resource;
    set resource(resource: Resource);
    /**
     *Get OpenTelemetry Resource
     */
    get resource(): Resource;
    browserSdkLoaderOptions: BrowserSdkLoaderOptions;
    /**
     * Initializes a new instance of the AzureMonitorOpenTelemetryOptions class.
     */
    constructor(options?: AzureMonitorOpenTelemetryOptions);
    private _mergeConfig;
    private _setDefaultResource;
}
//# sourceMappingURL=config.d.ts.map