import { UnsubscribeFunc } from "./types.js"; declare type Listener = (state: State) => void; declare type Action = (state: State, ...args: any[]) => Partial | Promise> | null; declare type BoundAction = (...args: any[]) => void; export declare type Store = { state: State | undefined; action(action: Action): BoundAction; setState(update: Partial, overwrite?: boolean): void; subscribe(listener: Listener): UnsubscribeFunc; }; export declare const createStore: (state?: State | undefined) => Store; export {};