interface UpdateFn { (state: S): void; } export declare abstract class Model { private _state; private __emitter; get state(): S; protected set state(s: S); setState(fn: UpdateFn | S): void; subscribe(callback: (state: S) => void): { unsubscribe: () => void; }; } export {};