UNPKG

808 BTypeScriptView Raw
1import React from 'react';
2import { Atom, WritableAtom, AnyAtom } from './types';
3export declare type AtomState<Value = unknown> = {
4 error?: Error;
5 promise?: Promise<void>;
6 value: Value;
7};
8declare type State = Map<AnyAtom, AtomState>;
9export declare type PartialState = State;
10export declare type Actions = {
11 add: <Value>(id: symbol, atom: Atom<Value>, partialState?: PartialState) => void;
12 del: (id: symbol) => void;
13 read: <Value>(state: State, atom: Atom<Value>) => readonly [AtomState, PartialState];
14 write: <Value, Update>(atom: WritableAtom<Value, Update>, update: Update) => void;
15};
16export declare const ActionsContext: React.Context<Actions>;
17export declare const StateContext: React.Context<State>;
18export declare const Provider: React.FC;
19export {};