import type { VoidFn } from "../ts/types.js"; export type SignalChange = (next: T, previous?: T) => unknown; /** * Wrapper around a value that allows listening for changes by calling .onValue * @example * const mySignal = new Signal(); * mySignal.onValue(console.log); * * // Set the value * mySignal._ = 1; * * // Read the value * mySignal._; */ export declare class Signal { private value; private readonly _observers; constructor(value: T, onValue?: SignalChange); get _(): T; set _(next: T); /** * @param cb Called after Signal._ is set with new and old values cb(next, previous) */ onValue(cb: SignalChange): VoidFn; } //# sourceMappingURL=Signal.d.ts.map