import { WatchCallback, WatchHandle, WatchSource } from 'vue';
type MaybeUndefined<T, I> = I extends true ? T | undefined : T;
export interface WatchCachedOptions<Immediate = boolean> {
    immediate?: Immediate;
}
/** Alternative to `watch`, but triggering only on actual data changes */
export declare function watchCached<T, Immediate extends Readonly<boolean> = false>(source: WatchSource<T>, cb: WatchCallback<T, MaybeUndefined<T, Immediate>>, options?: WatchCachedOptions<Immediate>): WatchHandle;
export {};
