import { IModule, NeuronOptions, ClientName, ClientMethods, NeuronKey } from "../core"; import { DynamicNeuronHook } from "./useNeuron"; import { Actions, StateOrSlice } from "./useSubscriber"; export declare class NeuronClient implements INeuronClient { neuron: ReactClientNeuron; useNeuron: (neuronKey: NeuronKey) => [T, (newState: T | ((prev: T) => T)) => void]; readonly name?: ClientName; readonly client: ClientMethods; constructor(options?: ClientOptions); } interface INeuronClient { readonly name?: Readonly; readonly client: ClientMethods; readonly neuron: ReactClientNeuron; readonly useNeuron: DynamicNeuronHook; } export interface ClientOptions { name?: ClientName; modules?: IModule[]; } export type ReactClientNeuron = (initialState: T, options?: NeuronOptions) => (slice?: ((state: T) => S) | undefined) => [StateOrSlice, Actions]; export {};