UNPKG

1.17 kBTypeScriptView Raw
1import { Getter, Setter, Atom, WritableAtom, PrimitiveAtom } from './types';
2export declare function atom<Value, Update>(read: (get: Getter) => Promise<Value>, write: (get: Getter, set: Setter, update: Update) => void | Promise<void>): WritableAtom<Value, Update>;
3export declare function atom<Value, Update>(read: (get: Getter) => Value, write: (get: Getter, set: Setter, update: Update) => void | Promise<void>): WritableAtom<Value, Update>;
4export declare function atom<Value, Update>(read: Function, write: (get: Getter, set: Setter, update: Update) => void | Promise<void>): never;
5export declare function atom<Value, Update>(read: Value, write: (get: Getter, set: Setter, update: Update) => void | Promise<void>): WritableAtom<Value, Update>;
6export declare function atom<Value, Update extends never = never>(read: (get: Getter) => Promise<Value>): Atom<Value>;
7export declare function atom<Value, Update extends never = never>(read: (get: Getter) => Value): Atom<Value>;
8export declare function atom<Value, Update>(read: Function): never;
9export declare function atom<Value, Update extends never = never>(initialValue: Value): PrimitiveAtom<Value>;