type ProductEventName = 'feature_used' | 'session_activity' | 'activity_pulse'; type StringProperties = Record; type NumericMeasurements = Record; export interface ClientProductTelemetryEvent { name: ProductEventName; eventId: string; userAlias: string; properties: StringProperties; measurements?: NumericMeasurements; } export interface ProductTelemetryContext { oid: string; agentVersion?: string; } interface ValidatedEvent { name: ProductEventName; eventId: string; userAlias: string; properties: StringProperties; measurements: NumericMeasurements; } export declare function productTelemetryEnabled(): boolean; export declare function validateProductTelemetryEvent(value: unknown): ValidatedEvent | null; export declare function recordProductTelemetry(context: ProductTelemetryContext, rawEvent: unknown): boolean; export declare function flushProductTelemetry(): Promise; export declare function shutdownProductTelemetry(timeoutMs?: number): Promise; export declare function __resetProductTelemetryForTests(): void; export {};