/// <reference types="node" />
/// <reference types="node" />
import http = require("http");
import https = require("https");
import azureCoreAuth = require("@azure/core-auth");
import { DistributedTracingModes, IConfig, IDisabledExtendedMetrics, IWebInstrumentationConfig } from "./types";
import { AzureMonitorOpenTelemetryOptions } from "../types";
declare class Config implements IConfig {
    connectionString: string;
    endpointUrl: string;
    maxBatchSize: number;
    maxBatchIntervalMs: number;
    disableAppInsights: boolean;
    samplingPercentage: number;
    correlationHeaderExcludedDomains: string[];
    proxyHttpUrl: string;
    proxyHttpsUrl: string;
    httpAgent: http.Agent;
    httpsAgent: https.Agent;
    ignoreLegacyHeaders: boolean;
    aadTokenCredential?: azureCoreAuth.TokenCredential;
    enableAutoCollectConsole: boolean;
    enableLoggerErrorToTrace: boolean;
    enableAutoCollectExceptions: boolean;
    enableAutoCollectPerformance: boolean;
    enableAutoCollectExternalLoggers: boolean;
    enableAutoCollectPreAggregatedMetrics: boolean;
    enableAutoCollectHeartbeat: boolean;
    enableAutoCollectRequests: boolean;
    enableAutoCollectDependencies: boolean;
    enableAutoDependencyCorrelation: boolean;
    enableAutoCollectIncomingRequestAzureFunctions: boolean;
    enableSendLiveMetrics: boolean;
    enableUseDiskRetryCaching: boolean;
    enableUseAsyncHooks: boolean;
    distributedTracingMode: DistributedTracingModes;
    enableAutoCollectExtendedMetrics: boolean | IDisabledExtendedMetrics;
    enableResendInterval: number;
    enableMaxBytesOnDisk: number;
    enableInternalDebugLogging: boolean;
    enableInternalWarningLogging: boolean;
    disableAllExtendedMetrics: boolean;
    extendedMetricDisablers: string;
    quickPulseHost: string;
    enableWebInstrumentation: boolean;
    webInstrumentationConfig: IWebInstrumentationConfig[];
    webInstrumentationSrc: string;
    webInstrumentationConnectionString?: string;
    noPatchModules: string;
    noDiagnosticChannel: boolean;
    azureMonitorOpenTelemetryOptions: AzureMonitorOpenTelemetryOptions;
    private _configWarnings;
    /**
   * Creates a new Config instance
   * @param setupString Connection String, instrumentationKey is no longer supported here
   */
    constructor(setupString?: string, configWarnings?: string[]);
    private _mergeConfig;
    /**
    * Parse the config property to set the appropriate values on the AzureMonitorOpenTelemetryOptions
    */
    parseConfig(): AzureMonitorOpenTelemetryOptions;
}
export = Config;
