declare let process: any; declare namespace pxt { type Map = { [index: string]: T; }; type EventSource = { subscribe(listener: (ev: T) => void): () => void; emit(ev: T): void; forEach(callback: (ev: T) => void): void; }; export namespace perf { let startTimeMs: number; let measurementThresholdMs: number; let stats: { durations: EventSource<{ name: string; start: number; duration: number; params?: Map; }>; milestones: EventSource<{ milestone: string; time: number; params?: Map; }>; }; function isEnabled(): boolean; let perfReportLogged: boolean; function splitMs(): number; function prettyStr(ms: number): string; function splitStr(): string; function recordMilestone(msg: string, params?: Map): void; function init(): void; function measureStart(name: string): void; function measureEnd(name: string, params?: Map): void; function report(): { milestones: { [index: string]: number; }; durations: { [index: string]: number; }; }; } export function initAnalyticsAsync(): void; export function aiTrackEvent(id: string, data?: any, measures?: any): void; export function aiTrackException(err: any, kind?: string, props?: any): void; export function initializeAppInsightsInternal(includeCookie?: boolean): void; export function setInteractiveConsent(enabled: boolean): void; export {}; }