## Beta API Report File for "@fluidframework/telemetry-utils"

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

```ts

// @beta @legacy
export function createChildLogger(props?: {
    logger?: ITelemetryBaseLogger;
    namespace?: string;
    properties?: ITelemetryLoggerPropertyBags;
}): ITelemetryLoggerExt;

// @beta @legacy
export class EventEmitterWithErrorHandling<TEvent extends IEvent = IEvent> extends TypedEventEmitter<TEvent> {
    constructor(errorHandler: (eventName: EventEmitterEventType, error: any) => void);
    // (undocumented)
    emit(event: EventEmitterEventType, ...args: unknown[]): boolean;
}

// @beta @deprecated @legacy
export interface ITelemetryErrorEventExt extends ITelemetryPropertiesExt {
    eventName: string;
}

// @beta @deprecated @legacy
export interface ITelemetryGenericEventExt extends ITelemetryPropertiesExt {
    category?: TelemetryEventCategory;
    eventName: string;
}

// @beta @sealed @legacy
export interface ITelemetryLoggerExt extends ITelemetryBaseLogger {
    // @deprecated
    sendErrorEvent(event: ITelemetryErrorEventExt, error?: unknown): void;
    // @deprecated
    sendPerformanceEvent(event: ITelemetryPerformanceEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.info): void;
    // @deprecated
    sendTelemetryEvent(event: ITelemetryGenericEventExt, error?: unknown, logLevel?: typeof LogLevel.verbose | typeof LogLevel.info): void;
}

// @beta @legacy (undocumented)
export type ITelemetryLoggerPropertyBag = Record<string, TelemetryEventPropertyTypes | (() => TelemetryEventPropertyTypes)>;

// @beta @legacy (undocumented)
export interface ITelemetryLoggerPropertyBags {
    // (undocumented)
    all?: ITelemetryLoggerPropertyBag;
    // (undocumented)
    error?: ITelemetryLoggerPropertyBag;
}

// @beta @deprecated @legacy
export interface ITelemetryPerformanceEventExt extends ITelemetryGenericEventExt {
    duration?: number;
}

// @beta @legacy
export type ITelemetryPropertiesExt = Record<string, TelemetryEventPropertyTypeExt | Tagged<TelemetryEventPropertyTypeExt>>;

// @beta @deprecated @legacy
export type TelemetryEventCategory = "generic" | "error" | "performance";

// @beta @legacy
export type TelemetryEventPropertyTypeExt = string | number | boolean | undefined | (string | number | boolean)[] | Record<string, string | number | boolean | undefined | (string | number | boolean)[]>;

// @beta @legacy (undocumented)
export type TelemetryEventPropertyTypes = ITelemetryPropertiesExt[string];

// (No @packageDocumentation comment for this package)

```
