export class Signal { [x: number]: () => void; constructor(init: T); set value(value: T); get value(): T; peek(): T; #private; } export class Computed extends Signal<() => T> { constructor(init: () => T); readonly get value(): T; peek(): T; #private; } export const batch: (fn: () => T) => T; export function computed(fn: () => T): Computed; export function effect(fn: () => (void | (() => void))): () => void; export function signal(init: T): Signal; export const untracked: (fn: () => T) => T;