## API Report File for "@microsoft/applicationinsights-core-js"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { getGlobal } from '@microsoft/applicationinsights-shims';
import { objCreateFn as objCreate } from '@microsoft/applicationinsights-shims';
import { strShimFunction as strFunction } from '@microsoft/applicationinsights-shims';
import { strShimObject as strObject } from '@microsoft/applicationinsights-shims';
import { strShimPrototype as strPrototype } from '@microsoft/applicationinsights-shims';
import { strShimUndefined as strUndefined } from '@microsoft/applicationinsights-shims';

// @public
export function addEventHandler(eventName: string, callback: any): boolean;

// @public (undocumented)
export class AppInsightsCore extends BaseCore implements IAppInsightsCore {
    constructor();
    addNotificationListener(listener: INotificationListener): void;
    // (undocumented)
    initialize(config: IConfiguration, extensions: IPlugin[], logger?: IDiagnosticLogger, notificationManager?: INotificationManager): void;
    pollInternalLogs(eventName?: string): number;
    removeNotificationListener(listener: INotificationListener): void;
    // (undocumented)
    track(telemetryItem: ITelemetryItem): void;
}

// @public (undocumented)
export function areCookiesSupported(logger?: IDiagnosticLogger): any;

// @public
export function arrForEach<T>(arr: T[], callbackfn: (value: T, index?: number, array?: T[]) => void | number, thisArg?: any): void;

// @public
export function arrIndexOf<T>(arr: T[], searchElement: T, fromIndex?: number): number;

// @public
export function arrMap<T, R>(arr: T[], callbackfn: (value: T, index?: number, array?: T[]) => R, thisArg?: any): R[];

// @public
export function arrReduce<T, R>(arr: T[], callbackfn: (previousValue: T | R, currentValue?: T, currentIndex?: number, array?: T[]) => R, initialValue?: R): R;

// @public
export function attachEvent(obj: any, eventNameWithoutOn: string, handlerRef: any, useCapture?: boolean): boolean;

// @public (undocumented)
export class BaseCore implements IAppInsightsCore {
    constructor();
    // (undocumented)
    config: IConfiguration;
    // (undocumented)
    static defaultConfig: IConfiguration;
    // (undocumented)
    eventCnt(): number;
    // (undocumented)
    _extensions: IPlugin[];
    getCookieMgr(): ICookieMgr;
    // (undocumented)
    getNotifyMgr(): INotificationManager;
    // (undocumented)
    getPerfMgr(): IPerfManager;
    // (undocumented)
    getProcessTelContext(): IProcessTelemetryContext;
    // (undocumented)
    getTransmissionControls(): IChannelControls[][];
    // (undocumented)
    initialize(config: IConfiguration, extensions: IPlugin[], logger?: IDiagnosticLogger, notificationManager?: INotificationManager): void;
    // (undocumented)
    isInitialized: () => boolean;
    // (undocumented)
    logger: IDiagnosticLogger;
    // (undocumented)
    protected releaseQueue(): void;
    setCookieMgr(cookieMgr: ICookieMgr): void;
    // (undocumented)
    setPerfMgr(perfMgr: IPerfManager): void;
    // (undocumented)
    track(telemetryItem: ITelemetryItem): void;
}

