/** * Perfect Reactivity - Signal * * Reactive data source that notifies subscribers when its value changes. */ import type { Link, SignalNode } from './core'; /** * Signal - mutable reactive data source * * @template T - Value type * * @example * ```ts * const count = signal(0); * count.write(count.read() + 1); * ``` */ export declare class ISignal implements SignalNode { value: any; subs: Link | null; subsTail: Link | null; version: number; constructor(initialValue: T); /** * Read signal value and track dependency in current reactive context * * @returns Current value */ read(): T; /** * Write new value and propagate changes to subscribers * * @param value - New value */ write(value: T): void; /** * Read value without tracking dependency * * @returns Current value */ peek(): T; } /** * Create a new signal * * @template T - Value type * @param initialValue - Initial value * @returns Signal instance * * @example * ```ts * const count = signal(0); * const name = signal('Alice'); * ``` */ export declare function signal(initialValue: T): ISignal;