import { Observer, Subscription } from './types.cjs'; export declare class Store { private atom; constructor(getValue: (prev?: NoInfer) => T); constructor(initialValue: T); setState(updater: (prev: T) => T): void; get state(): T; get(): T; subscribe(observerOrFn: Observer | ((value: T) => void)): Subscription; } export declare class ReadonlyStore implements Omit, 'setState'> { private atom; constructor(getValue: (prev?: NoInfer) => T); constructor(initialValue: T); get state(): T; get(): T; subscribe(observerOrFn: Observer | ((value: T) => void)): Subscription; } export declare function createStore(getValue: (prev?: NoInfer) => T): ReadonlyStore; export declare function createStore(initialValue: T): Store;