export interface IAppInsights { config : IConfig ; context : any ; queue : ( ( ) => void ) [ ] ; startTrackPage ( name ? ) ; stopTrackPage ( name ? , url ? , properties ? , measurements ? ) ; trackPageView ( name ? , url ? , properties ? , measurements ? , duration ? ) ; startTrackEvent ( name ) ; stopTrackEvent ( name , properties ? , measurements ? ) ; trackEvent ( name , properties ? , measurements ? ) ; trackDependency ( id , method , absoluteUrl , pathName , totalTime , success , resultCode ) ; trackException ( exception , handledAt ? , properties ? , measurements ? , severityLevel ? ) ; trackMetric ( name , average , sampleCount ? , min ? , max ? , properties ? ) ; trackTrace ( message , properties ? ) ; flush ( ) ; clearAuthenticatedUserContext ( ) ; downloadAndSetup ? ( config ) : void ; _onerror ( message , url , lineNumber , columnNumber , error ) ; } export interface IConfig { instrumentationKey ? : string ; endpointUrl ? : string ; emitLineDelimitedJson ? : boolean ; accountId ? : string ; sessionRenewalMs ? : number ; sessionExpirationMs ? : number ; maxBatchSizeInBytes ? : number ; maxBatchInterval ? : number ; enableDebug ? : boolean ; disableExceptionTracking ? : boolean ; disableTelemetry ? : boolean ; verboseLogging ? : boolean ; diagnosticLogInterval ? : number ; samplingPercentage ? : number ; autoTrackPageVisitTime ? : boolean ; disableAjaxTracking ? : boolean ; overridePageViewDuration ? : boolean ; maxAjaxCallsPerView ? : number ; disableDataLossAnalysis ? : boolean ; disableCorrelationHeaders ? : boolean ; disableFlushOnBeforeUnload ? : boolean ; enableSessionStorageBuffer ? : boolean ; cookieDomain ? : string ; isRetryDisabled ? : boolean ; isPerfAnalyzerEnabled ? : boolean ; url ? : string ; } export enum SeverityLevel { Verbose = 0 , Information = 1 , Warning = 2 , Error = 3 , Critical = 4 }