type EmitterOptions = { name: string; silent?: boolean; comparator?: (a: T, b: T) => boolean; }; type CreateEmitterOptions = Omit, 'name'>; export declare class Emitter { private listeners; value: T; options?: EmitterOptions; constructor(value: T, options?: EmitterOptions); listen: (listener: (value: T) => void) => (() => void); emit: (next: T) => void; } export declare function createEmitter(name: string, defaultValue: T, options?: CreateEmitterOptions): Emitter; type EmitterValue> = E extends Emitter ? Value : never; export declare function useEmitterValue>(emitter: E, options?: { disable?: boolean; }): EmitterValue; export {}; //# sourceMappingURL=emitter.d.ts.map