import type { ObservableComputed, ObservableEvent, ObservableObject, ObservableReadable, ObservableWriteable, ObserveEvent, OpaqueObject, Selector, TypeAtPath } from './observableInterfaces'; export declare function isObservable(obs: any): obs is ObservableObject; export declare function isEvent(obs: any): obs is ObservableEvent; export declare function isComputed(obs: any): obs is ObservableComputed; export declare function computeSelector(selector: Selector, e?: ObserveEvent, retainObservable?: boolean): any; export declare function getObservableIndex(obs: ObservableReadable): number; export declare function opaqueObject(value: T): OpaqueObject; export declare function lockObservable(obs: ObservableReadable, value: boolean): void; export declare function setAtPath(obj: T, path: string[], pathTypes: TypeAtPath[], value: any, fullObj?: T, restore?: (path: string[], value: any) => void): T; export declare function setInObservableAtPath(obs: ObservableWriteable, path: string[], value: any, mode: 'assign' | 'set'): void; export declare function mergeIntoObservable(target: T, ...sources: any[]): T; export declare function constructObjectWithPath(path: string[], value: any, pathTypes: TypeAtPath[]): object; export declare function deconstructObjectWithPath(path: string[], value: any): object; export declare function isObservableValueReady(value: any): boolean; //# sourceMappingURL=helpers.d.ts.map