/** A writable reactive signal. Call with no args to read, with a value to write. */ export interface Signal { (): T; (value: T): void; /** Subscribe to future value changes. Returns an unsubscribe function. */ subscribe(fn: (value: T) => void): () => void; /** Read the current value without triggering tracking. */ peek(): T; readonly __isSignal: true; } /** A derived, read-only signal. */ export interface ReadonlySignal { (): T; subscribe(fn: (value: T) => void): () => void; peek(): T; readonly __isSignal: true; readonly __isComputed: true; } /** * Create a writable signal. */ export declare function signal(initial: T, label?: string): Signal; /** * Create a derived read-only signal. */ export declare function computed(fn: () => T, label?: string): ReadonlySignal; /** Type guard — true for both Signal and ReadonlySignal */ export declare function isSignal(value: unknown): value is Signal | ReadonlySignal; //# sourceMappingURL=signals.d.ts.map