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

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

```ts

import { BaseTelemetryPlugin } from '@microsoft/applicationinsights-core-js';
import { IAppInsightsCore } from '@microsoft/applicationinsights-core-js';
import { IApplication } from '@microsoft/applicationinsights-common';
import { IConfig } from '@microsoft/applicationinsights-common';
import { IConfiguration } from '@microsoft/applicationinsights-core-js';
import { IDevice } from '@microsoft/applicationinsights-common';
import { IDiagnosticLogger } from '@microsoft/applicationinsights-core-js';
import { IInternal } from '@microsoft/applicationinsights-common';
import { ILocation } from '@microsoft/applicationinsights-common';
import { IOperatingSystem } from '@microsoft/applicationinsights-common';
import { IPlugin } from '@microsoft/applicationinsights-core-js';
import { IProcessTelemetryContext } from '@microsoft/applicationinsights-core-js';
import { IPropertiesPlugin } from '@microsoft/applicationinsights-common';
import { ISession } from '@microsoft/applicationinsights-common';
import { ITelemetryContext } from '@microsoft/applicationinsights-common';
import { ITelemetryItem } from '@microsoft/applicationinsights-core-js';
import { ITelemetryPluginChain } from '@microsoft/applicationinsights-core-js';
import { ITelemetryTrace } from '@microsoft/applicationinsights-common';
import { ITraceState } from '@microsoft/applicationinsights-common';
import { IUserContext } from '@microsoft/applicationinsights-common';
import { IWeb } from '@microsoft/applicationinsights-common';

// @public (undocumented)
export interface IPropTelemetryContext extends ITelemetryContext {
    // (undocumented)
    applyApplicationContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyDeviceContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyInternalContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyLocationContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyOperatingSystemContxt(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyOperationContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applySessionContext(evt: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyUserContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyWebContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    cleanUp(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    readonly sessionManager: SessionManager;
}

// @public (undocumented)
export interface ISessionConfig {
    // @deprecated (undocumented)
    cookieDomain?: () => string;
    // (undocumented)
    getNewId?: () => (idLength?: number) => string;
    // (undocumented)
    idLength?: () => number;
    // (undocumented)
    namePrefix?: () => string;
    // (undocumented)
    sessionCookiePostfix?: () => string;
    // (undocumented)
    sessionExpirationMs?: () => number;
    // (undocumented)
    sessionRenewalMs?: () => number;
}

// @public (undocumented)
export class PropertiesPlugin extends BaseTelemetryPlugin implements IPropertiesPlugin {
    constructor();
    // (undocumented)
    context: IPropTelemetryContext;
    // Warning: (ae-forgotten-export) The symbol "ITelemetryConfig" needs to be exported by the entry point applicationinsights-properties-js.d.ts
    //
    // (undocumented)
    static getDefaultConfig(): ITelemetryConfig;
    // (undocumented)
    identifier: string;
    // (undocumented)
    initialize(config: IConfiguration & IConfig, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain): void;
    // (undocumented)
    priority: number;
    processTelemetry(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
}

// @public (undocumented)
export class Session implements ISession {
    acquisitionDate?: number;
    id?: string;
    renewalDate?: number;
}

// @public (undocumented)
export class SessionManager {
    constructor(config: ISessionConfig, core?: IAppInsightsCore);
    // (undocumented)
    static acquisitionSpan: number;
    // (undocumented)
    automaticSession: Session;
    backup(): void;
    // (undocumented)
    config: ISessionConfig;
    // (undocumented)
    static cookieUpdateInterval: number;
    // (undocumented)
    static renewalSpan: number;
    // (undocumented)
    update(): void;
}

// @public (undocumented)
export class TelemetryContext implements IPropTelemetryContext {
    constructor(core: IAppInsightsCore, defaultConfig: ITelemetryConfig);
    // (undocumented)
    appId: () => string;
    // (undocumented)
    application: IApplication;
    // (undocumented)
    applyApplicationContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyDeviceContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyInternalContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyLocationContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyOperatingSystemContxt(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyOperationContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applySessionContext(evt: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyUserContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    applyWebContext(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    cleanUp(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    // (undocumented)
    device: IDevice;
    // (undocumented)
    internal: IInternal;
    // (undocumented)
    location: ILocation;
    // (undocumented)
    os: IOperatingSystem;
    // (undocumented)
    session: ISession;
    // (undocumented)
    sessionManager: SessionManager;
    // (undocumented)
    telemetryTrace: ITelemetryTrace;
    // (undocumented)
    user: IUserContext;
    // (undocumented)
    web: IWeb;
}

// @public (undocumented)
export class TelemetryTrace implements ITelemetryTrace {
    constructor(id?: string, parentId?: string, name?: string, logger?: IDiagnosticLogger);
    // (undocumented)
    name: string;
    // (undocumented)
    parentID: string;
    // (undocumented)
    traceID: string;
    // (undocumented)
    traceState: ITraceState;
}


// (No @packageDocumentation comment for this package)

```
