## API Report File for "@microsoft/applicationinsights-react-native"

> 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 { IPlugin } from '@microsoft/applicationinsights-core-js';
import { IProcessTelemetryContext } from '@microsoft/applicationinsights-core-js';
import { ITelemetryItem } from '@microsoft/applicationinsights-core-js';
import { ITelemetryPlugin } from '@microsoft/applicationinsights-core-js';

// @public
export function getReactNativeDeviceInfo(): IDeviceInfoModule;

// @public
export interface IDeviceInfoModule {
    getDeviceType: () => string;
    getModel: () => string;
    getUniqueId: () => Promise<string> | string;
}

// @public (undocumented)
export interface INativeDevice {
    deviceClass?: string;
    id?: string;
    model?: string;
}

// @public (undocumented)
export interface IReactNativePluginConfig {
    disableDeviceCollection?: boolean;
    disableExceptionCollection?: boolean;
    uniqueIdPromiseTimeout?: number;
}

// @public (undocumented)
export class ReactNativeManualDevicePlugin extends BaseTelemetryPlugin {
    constructor(config?: IReactNativePluginConfig);
    // (undocumented)
    protected getDeviceInfoModule(_deviceInfoModule: any): IDeviceInfoModule;
    // (undocumented)
    identifier: string;
    // (undocumented)
    initialize(config?: IReactNativePluginConfig | object, // need `| object` to coerce to interface
    core?: IAppInsightsCore, extensions?: IPlugin[]): void;
    // (undocumented)
    _nextPlugin?: ITelemetryPlugin;
    // (undocumented)
    priority: number;
    // (undocumented)
    processTelemetry(env: ITelemetryItem, itemCtx?: IProcessTelemetryContext): void;
    setDeviceId(newId: string): void;
    setDeviceInfoModule(deviceInfoModule: IDeviceInfoModule): void;
    setDeviceModel(newModel: string): void;
    setDeviceType(newType: string): void;
}

// @public (undocumented)
export class ReactNativePlugin extends ReactNativeManualDevicePlugin {
    // (undocumented)
    protected getDeviceInfoModule(_deviceInfoModule: any): IDeviceInfoModule;
}

// (No @packageDocumentation comment for this package)

```
