import { a as WritableAtomRef, c as Getter, d as WritableAtom, f as atom, i as ReadableAtomRef, l as PrimitiveAtom, n as AtomStore, o as createAtomStore, r as AtomUpdate, s as DerivedAtom, t as AppId, u as ReadableAtom } from "./implementation-BtFRKZGC.cjs"; //#region src/defineAtomStoreSnapshot/implementation.d.ts type AtomStoreSnapshotSchema = Record>; type InferPrimitiveAtomValue = T extends PrimitiveAtom ? U : never; type AtomStoreSnapshotValue = { readonly [K in keyof S]: InferPrimitiveAtomValue }; interface AtomStoreSnapshot { readonly schema: Readonly; serialize(store: AtomStore): AtomStoreSnapshotValue; values(snapshot: AtomStoreSnapshotValue): Iterable; hydrate(store: AtomStore, snapshot: AtomStoreSnapshotValue): void; } declare function defineAtomStoreSnapshot(schema: S): AtomStoreSnapshot; //#endregion //#region src/withStore/implementation.d.ts /** * Returns the currently active AtomStore set by the nearest enclosing * `withStore` boundary, or `undefined` if called outside any boundary. */ declare function getCurrentStore(): AtomStore | undefined; /** * Evaluates `render` within an explicit store boundary. * * All Dathra APIs that access the current store (component rendering, * atom reads, SSR) will resolve `store` as the active store for the * duration of the `render` callback. * * Nested `withStore` calls shadow the outer store; when the inner * callback returns, the outer store is restored. * * @example * ```ts * // Root boundary * mount(root, withStore(store, () => )); * * // Nested boundary with forked store * withStore(childStore, () => ); * ``` */ declare function withStore(store: AtomStore, render: () => T): T; //#endregion export { type AppId, type AtomStore, type AtomStoreSnapshot, type AtomStoreSnapshotSchema, type AtomStoreSnapshotValue, type AtomUpdate, type DerivedAtom, type Getter, type InferPrimitiveAtomValue, type PrimitiveAtom, type ReadableAtom, type ReadableAtomRef, type WritableAtom, type WritableAtomRef, atom, createAtomStore, defineAtomStoreSnapshot, getCurrentStore, withStore }; //# sourceMappingURL=index.node.d.cts.map