import { Transaction } from './transaction'; import { Observable } from './observable'; export declare type Setter = (value: State) => State; export declare type Set = (setter: State | Setter, transaction?: Transaction) => void; export interface AtomDefaultActions { set: Set; } export interface Atom> extends Observable { actions: Actions; } export interface AtomOptions> { actions: (set: Set) => Actions; } export declare const atom: >(defaultValue: State, options?: AtomOptions | undefined) => Atom;