/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import { EventEmitter } from "events"; import { IEvent, TransformedEvent, IEventTransformer, IEventProvider } from "@fluidframework/common-definitions"; /** * The event emitter polyfill and the node event emitter have different event types: * string | symbol vs. string | number * * This type allow us to correctly handle either type * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. * @internal */ export declare type EventEmitterEventType = EventEmitter extends { on(event: infer E, listener: any): any; } ? E : never; /** * @deprecated Moved to the `@fluidframework-internal/client-utils` package. * @internal */ export declare type TypedEventTransform = TransformedEvent void) => void>> & IEventTransformer & TransformedEvent; /** * Event Emitter helper class the supports emitting typed events * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. * @internal */ export declare class TypedEventEmitter extends EventEmitter implements IEventProvider { constructor(); readonly addListener: TypedEventTransform; readonly on: TypedEventTransform; readonly once: TypedEventTransform; readonly prependListener: TypedEventTransform; readonly prependOnceListener: TypedEventTransform; readonly removeListener: TypedEventTransform; readonly off: TypedEventTransform; } //# sourceMappingURL=typedEventEmitter.d.ts.map