import { Observer, Subscription } from "./types.cjs"; //#region src/store.d.ts type StoreAction = (...args: Array) => any; type StoreActionMap = Record; type StoreActionsFactory = (store: { setState: Store['setState']; get: Store['get']; }) => TActions; type NonFunction = T extends ((...args: Array) => any) ? never : T; declare class Store { private atom; readonly actions: TActions; constructor(getValue: (prev?: NoInfer) => T); constructor(initialValue: T); constructor(initialValue: NonFunction, actionsFactory: StoreActionsFactory); setState(updater: (prev: T) => T): void; get state(): T; get(): T; subscribe(observerOrFn: Observer | ((value: T) => void)): Subscription; } declare class ReadonlyStore implements Omit, 'setState' | 'actions'> { private atom; constructor(getValue: (prev?: NoInfer) => T); constructor(initialValue: T); get state(): T; get(): T; subscribe(observerOrFn: Observer | ((value: T) => void)): Subscription; } declare function createStore(getValue: (prev?: NoInfer) => T): ReadonlyStore; declare function createStore(initialValue: T): Store; declare function createStore(initialValue: NonFunction, actions: StoreActionsFactory): Store; //#endregion export { ReadonlyStore, Store, StoreAction, StoreActionMap, StoreActionsFactory, createStore }; //# sourceMappingURL=store.d.cts.map