import { Dispose } from '../../utils/disposable';
/**
 * Listener function for onSnapshot.
 */
export type OnSnapshotListener<T> = (sn: T, prevSn: T) => void;
/**
 * Adds a reaction that will trigger every time an snapshot changes.
 *
 * @template T Node type.
 * @param nodeOrFn Node to get the snapshot from or a function to get it.
 * @param listener Function that will be triggered when the snapshot changes.
 * @returns A disposer.
 */
export declare function onSnapshot<T extends object>(nodeOrFn: T | (() => T), listener: OnSnapshotListener<T>): Dispose;
