import { IObservableArray, IReactionDisposer } from "./interfaces/IMobX"; declare type TObservableDecorator = (obj: T, ..._params: Array) => void; declare type TObservable = { object: (obj: T, decorators?: object, opts?: object) => T; array: (obj: Array, decorators?: object, opts?: object) => IObservableArray; } & TObservableDecorator; export declare const mobx: { autorun(fn: Function): IReactionDisposer; isObservableArray(_obj: any): boolean; set(obj: Record, key: string | Record, value?: any): void; extendObservable(obj: T, prop: U): T & U; observable(_obj: T_1, ..._params: Array): void; computed(...params: Array): any; action(...params: Array): any; makeObservable(_target: any, _annotations?: any): void; runInAction(fn: Function): void; toJS(val: T_2): T_2; reaction(data: Function, action: Function): IReactionDisposer; intercept(target: T_3, propertyName: Function | keyof T_3, _interceptor?: Function | undefined): IReactionDisposer; } & { useRealMobX: boolean; useMobx: (enabled: boolean) => void; observable: TObservable; }; export {};