## Alpha API Report File for "@fluidframework/fluid-telemetry"

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

```ts

import type { ApplicationInsights } from '@microsoft/applicationinsights-web';
import { ICriticalContainerError } from '@fluidframework/container-definitions';
import type { IFluidContainer } from '@fluidframework/fluid-static';

// @beta
export class AppInsightsTelemetryConsumer implements ITelemetryConsumer {
    constructor(appInsightsClient: ApplicationInsights);
    consume(event: IFluidTelemetry): void;
}

// @beta
export interface ContainerConnectedTelemetry extends IContainerTelemetry {
    eventName: "fluidframework.container.connected";
}

// @beta
export interface ContainerDisconnectedTelemetry extends IContainerTelemetry {
    eventName: "fluidframework.container.disconnected";
}

// @beta
export interface ContainerDisposedTelemetry extends IContainerTelemetry {
    error?: ICriticalContainerError;
    eventName: "fluidframework.container.disposed";
}

// @beta
export type ContainerTelemetryEventName = (typeof ContainerTelemetryEventNames)[keyof typeof ContainerTelemetryEventNames];

// @beta
export const ContainerTelemetryEventNames: {
    readonly CONNECTED: "fluidframework.container.connected";
    readonly DISCONNECTED: "fluidframework.container.disconnected";
    readonly DISPOSED: "fluidframework.container.disposed";
};

// @beta
export type FluidTelemetryEventName = ContainerTelemetryEventName;

// @beta
export interface IContainerTelemetry extends IFluidTelemetry {
    containerId?: string;
    containerInstanceId: string;
    eventName: ContainerTelemetryEventName;
}

export { ICriticalContainerError }

// @beta
export interface IFluidTelemetry {
    eventName: FluidTelemetryEventName;
}

// @beta
export interface ITelemetryConsumer {
    consume(event: IFluidTelemetry): any;
}

// @beta
export const startTelemetry: (config: TelemetryConfig) => void;

// @beta
export interface TelemetryConfig {
    consumers: ITelemetryConsumer[];
    container: IFluidContainer;
    containerId: string;
}

```