// @public
export abstract class BaseTelemetryPlugin implements ITelemetryPlugin {
    constructor();
    core: IAppInsightsCore;
    diagLog: (itemCtx?: IProcessTelemetryContext) => IDiagnosticLogger;
    protected _getTelCtx: (currentCtx?: IProcessTelemetryContext) => IProcessTelemetryContext;
    // (undocumented)
    identifier: string;
    // (undocumented)
    initialize(config: IConfiguration, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain): void;
    isInitialized: () => boolean;
    // (undocumented)
    priority: number;
    processNext: (env: ITelemetryItem, itemCtx: IProcessTelemetryContext) => void;
    // (undocumented)
    abstract processTelemetry(env: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    protected setInitialized: (isInitialized: boolean) => void;
    setNextPlugin: (next: ITelemetryPlugin | ITelemetryPluginChain) => void;
    // (undocumented)
    version?: string;
}

// @public @deprecated (undocumented)
export function canUseCookies(logger: IDiagnosticLogger): any;

// @public @deprecated
export const CoreUtils: ICoreUtils;

// @public
export function createClassFromInterface<T>(defaults?: T): new () => T;

// @public (undocumented)
export function createCookieMgr(rootConfig?: IConfiguration, logger?: IDiagnosticLogger): ICookieMgr;

// @public
export function dateNow(): number;

// @public @deprecated (undocumented)
export function deleteCookie(logger: IDiagnosticLogger, name: string): void;

// @public
export function detachEvent(obj: any, eventNameWithoutOn: string, handlerRef: any, useCapture?: boolean): void;

// @public (undocumented)
export class DiagnosticLogger implements IDiagnosticLogger {
    constructor(config?: IConfiguration);
    consoleLoggingLevel(): number;
    enableDebugExceptions(): boolean;
    // (undocumented)
    identifier: string;
    logInternalMessage(severity: LoggingSeverity, message: _InternalLogMessage): void;
    maxInternalMessageLimit(): number;
    queue: _InternalLogMessage[];
    resetInternalMessageCount(): void;
    telemetryLoggingLevel(): number;
    throwInternal(severity: LoggingSeverity, msgId: _InternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
    warnToConsole(message: string): void;
}

// @public @deprecated (undocumented)
export function disableCookies(): void;

// @public
export function doPerf<T>(mgrSource: IPerfManagerProvider | IPerfManager, getSource: () => string, func: (perfEvt?: IPerfEvent) => T, details?: () => any, isAsync?: boolean): T;

// @public
export function dumpObj(object: any): string;

// @public (undocumented)
export const EventHelper: IEventHelper;

// @public
export const EventsDiscardedReason: {
    Unknown: number;
    NonRetryableStatus: number;
    InvalidEvent: number;
    SizeLimitExceeded: number;
    KillSwitch: number;
    QueueFull: number;
};

// @public
export function generateW3CId(): string;

// @public
export function getConsole(): Console | null;

// @public @deprecated (undocumented)
export function getCookie(logger: IDiagnosticLogger, name: string): string;

// @public
export function getCrypto(): Crypto | null;

// @public
export function getDocument(): Document | null;

// @public
export function getExceptionName(object: any): string;

export { getGlobal }

// @public
export function getGlobalInst<T>(name: string): T;

// @public
export function getHistory(): History | null;

// @public
export function getIEVersion(userAgentStr?: string): number;

// @public
export function getJSON(): JSON | null;

// @public
export function getLocation(checkForMock?: boolean): Location | null;

// @public
export function getMsCrypto(): Crypto | null;

// @public
export function getNavigator(): Navigator | null;

// @public
export function getPerformance(): Performance | null;

// @public
export function getSetValue<T, K extends keyof T>(target: T, field: K, defValue?: T[K]): T[K];

// @public
export function getWindow(): Window | null;

// @public
export function hasDocument(): boolean;

// @public
export function hasHistory(): boolean;

// @public
export function hasJSON(): boolean;

// @public
export function hasNavigator(): boolean;

// @public (undocumented)
export function hasOwnProperty(obj: any, prop: string): boolean;

// @public
export function hasWindow(): boolean;

// @public (undocumented)
export interface IAppInsightsCore extends IPerfManagerProvider {
    addNotificationListener?(listener: INotificationListener): void;
    // (undocumented)
    config: IConfiguration;
    getCookieMgr(): ICookieMgr;
    getNotifyMgr(): INotificationManager;
    getProcessTelContext(): IProcessTelemetryContext;
    // (undocumented)
    getTransmissionControls(): IChannelControls[][];
    // (undocumented)
    initialize(config: IConfiguration, extensions: IPlugin[], logger?: IDiagnosticLogger, notificationManager?: INotificationManager): void;
    isInitialized?: () => boolean;
    // (undocumented)
    logger: IDiagnosticLogger;
    // (undocumented)
    pollInternalLogs?(eventName?: string): number;
    removeNotificationListener?(listener: INotificationListener): void;
    setCookieMgr(cookieMgr: ICookieMgr): void;
    // (undocumented)
    track(telemetryItem: ITelemetryItem): void;
}

// @public
export interface IChannelControls extends ITelemetryPlugin {
    flush(async: boolean, callBack?: () => void): void;
    pause(): void;
    resume(): void;
    teardown(): void;
}

// @public
export interface IConfiguration {
    channels?: IChannelControls[][];
    connectionString?: string;
    cookieCfg?: ICookieMgrConfig;
    cookieDomain?: string;
    cookiePath?: string;
    diagnosticLogInterval?: number;
    disableCookiesUsage?: boolean;
    disableInstrumentationKeyValidation?: boolean;
    enableDebugExceptions?: boolean;
    enablePerfMgr?: boolean;
    endpointUrl?: string;
    extensionConfig?: {
        [key: string]: any;
    };
    extensions?: ITelemetryPlugin[];
    idLength?: number;
    instrumentationKey?: string;
    loggingLevelConsole?: number;
    loggingLevelTelemetry?: number;
    maxMessageLimit?: number;
    perfEvtsSendAll?: boolean;
}

// @public (undocumented)
export interface ICookieMgr {
    del(name: string, path?: string): void;
    get(name: string): string;
    isEnabled(): boolean;
    purge(name: string, path?: string): void;
    set(name: string, value: string, maxAgeSec?: number, domain?: string, path?: string): void;
    setEnabled(value: boolean): void;
}

// @public
export interface ICookieMgrConfig {
    delCookie?: (name: string, cookieValue: string) => void;
    domain?: string;
    enabled?: boolean;
    getCookie?: (name: string) => string;
    path?: string;
    setCookie?: (name: string, value: string) => void;
}

// @public @deprecated
export interface ICoreUtils {
    addEventHandler: (eventName: string, callback: any) => boolean;
    arrForEach: <T>(arr: T[], callbackfn: (value: T, index?: number, array?: T[]) => void | number, thisArg?: any) => void;
    arrIndexOf: <T>(arr: T[], searchElement: T, fromIndex?: number) => number;
    arrMap: <T, R>(arr: T[], callbackfn: (value: T, index?: number, array?: T[]) => R, thisArg?: any) => R[];
    arrReduce: <T, R>(arr: T[], callbackfn: (previousValue: T | R, currentValue?: T, currentIndex?: number, array?: T[]) => R, initialValue?: R) => R;
    // @deprecated
    _canUseCookies: boolean;
    dateNow: () => number;
    // @deprecated (undocumented)
    disableCookies: () => void;
    generateW3CId: () => string;
    // (undocumented)
    hasOwnProperty: (obj: any, prop: string) => boolean;
    isArray: (obj: any) => boolean;
    isBoolean: (value: any) => value is boolean;
    isDate: (obj: any) => obj is Date;
    isError: (obj: any) => obj is Error;
    isFunction: (value: any) => value is Function;
    isIE: () => boolean;
    // (undocumented)
    isNullOrUndefined: (value: any) => boolean;
    isNumber: (value: any) => value is number;
    isObject: (value: any) => boolean;
    isString: (value: any) => value is string;
    // (undocumented)
    isTypeof: (value: any, theType: string) => boolean;
    // (undocumented)
    isUndefined: (value: any) => boolean;
    mwcRandom32: (signed?: boolean) => number;
    mwcRandomSeed: (value?: number) => void;
    // (undocumented)
    newGuid: () => string;
    newId: (maxLength?: number) => string;
    objCreate: (obj: object) => any;
    objDefineAccessors: <T>(target: any, prop: string, getProp?: () => T, setProp?: (v: T) => void) => boolean;
    objKeys: (obj: {}) => string[];
    perfNow: () => number;
    random32: (signed?: boolean) => number;
    randomValue: (maxValue: number) => number;
    strTrim: (str: any) => string;
    toISOString: (date: Date) => string;
}

// @public (undocumented)
export interface ICustomProperties {
    // (undocumented)
    [key: string]: any;
}

// @public (undocumented)
export interface IDiagnosticLogger {
    consoleLoggingLevel: () => number;
    enableDebugExceptions: () => boolean;
    logInternalMessage?(severity: LoggingSeverity, message: _InternalLogMessage): void;
    maxInternalMessageLimit: () => number;
    queue: _InternalLogMessage[];
    resetInternalMessageCount(): void;
    telemetryLoggingLevel: () => number;
    throwInternal(severity: LoggingSeverity, msgId: _InternalMessageId, msg: string, properties?: Object, isUserAct?: boolean): void;
    warnToConsole(message: string): void;
}

// @public (undocumented)
export interface IEventHelper {
    Attach: (obj: any, eventNameWithoutOn: string, handlerRef: any) => boolean;
    // @deprecated
    AttachEvent: (obj: any, eventNameWithoutOn: string, handlerRef: any) => boolean;
    Detach: (obj: any, eventNameWithoutOn: string, handlerRef: any) => void;
    // @deprecated
    DetachEvent: (obj: any, eventNameWithoutOn: string, handlerRef: any) => void;
}

// @public (undocumented)
export interface IInstrumentCallDetails {
    ctx: () => any;
    err?: Error;
    // (undocumented)
    inst: any;
    // (undocumented)
    name: string;
    rslt?: any;
    set: (idx: number, value: any) => void;
}

// @public
export interface IInstrumentHook {
    cbks: IInstrumentHooksCallbacks;
    id: number;
    rm: () => void;
}

// @public (undocumented)
export interface IInstrumentHooks {
    // (undocumented)
    f: any;
    // (undocumented)
    h: IInstrumentHook[];
    // (undocumented)
    i: number;
    // (undocumented)
    n: string;
}

// @public
export interface IInstrumentHooksCallbacks {
    fnErr?: InstrumentorHooksCallback;
    hkErr?: InstrumentorHooksCallback;
    req?: InstrumentorHooksCallback;
    rsp?: InstrumentorHooksCallback;
}

// @public
export function initializePlugins(processContext: ProcessTelemetryContext, extensions: IPlugin[]): void;

// @public
export interface INotificationListener {
    eventsDiscarded?: (events: ITelemetryItem[], reason: number) => void;
    eventsSendRequest?: (sendReason: number, isAsync?: boolean) => void;
    eventsSent?: (events: ITelemetryItem[]) => void;
    perfEvent?: (perfEvent: IPerfEvent) => void;
}

// @public
export interface INotificationManager {
    addNotificationListener(listener: INotificationListener): void;
    eventsDiscarded(events: ITelemetryItem[], reason: number): void;
    eventsSendRequest?(sendReason: number, isAsync: boolean): void;
    eventsSent(events: ITelemetryItem[]): void;
    // (undocumented)
    listeners: INotificationListener[];
    perfEvent?(perfEvent: IPerfEvent): void;
    removeNotificationListener(listener: INotificationListener): void;
}

// @public
export function InstrumentFunc(target: any, funcName: string, callbacks: IInstrumentHooksCallbacks, checkPrototype?: boolean): IInstrumentHook;

// @public
export function InstrumentFuncs(target: any, funcNames: string[], callbacks: IInstrumentHooksCallbacks, checkPrototype?: boolean): IInstrumentHook[];

// @public
export type InstrumentorHooksCallback = (funcArgs: IInstrumentCallDetails, ...orgArgs: any[]) => void;

// @public
export function InstrumentProto(target: any, funcName: string, callbacks: IInstrumentHooksCallbacks): IInstrumentHook;

// @public
export function InstrumentProtos(target: any, funcNames: string[], callbacks: IInstrumentHooksCallbacks): IInstrumentHook[];

// @public (undocumented)
export class _InternalLogMessage {
    constructor(msgId: _InternalMessageId, msg: string, isUserAct?: boolean, properties?: Object);
    // (undocumented)
    static dataType: string;
    // (undocumented)
    message: string;
    // (undocumented)
    messageId: _InternalMessageId;
}

// @public
export const _InternalMessageId: {
    BrowserDoesNotSupportLocalStorage: number;
    BrowserCannotReadLocalStorage: number;
    BrowserCannotReadSessionStorage: number;
    BrowserCannotWriteLocalStorage: number;
    BrowserCannotWriteSessionStorage: number;
    BrowserFailedRemovalFromLocalStorage: number;
    BrowserFailedRemovalFromSessionStorage: number;
    CannotSendEmptyTelemetry: number;
    ClientPerformanceMathError: number;
    ErrorParsingAISessionCookie: number;
    ErrorPVCalc: number;
    ExceptionWhileLoggingError: number;
    FailedAddingTelemetryToBuffer: number;
    FailedMonitorAjaxAbort: number;
    FailedMonitorAjaxDur: number;
    FailedMonitorAjaxOpen: number;
    FailedMonitorAjaxRSC: number;
    FailedMonitorAjaxSend: number;
    FailedMonitorAjaxGetCorrelationHeader: number;
    FailedToAddHandlerForOnBeforeUnload: number;
    FailedToSendQueuedTelemetry: number;
    FailedToReportDataLoss: number;
    FlushFailed: number;
    MessageLimitPerPVExceeded: number;
    MissingRequiredFieldSpecification: number;
    NavigationTimingNotSupported: number;
    OnError: number;
    SessionRenewalDateIsZero: number;
    SenderNotInitialized: number;
    StartTrackEventFailed: number;
    StopTrackEventFailed: number;
    StartTrackFailed: number;
    StopTrackFailed: number;
    TelemetrySampledAndNotSent: number;
    TrackEventFailed: number;
    TrackExceptionFailed: number;
    TrackMetricFailed: number;
    TrackPVFailed: number;
    TrackPVFailedCalc: number;
    TrackTraceFailed: number;
    TransmissionFailed: number;
    FailedToSetStorageBuffer: number;
    FailedToRestoreStorageBuffer: number;
    InvalidBackendResponse: number;
    FailedToFixDepricatedValues: number;
    InvalidDurationValue: number;
    TelemetryEnvelopeInvalid: number;
    CreateEnvelopeError: number;
    CannotSerializeObject: number;
    CannotSerializeObjectNonSerializable: number;
    CircularReferenceDetected: number;
    ClearAuthContextFailed: number;
    ExceptionTruncated: number;
    IllegalCharsInName: number;
    ItemNotInArray: number;
    MaxAjaxPerPVExceeded: number;
    MessageTruncated: number;
    NameTooLong: number;
    SampleRateOutOfRange: number;
    SetAuthContextFailed: number;
    SetAuthContextFailedAccountName: number;
    StringValueTooLong: number;
    StartCalledMoreThanOnce: number;
    StopCalledWithoutStart: number;
    TelemetryInitializerFailed: number;
    TrackArgumentsNotSpecified: number;
    UrlTooLong: number;
    SessionStorageBufferFull: number;
    CannotAccessCookie: number;
    IdTooLong: number;
    InvalidEvent: number;
    FailedMonitorAjaxSetRequestHeader: number;
    SendBrowserInfoOnUserInit: number;
    PluginException: number;
    NotificationException: number;
    SnippetScriptLoadFailure: number;
    InvalidInstrumentationKey: number;
    CannotParseAiBlobValue: number;
    InvalidContentBlob: number;
    TrackPageActionEventFailed: number;
};

// @public (undocumented)
export type _InternalMessageId = number | typeof _InternalMessageId;

// @public
export interface IPerfEvent {
    childEvts?: IPerfEvent[];
    complete: () => void;
    exTime?: number;
    getCtx?: (key: string) => any;
    isAsync: boolean;
    isChildEvt: () => boolean;
    name: string;
    parent?: IPerfEvent;
    payload: any;
    setCtx?: (key: string, value: any) => void;
    start: number;
    time?: number;
}

// @public
export interface IPerfManager {
    create(src: string, payloadDetails?: () => any, isAsync?: boolean): IPerfEvent | null | undefined;
    fire(perfEvent: IPerfEvent): void;
    getCtx(key: string): any;
    setCtx(key: string, value: any): void;
}

// @public
export interface IPerfManagerProvider {
    getPerfMgr(): IPerfManager;
    setPerfMgr(perfMgr: IPerfManager): void;
}

// @public (undocumented)
export interface IPlugin {
    readonly identifier: string;
    initialize: (config: IConfiguration, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain) => void;
    isInitialized?: () => boolean;
    teardown?: () => void;
    readonly version?: string;
}

// @public
export interface IProcessTelemetryContext {
    core: () => IAppInsightsCore;
    createNew: (plugins?: IPlugin[] | ITelemetryPluginChain, startAt?: IPlugin) => IProcessTelemetryContext;
    diagLog: () => IDiagnosticLogger;
    getCfg: () => IConfiguration;
    getConfig: (identifier: string, field: string, defaultValue?: number | string | boolean) => number | string | boolean;
    getExtCfg: <T>(identifier: string, defaultValue?: T | any) => T;
    getNext: () => ITelemetryPluginChain;
    hasNext: () => boolean;
    processNext: (env: ITelemetryItem) => void;
    setNext: (nextCtx: ITelemetryPluginChain) => void;
}

// @public
export function isArray(obj: any): boolean;

// @public
export function isBoolean(value: any): value is boolean;

// @public
export function isDate(obj: any): obj is Date;

// @public
export function isError(obj: any): obj is Error;

// @public (undocumented)
export function isFunction(value: any): value is Function;

// @public
export function isIE(): boolean;

// @public (undocumented)
export function isNotNullOrUndefined(value: any): boolean;

// @public (undocumented)
export function isNotTruthy(value: any): boolean;

// @public (undocumented)
export function isNotUndefined(value: any): boolean;

// @public (undocumented)
export function isNullOrUndefined(value: any): boolean;

// @public
export function isNumber(value: any): value is number;

// @public (undocumented)
export function isObject(value: any): boolean;

// @public
export function isReactNative(): boolean;

// @public (undocumented)
export function isSafari(userAgentStr?: string): boolean;

// @public
export function isString(value: any): value is string;

// @public
export function isSymbol(value: any): boolean;

// @public (undocumented)
export function isTruthy(value: any): boolean;

// @public (undocumented)
export function isTypeof(value: any, theType: string): boolean;

// @public (undocumented)
export function isUndefined(value: any): boolean;

// @public
export interface ITelemetryItem {
    baseData?: {
        [key: string]: any;
    };
    baseType?: string;
    data?: ICustomProperties;
    ext?: {
        [key: string]: any;
    };
    iKey?: string;
    name: string;
    tags?: Tags & Tags[];
    time?: string;
    ver?: string;
}

// @public
export interface ITelemetryPlugin extends IPlugin {
    readonly priority: number;
    processTelemetry: (env: ITelemetryItem, itemCtx?: IProcessTelemetryContext) => void;
    setNextPlugin?: (next: ITelemetryPlugin | ITelemetryPluginChain) => void;
}

// @public
export interface ITelemetryPluginChain {
    getNext: () => ITelemetryPluginChain;
    getPlugin: () => ITelemetryPlugin;
    processTelemetry: (env: ITelemetryItem, itemCtx: IProcessTelemetryContext) => void;
}

// @public
export function _legacyCookieMgr(config?: IConfiguration, logger?: IDiagnosticLogger): ICookieMgr;

// @public (undocumented)
export enum LoggingSeverity {
    CRITICAL = 1,
    WARNING = 2,
}

// @public (undocumented)
export const MinChannelPriorty: number;

// @public
export function mwcRandom32(signed?: boolean): number;

// @public
export function mwcRandomSeed(value?: number): void;

// @public (undocumented)
export function newGuid(): string;

// @public
export function newId(maxLength?: number): string;

// @public
export function normalizeJsName(name: string): string;

// @public
export class NotificationManager implements INotificationManager {
    constructor(config?: IConfiguration);
    addNotificationListener(listener: INotificationListener): void;
    eventsDiscarded(events: ITelemetryItem[], reason: number): void;
    eventsSendRequest?(sendReason: number, isAsync: boolean): void;
    eventsSent(events: ITelemetryItem[]): void;
    // (undocumented)
    listeners: INotificationListener[];
    perfEvent?(perfEvent: IPerfEvent): void;
    removeNotificationListener(listener: INotificationListener): void;
}

export { objCreate }

// @public
export function objDefineAccessors<T>(target: any, prop: string, getProp?: () => T, setProp?: (v: T) => void): boolean;

// @public
export function objForEachKey(target: any, callbackfn: (name: string, value: any) => void): void;

// @public (undocumented)
export function objFreeze<T>(value: T): T;

// @public
export function objKeys(obj: {}): string[];

// @public (undocumented)
export function objSeal<T>(value: T): T;

// @public
export function optimizeObject<T>(theObject: T): T;

// @public (undocumented)
export class PerfEvent implements IPerfEvent {
    constructor(name: string, payloadDetails: () => any, isAsync: boolean);
    // (undocumented)
    static ChildrenContextKey: string;
    // (undocumented)
    complete: () => void;
    exTime?: number;
    // (undocumented)
    getCtx?: (key: string) => any | null | undefined;
    isAsync: boolean;
    isChildEvt: () => boolean;
    name: string;
    // (undocumented)
    static ParentContextKey: string;
    payload: any;
    // (undocumented)
    setCtx?: (key: string, value: any) => void;
    start: number;
    time?: number;
}

// @public (undocumented)
export class PerfManager implements IPerfManager {
    constructor(manager: INotificationManager);
    create(src: string, payload?: any, isAsync?: boolean): IPerfEvent | null | undefined;
    fire(perfEvent: IPerfEvent): void;
    getCtx(key: string): any;
    setCtx(key: string, value: any): void;
}

// @public
export function perfNow(): number;

// @public (undocumented)
export class ProcessTelemetryContext implements IProcessTelemetryContext {
    constructor(plugins: IPlugin[] | ITelemetryPluginChain, config: IConfiguration, core: IAppInsightsCore, startAt?: IPlugin);
    core: () => IAppInsightsCore;
    createNew: (plugins?: IPlugin[] | ITelemetryPluginChain, startAt?: IPlugin) => IProcessTelemetryContext;
    diagLog: () => IDiagnosticLogger;
    getCfg: () => IConfiguration;
    // (undocumented)
    getConfig: (identifier: string, field: string, defaultValue?: number | string | boolean) => number | string | boolean;
    // (undocumented)
    getExtCfg: <T>(identifier: string, defaultValue?: T | any) => T;
    getNext: () => ITelemetryPluginChain;
    hasNext: () => boolean;
    processNext: (env: ITelemetryItem) => void;
    setNext: (nextCtx: ITelemetryPluginChain) => void;
}

// @public
export function proxyAssign(target: any, source: any, chkSet?: (name: string, isFunc?: boolean, source?: any, target?: any) => boolean): any;

// @public
export function random32(signed?: boolean): number;

// @public
export function randomValue(maxValue: number): number;

// @public
export function safeGetCookieMgr(core: IAppInsightsCore, config?: IConfiguration): ICookieMgr;

// @public (undocumented)
export function safeGetLogger(core: IAppInsightsCore, config?: IConfiguration): IDiagnosticLogger;

// @public
export const enum SendRequestReason {
    ManualFlush = 1,
    MaxBatchSize = 10,
    MaxQueuedEvents = 20,
    NormalSchedule = 1,
    Resumed = 4,
    Retry = 5,
    SyncEvent = 3,
    Undefined = 0,
    Unload = 2,
}

// @public @deprecated (undocumented)
export function setCookie(logger: IDiagnosticLogger, name: string, value: string, domain?: string): void;

// @public
export function setEnableEnvMocks(enabled: boolean): void;

// @public
export function setValue<T, K extends keyof T>(target: T, field: K, value: T[K], valChk?: (value: T[K]) => boolean, srcChk?: (value: T[K]) => boolean): T[K];

// @public (undocumented)
export function sortPlugins(plugins: IPlugin[]): IPlugin[];

// @public
export function strContains(value: string, search: string): boolean;

// @public
export function strEndsWith(value: string, search: string): boolean;

// @public (undocumented)
export const strExtensionConfig = "extensionConfig";

export { strFunction }

// @public (undocumented)
export const strIKey = "iKey";

export { strObject }

export { strPrototype }

// @public
export function strStartsWith(value: string, checkValue: string): boolean;

// @public
export function strTrim(str: any): string;

export { strUndefined }

// @public (undocumented)
export interface Tags {
    // (undocumented)
    [key: string]: any;
}

// @public (undocumented)
export function throwError(message: string): never;

// @public
export function toISOString(date: Date): string;

// @public (undocumented)
export function uaDisallowsSameSiteNone(userAgent: string): boolean;

// @public (undocumented)
export const Undefined = "undefined";


// (No @packageDocumentation comment for this package)

```
