import { ApplicationInsightClient } from '../base/client/azure-appinsight-client.js'; import type { SampleRate, TelemetryMeasurements, TelemetryProperties } from '../base/types/index.js'; import type { TelemetryHelperProperties, TelemetryEvent } from './types.js'; /** * */ declare class ToolsSuiteTelemetryClient extends ApplicationInsightClient { /** * * @param applicationKey Application key to identify the Azure Application Insight resource * @param extensionName Unique name of the extension in the format of {publisher}.{extension} * @param extensionVersion Conventional version number of the extension */ constructor(applicationKey: string, extensionName: string, extensionVersion: string); /** * Send a telemetry event to Azure Application Insights. * * @deprecated Use reportEvent instead. * @param eventName Categorize the type of the event within the scope of an extension. * @param properties A set of string properties to be reported * @param measurements A set of numeric measurements to be reported * @param sampleRate Sampling the event to be sent * @param telemetryHelperProperties Properties that are passed to the processCommonPropertiesHelper function to assit generate project specific telemetry data * @param ignoreSettings Ignore telemetryEnabled settings and skip submitting telemetry data * @returns Promise */ report(eventName: string, properties: TelemetryProperties, measurements: TelemetryMeasurements, sampleRate: SampleRate | undefined, telemetryHelperProperties?: TelemetryHelperProperties, ignoreSettings?: boolean): Promise; /** * Send a telemetry event to Azure Application Insights. * * @param event Telemetry Event * @param sampleRate Sampling the event to be sent * @param telemetryHelperProperties Properties that are passed to the processCommonPropertiesHelper function to assit generate project specific telemetry data * @param ignoreSettings Ignore telemetryEnabled settings and skip submitting telemetry data * @returns Promise */ reportEvent(event: TelemetryEvent, sampleRate?: SampleRate, telemetryHelperProperties?: TelemetryHelperProperties, ignoreSettings?: boolean): Promise; /** * Send a telemetry event to Azure Application Insights. This API makes sure the telemetry event * is flushed to Azure backend before executing the next statement. Since this API blocks * normal execution flow, please use this API cautiously. See `reportEvent()` method for non-blocking * usage. * * @param event Telemetry Event * @param sampleRate Sampling the event to be sent * @param telemetryHelperProperties Properties that are passed to the processCommonPropertiesHelper function to assit generate project specific telemetry data * @param ignoreSettings Ignore telemetryEnabled settings and skip submitting telemetry data * @returns Promise */ reportEventBlocking(event: TelemetryEvent, sampleRate?: SampleRate, telemetryHelperProperties?: TelemetryHelperProperties, ignoreSettings?: boolean): Promise; /** * Add common properties to properties and measurements of consumer's telemetry event. * * @param event telemetry event * @param telemetryHelperProperties Additional properties that can be undefined * @returns Telemetry properties and measurements */ private collectToolsSuiteTelemetry; } export { ToolsSuiteTelemetryClient }; //# sourceMappingURL=telemetry-client.d.ts.map