export type Subscriber = (message: T) => void; export type Unsubscribe = () => void; export declare class Subject { #private; constructor(); /** * @desc Returns the number of subscribers */ get size(): number; /** * @desc Subscribes to a subject * @param observer - The observer to subscribe */ subscribe(observer: Subscriber): () => boolean; /** * @desc Publishes a message to all subscribers * @param message - The message to publish */ publish(message: T): void; }