import { Atom, WritableAtom, AnyAtom, OnUnmount } 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 Dependents = Set; declare type MountedMap = Map; declare type WorkInProgress = Map; export declare type UpdateState = (updater: (prev: State) => State) => void; export declare type State = { a: AtomStateMap; m: MountedMap; 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: (updateState: UpdateState, addingAtom: AnyAtom, useId: symbol) => void; export declare const delAtom: (updateState: UpdateState, deletingAtom: AnyAtom, useId: symbol) => void; export declare const writeAtom: (updateState: UpdateState, writingAtom: WritableAtom, update: Update) => void | Promise; export {};