import { IObjectDidChange, IObservableValue, IComputedValue, IMapDidChange, IValueDidChange, ObservableMap, IObservableArray, IArrayChange, IArraySplice } from 'mobx'; import LogRocket = require('logrocket'); /** * Creates a logrocket-mobx plugin for the given LogRocket instance * @param logrocket LogRocket instance */ export declare function createPlugin(logrocket: typeof LogRocket): { watchValue: (target: IObservableValue | IComputedValue, options?: { /** optional identifier to include in the log */ name?: string; /** optional sanitizer function which sanitizes the change object */ sanitizer?: (change: IValueDidChange) => IValueDidChange; }) => void; watchArray: (target: IObservableArray, options?: { /** optional identifier to include in the log */ name?: string; /** optional sanitizer function which sanitizes the change object */ sanitizer?: (change: IArrayChange | IArraySplice) => IArrayChange | IArraySplice; }) => void; watchObject: (target: Object, property?: string, options?: { /** optional identifier to include in the log */ name?: string; /** optional sanitizer function which sanitizes the change object */ sanitizer?: (change: IObjectDidChange) => IObjectDidChange; }) => void; watchMap: (target: ObservableMap, key?: K, options?: { /** optional identifier to include in the log */ name?: string; /** optional sanitizer function which sanitizes the change object */ sanitizer?: (change: IMapDidChange) => IMapDidChange; }) => void; };