import { Signal as NativeSignal } from 'signal-polyfill'; export type Signal = NativeSignal.State & { update: (updateFn: (value: T) => T) => void; }; export type SignalOptions = NativeSignal.Options & { watched?(): void; unwatched?(): void; }; export type ReadonlySignal = NativeSignal.Computed; export declare function signal(value: T, options?: SignalOptions): Signal; /** * Creates or retrieves a shared signal stored on the global object. This is useful for signals that need to be shared across multiple modules without explicitly passing them around, such as localization settings or translation records. */ export declare function sharedSignal(key: string, ...args: Parameters>): ReturnType>; export declare function computed(computeFn: () => T, options?: SignalOptions): ReadonlySignal; export declare function effect(callback: (() => void) | (() => () => void)): () => void; declare global { var __ODX_SHARED_SIGNALS__: Record; } //# sourceMappingURL=signals.d.ts.map