export declare class Observable { private baseData; private basePath; id: string; private rawData; private EE; private childWatcher; private childArray; private childNum; constructor(baseData?: any, basePath?: string, id?: string); raw(path?: string): any; val(path?: string): any; get(path?: string): ObsObject; set(path: string, value: any): any; watch(path: string, watcher: any): { unwatch: () => void; }; unwatch(path: string, watcher: any): void; } export declare class ObsObject { id: string; path: string; private parent; constructor(id: string, path: string, parent: Observable); get(childPath: string): ObsObject; raw(): any; val(): any; set(value: any): any; watch(watcher: any): { unwatch: () => void; }; unwatch(watcher: any): void; } export interface IFilter { name: string; filterFn: (val) => any; } export declare const Filters: { [name: string]: (val) => void; }; export declare function registerFilter(name: string, filterFn: (val) => any): void; export declare function resetObsId(): void;