import { AnyStore, InferStoreState } from "../../core/store.js";
import { Comparator, Selector } from "../../core/shallow-equal.js";
import "./use-selector.js";
//#region src/react/hooks/use-store.d.ts
/**
* Access store state and actions.
*
* Without selector: Returns the store, does NOT subscribe to changes.
* With selector: Returns selected state, re-renders when selected state changes (shallowEqual).
*
* @example
* ```tsx
* // Store access (no subscription) - access actions, subscribe without re-render
* function Controls() {
* const { setVolume } = useStore(store);
* }
*
* // Selector-based subscription - re-renders when paused changes
* function PlayButton() {
* const paused = useStore(store, (s) => s.paused);
* return ;
* }
* ```
*/
/** @label Without Selector */
declare function useStore(store: S): S;
/**
* Select a value from the store. Re-renders when the selected value changes (shallowEqual).
*
* @label With Selector
* @param selector - Derives a value from the store state.
* @param isEqual - Custom equality function. Defaults to `shallowEqual`.
*/
declare function useStore(store: S, selector: Selector, R>, isEqual?: Comparator): R;
declare namespace useStore {
type Result = S;
}
//#endregion
export { useStore };
//# sourceMappingURL=use-store.d.ts.map