import type { KnxLinkException } from '../KnxLinkException'; import type { LinkInfo } from '../link'; import type { KnxConnectingEvent, KnxDisconnectedEvent, KnxNetworkConnectionEstablishedEvent, KnxReconnectingEvent, KnxStartingSessionEvent } from './KnxConnectionEvents'; export type KnxEventMap = { error: KnxLinkException; 'cemi-frame': TCemiFrame; connecting: KnxConnectingEvent; 'network-connection-established': KnxNetworkConnectionEstablishedEvent; 'starting-session': KnxStartingSessionEvent; connected: LinkInfo; reconnecting: KnxReconnectingEvent; disconnected: KnxDisconnectedEvent; }; export type KnxEventName = keyof KnxEventMap; export type KnxEventListener, TCemiFrame = unknown> = (arg: KnxEventMap[K]) => void; export declare class KnxEventEmitter { private readonly emitter; on>(eventName: K, listener: KnxEventListener): this; off>(eventName: K, listener: KnxEventListener): this; once>(eventName: K, listener: KnxEventListener): this; listenerCount>(eventName: K): number; emit>(eventName: K, arg: KnxEventMap[K]): boolean; } //# sourceMappingURL=KnxEventEmitter.d.ts.map