import { ReactiveNode, SIGNAL } from './graph.js'; import { ValueEqualityComparer } from './equality.js'; export interface SignalNode extends ReactiveNode, ValueEqualityComparer { value: T; } export type SignalBaseGetter = (() => T) & { readonly [SIGNAL]: unknown; }; export interface SignalGetter extends SignalBaseGetter { readonly [SIGNAL]: SignalNode; } /** * Create a `Signal` that can be set or updated directly. */ export declare function createSignal(initialValue: T): SignalGetter; export declare function setPostSignalSetFn(fn: (() => void) | null): (() => void) | null; export declare function signalGetFn(this: SignalNode): T; export declare function signalSetFn(node: SignalNode, newValue: T): void; export declare function signalUpdateFn(node: SignalNode, updater: (value: T) => T): void; export declare const SIGNAL_NODE: SignalNode; //# sourceMappingURL=signal.d.ts.map