type Listener = (...args: T) => void; export declare class Signal { private _id; private _listeners; dispatch(...args: T): void; attach(listener: Listener): () => boolean; } export declare class MemoizedSignal extends Signal { private _memoizedArgs; constructor(...memoizedArgs: T); dispatch(...args: T): void; attach(listener: Listener): () => boolean; getMemoizedArgs(): T; } export {};