import { INeuron } from "../core"; export declare function useSubscriber(neuron: INeuron, slice?: (state: T) => S): [StateOrSlice, Actions]; export type StateOrSlice = unknown extends T ? T extends unknown ? S : T : T; export type Actions = unknown extends S ? T extends unknown ? { set: SetState; } & A : { set: SetState; setSlice: SetState; } & A : { set: SetState; setSlice: SetState; } & A; export type SetState = T extends boolean ? (state: boolean | ((prev: boolean) => boolean)) => void : (state: T | ((prev: T) => T)) => void;