import { Atom, WritableAtom, AnyAtom } from './types'; declare type Revision = number; declare type ReadDependencies = Map; export declare type AtomState = { re?: Error; rp?: Promise; wp?: Promise; v?: Value; r: Revision; d: ReadDependencies; }; declare type AtomStateMap = WeakMap; declare type UseAtomSymbol = symbol; declare type DependentsMap = Map>; declare type WorkInProgress = Map; declare type UpdateState = (updater: (prev: State) => State) => void; export declare type State = { a: AtomStateMap; m: DependentsMap; w: WorkInProgress; }; export declare const createState: (initialValues?: Iterable, unknown]> | undefined) => State; export declare const readAtom: (state: State, updateState: UpdateState, readingAtom: Atom) => AtomState; export declare const addAtom: (state: State, addingAtom: AnyAtom, useId: symbol) => void; export declare const delAtom: (state: State, deletingAtom: AnyAtom, useId: symbol) => void; export declare const writeAtom: (updateState: UpdateState, writingAtom: WritableAtom, update: Update) => void | Promise; export declare const commitState: (state: State) => void; export {};