import { ClassifiedEvent, OmitMetadata, IGDPRProperty, StrictPropertyCheck } from "../../telemetry/common/gdprTypings.js"; import { ITelemetryData, TelemetryLevel } from "../../telemetry/common/telemetry.js"; import { ITelemetryService } from "../../telemetry/common/telemetry.service.js"; import { IDataChannelService } from "../common/dataChannel.service.js"; export declare class InterceptingTelemetryService implements ITelemetryService { private readonly _baseService; private readonly _intercept; _serviceBrand: undefined; constructor(_baseService: ITelemetryService, _intercept: (eventName: string, data?: ITelemetryData) => void); get telemetryLevel(): TelemetryLevel; get sessionId(): string; get machineId(): string; get sqmId(): string; get devDeviceId(): string; get firstSessionDate(): string; get msftInternal(): boolean | undefined; get sendErrorTelemetry(): boolean; publicLog(eventName: string, data?: ITelemetryData): void; publicLog2> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck): void; publicLogError(errorEventName: string, data?: ITelemetryData): void; publicLogError2> = never, T extends IGDPRProperty = never>(eventName: string, data?: StrictPropertyCheck): void; setExperimentProperty(name: string, value: string): void; } export interface IEditTelemetryData { eventName: string; data: Record; } export declare class DataChannelForwardingTelemetryService extends InterceptingTelemetryService { constructor(telemetryService: ITelemetryService, dataChannelService: IDataChannelService); } export declare function forwardToChannelIf(value: boolean): Record; export declare function isCopilotLikeExtension(extensionId: string | undefined): boolean;