interface AsyncThunkPayload { state: Partial; thunkResult?: R; } type Listener = (state: T) => void; declare class Store { private value; private listeners; constructor(initialValue: T); get(): Readonly; update(newState: Partial): void; subscribe(listener: Listener): () => void; asyncThunk(callback: (state: Readonly) => Promise>): Promise; } declare function useStoreSelector(store: Store): Readonly; declare function createStore(initialState: T): { get: () => Readonly; update: (newState: Partial) => void; subscribe: (listener: Listener) => () => void; asyncThunk: (callback: (state: Readonly) => Promise>) => Promise; useSelector: (selector: (state: T) => R) => R; }; export { Store, createStore, useStoreSelector };