import { ReadonlySignal, effect } from '@preact/signals-core'; export { ReadonlySignal, Signal, batch, effect, signal, untracked } from '@preact/signals-core'; declare function computed(compute: () => T, comparator?: (a: T, b: T) => boolean): ReadonlySignal; declare function deepEqual(a: T, b: T): boolean; declare function reactive({ get }: ClassAccessorDecoratorTarget, _: ClassAccessorDecoratorContext): ClassAccessorDecoratorResult; declare function derived(target: (this: This) => Return, _: ClassGetterDecoratorContext): (this: This) => Return; /** * Make a field enumerable (or non‑enumerable) on every instance. * * @enumerable(true) – enumerable * @enumerable(false) – non‑enumerable */ declare function enumerable(enumerable?: boolean): (_value: unknown, context: ClassFieldDecoratorContext | ClassGetterDecoratorContext | ClassSetterDecoratorContext | ClassAccessorDecoratorContext | ClassMethodDecoratorContext) => void; type CleanupFunction = () => void; type Effect = Parameters[0]; declare function effects(...entries: Effect[]): CleanupFunction; type WithHistory = { current: T; initial: T; previous: T | undefined; }; declare class ValueHistory implements WithHistory { #private; protected readonly defaultValue: T; protected readonly equals: (a: T, b: T) => boolean; constructor(defaultValue: T, equals?: (a: T, b: T) => boolean); /** Current value */ get current(): T; /** Initial value */ get initial(): T; /** Previous value */ get previous(): T | undefined; /** Set the current value */ set current(value: T); /** Reset the state to the initial value */ reset(value?: T): void; } declare function snapshot(value: T): T; declare class WeakStore> { #private; get(key: WeakKey | undefined, id: Key): Value | undefined; set(key: WeakKey | undefined, id: Key, value: Value): Map | undefined; clear(key: WeakKey | undefined): void; } export { type CleanupFunction, type Effect, ValueHistory, WeakStore, type WithHistory, computed, deepEqual, derived, effects, enumerable, reactive, snapshot };