/*! memorio Copyright (c) 2025 Dario Passariello Licensed under MIT License, see https://dario.passariello.ca */ /** * useObserver run a callback anytime the associated state going to change. * Returns a destructor function to remove the listener. */ interface _useObserver { /** * Generate your useObserver * * @example * const cleanup = useObserver(() => console.debug("Changed"), "state.test") * cleanup() // Stop observing * * @example * useObserver(() => console.debug("Multiple changed"), [() => state.a, "state.b"]) * * @since memorio 1.0.6 * @updated 2.5.0 - Added support for arrays and destructor */ (func: Function, deps: any): () => void } declare var useObserver: _useObserver type useObserver = _useObserver // Extend globalThis to include useObserver declare global { var useObserver: _useObserver }