import { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from "./gdprTypings.js"; import { TelemetryLevel, ITelemetryData, type ITelemetryEndpoint } from "./telemetry.js"; export declare const ITelemetryService: import("../../instantiation/common/instantiation.js").ServiceIdentifier; export interface ITelemetryService { readonly _serviceBrand: undefined; readonly telemetryLevel: TelemetryLevel; readonly sessionId: string; readonly machineId: string; readonly sqmId: string; readonly devDeviceId: string; readonly firstSessionDate: string; readonly msftInternal?: boolean; /** * Whether error telemetry will get sent. If false, `publicLogError` will no-op. */ readonly sendErrorTelemetry: boolean; /** * @deprecated Use publicLog2 and the typescript GDPR annotation where possible */ publicLog(eventName: string, data?: ITelemetryData): void; /** * Sends a telemetry event that has been privacy approved. * Do not call this unless you have been given approval. */ publicLog2> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck): void; /** * @deprecated Use publicLogError2 and the typescript GDPR annotation where possible */ publicLogError(errorEventName: string, data?: ITelemetryData): void; publicLogError2> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck): void; setExperimentProperty(name: string, value: string): void; } export declare const ICustomEndpointTelemetryService: import("../../instantiation/common/instantiation.js").ServiceIdentifier; export interface ICustomEndpointTelemetryService { readonly _serviceBrand: undefined; publicLog(endpoint: ITelemetryEndpoint, eventName: string, data?: ITelemetryData): void; publicLogError(endpoint: ITelemetryEndpoint, errorEventName: string, data?: ITelemetryData): void; }