import { JSX, ParentProps } from "solid-js"; //#region src/createStoreContext.d.ts /** * Creates a typed Solid context for sharing a bundle of atoms and stores with a * subtree. * * The returned `StoreProvider` only transports the provided object through * Solid context. Consumers destructure the contextual atoms and stores, then * compose them with the existing hooks like {@link useSelector} and * {@link useAtom}. * * The object shape is preserved exactly, so keyed atoms and stores remain fully * typed when read back with `useStoreContext()`. * * @example * ```tsx * const { StoreProvider, useStoreContext } = createStoreContext<{ * countAtom: Atom * totalsStore: Store<{ count: number }> * }>() * * function CountButton() { * const { countAtom, totalsStore } = useStoreContext() * const count = useSelector(countAtom) * const total = useSelector(totalsStore, (state) => state.count) * * return ( * * ) * } * ``` * * @throws When `useStoreContext()` is called outside the matching `StoreProvider`. */ declare function createStoreContext(): { StoreProvider: (props: ParentProps<{ value: TValue; }>) => JSX.Element; useStoreContext: () => TValue; }; //#endregion export { createStoreContext }; //# sourceMappingURL=createStoreContext.d.ts.map