UNPKG

@sandstack/neuron

Version:

Neuron is a lightweight framework agnostic global state manager for Javascript apps, with React support

14 lines (13 loc) 592 B
import { NeuronKey, INeuronClient } from "../core"; export declare function usePrivateSubscriber<T, A, S>(neuronClient: INeuronClient, neuronKey: NeuronKey, slice?: (state: T) => S): [StateOrSlice<S, T>, Actions<T, S, A>]; export type StateOrSlice<T, S> = unknown extends T ? T extends unknown ? S : T : T; export type Actions<T, S, A> = unknown extends S ? T extends unknown ? { set: SetState<T>; } & A : { set: SetState<T>; setSlice: SetState<S>; } & A : { set: SetState<T>; setSlice: SetState<S>; } & A; export type SetState<T> = (state: T | ((prev: T) => T)) => void;