import Callback = require('./callback'); export interface bindFn { (getState: () => State, setState: (s: State) => any): State; } export declare class LeafNode { private _bind; private _state; private _callbacks; constructor(bind: bindFn); current: State; watch(callback: Callback): LeafNode; watchNext(callback: Callback): LeafNode; unwatch(callback: Callback): LeafNode; removeAllWatchers(): LeafNode; private _setState(state); private _notify(); }