/** * Subject class to implement the observer pattern. * Observer is passed as a callback function. * Observers recive published object to read its properties * and call its methods to get its current state. * */ export declare class Subject { observers: ((object: Type) => void)[]; subscribe(observer: (object: Type) => void): void; unsubscribe(observer: (object: Type) => void): void; publish(object: Type): void; }