declare type Disconnecter = {
    disconnect: () => void;
};
export default class Observable<T> {
    protected value: T;
    private listeners;
    constructor(value: T);
    protected _update(value: T): void;
    protected emit(): void;
    update(value: T): void;
    snapshot(): T;
    subscribe(callback: (value: T) => void): Disconnecter;
}
export {};
