import { Store, StoreValue } from "nanostores"; import { DependencyList } from "react"; //#region src/client/react/react-store.d.ts type StoreKeys = T extends { setKey: (k: infer K, v: any) => unknown; } ? K : never; interface UseStoreOptions { /** * @default * ```ts * [store, options.keys] * ``` */ deps?: DependencyList | undefined; /** * Will re-render components only on specific key changes. */ keys?: StoreKeys[] | undefined; } /** * Subscribe to store changes and get store's value. * * Can be used with store builder too. * * ```js * import { useStore } from 'nanostores/react' * * import { router } from '../store/router' * * export const Layout = () => { * let page = useStore(router) * if (page.route === 'home') { * return * } else { * return * } * } * ``` * * @param store Store instance. * @returns Store value. */ declare function useStore(store: SomeStore, options?: UseStoreOptions): StoreValue; //#endregion export { useStore };