import { IConfigurationService } from '../../configuration/common/configurationService'; import { IEnvService } from '../../env/common/envService'; import { RequestId } from '../../networking/common/fetch'; import { ITelemetryUserConfig, TelemetryEventProperties, TelemetryProperties } from './telemetry'; export declare class TelemetryData { properties: TelemetryProperties; measurements: { [key: string]: number | undefined; }; issuedTime: number; displayedTime?: number; private static keysExemptedFromSanitization; private constructor(); static createAndMarkAsIssued(properties?: { [key: string]: string; }, measurements?: { [key: string]: number | undefined; }): TelemetryData; /** * @param properties new properties, which will overwrite old ones in case of a clash * @param measurements new measurements, which will overwrite old ones in case of a clash * @returns a TelemetryData object whose contents extend (copies of) the current one's and whose creation date is not updated */ extendedBy(properties?: TelemetryProperties, measurements?: { [key: string]: number | undefined; }): TelemetryData; /** * registers current time as the point where this was displayed * (no-op if a display time is already registered) */ markAsDisplayed(): void; extendWithEditorAgnosticFields(envService: IEnvService): void; /** * Iterate config keys defined in the package.json, lookup current config * value and return as telemetry property. Property name in dotted notation * and value is a json string. * e.g. { 'copilot.autocompletion.count': 3 } */ extendWithConfigProperties(configService: IConfigurationService, envService: IEnvService, telemetryConfig: ITelemetryUserConfig): void; extendWithRequestId(requestId: RequestId): void; private static keysToRemoveFromStandardTelemetry; /** * Remove the known properties relating to repository information from the telemetry data if necessary */ static maybeRemoveRepoInfoFromPropertiesHack(secure: boolean, map: { [key: string]: any; }): { [key: string]: any; }; sanitizeKeys(): void; static sanitizeKeys(map?: { [key: string]: any; }): { [key: string]: any; }; updateTimeSinceIssuedAndDisplayed(): void; makeReadyForSending(configService: IConfigurationService, envService: IEnvService, telemetryConfig: ITelemetryUserConfig): void; } export declare function eventPropertiesToSimpleObject(properties?: TelemetryEventProperties): TelemetryProperties | undefined; //# sourceMappingURL=telemetryData.d.ts.map