import { BaseListener, BaseObserver, BaseObserverInterface } from './BaseObserver.js'; /** * Represents the counts of listeners for each event type in a BaseListener. */ export type ListenerCounts = Partial> & { total: number; }; /** * Meta listener which reports the counts of listeners for each event type. */ export interface MetaListener extends BaseListener { listenersChanged?: (counts: ListenerCounts) => void; } export interface ListenerMetaManager extends BaseObserverInterface> { counts: ListenerCounts; } export interface MetaBaseObserverInterface extends BaseObserverInterface { listenerMeta: ListenerMetaManager; } /** * A BaseObserver that tracks the counts of listeners for each event type. */ export declare class MetaBaseObserver extends BaseObserver implements MetaBaseObserverInterface { protected get listenerCounts(): ListenerCounts; get listenerMeta(): ListenerMetaManager; protected metaListener: BaseObserver>; constructor(); registerListener(listener: Partial): () => void; }