import { UnwrapNestedRefs } from "vue";
/**
 * Notify MobX reactivity system of changes to propagate Vue reactive changes, by reassigning values.
 *
 * @param obj
 * @param prop
 * @param key
 */
export declare function notify(obj: any): any;
/**
 * Setup MobX observable and Vue Reactive state on an object.
 *
 * @param observers
 * @param raw
 * @param annotations
 */
export declare function reactiveObservable<TStore extends Record<string | number, any>>(observers: TStore, raw?: Array<any> | Boolean): UnwrapNestedRefs<TStore>;
/**
 * Create shadow prop name.
 *
 * @param prop
 */
export declare function shadowProp(prop: any): string;
/**
 * Create a Vue reactive object that is a shadow of MobX state.
 *
 * @param obj
 * @param observables
 * @param options
 */
export declare function useMobX<Store extends Record<string, any>>(obj: any, observables: any, options?: {}): UnwrapNestedRefs<Store | any>;
