import { Wrapper } from '../wrappers'; declare type watcherCallBack = (newVal: T, oldVal: T) => void; declare type watchedValue = Wrapper | (() => T); declare type FlushMode = 'pre' | 'post' | 'sync'; interface WatcherOption { lazy: boolean; deep: boolean; flush: FlushMode; } export declare function watch(source: watchedValue, cb: watcherCallBack, options?: Partial): () => void; export declare function watch(source: Array>, cb: watcherCallBack, options?: Partial): () => void; export {};