Types
The Types module is split into public types and internal types.
public.ts
src/types/public.ts defines external type contracts and is exported through the package entry.
Common types:
Accessor<T>Setter<T>SignalTuple<T>MemoAccessor<T>RenderableComponent<P>SignalOptions<T>EffectOptionsMemoOptions<T>ResourceState<T, E>ResourceAccessor<T, E>ResourceControls<T, S, E>ListOptions<T, K>ForProps<T, K>ShowProps<T>DeepReadonly<T>UnwrapStore<T>StoreOptionsRawOptionsElementProps<T>DebugOptionsSignalDevtoolsEventSignalDevtoolsHookSignalGraphSnapshotSignalGraphSourceNodeSignalGraphComputationNodeSignalGraphOwnerNode
Example:
TypeScriptimport type { Accessor, Setter } from 'vanilla-signal';let count!: Accessor<number>;let setCount!: Setter<number>;
internal.ts
src/types/internal.ts only supports collaboration between internal source modules, such as owner, computation, source, and store metadata.
These types should not be used as dependencies in user code.