import type { StateTree, Snapstate, RestrictedSnapstate, GetTree } from "./types.js"; export * from "./types.js"; export * from "./parts/paths.js"; export * from "./parts/errors.js"; export * from "./parts/symbol-to-allow-proxy-into-state.js"; export * from "./tools/debounce/debounce.js"; export * from "./tools/attempt-nested-property.js"; export * from "./tools/is-plain-object.js"; export * from "./tools/is-void.js"; export * from "./tools/nap.js"; export * from "./tools/object-map.js"; export * from "./tools/obtain.js"; export * from "./tools/unproxy.js"; export declare function snapstate(tree: xTree): Snapstate; export declare function substate | Snapstate>(state: xSnap, grabber: (tree: GetTree) => xSubtree): (xSnap extends Snapstate ? Snapstate : RestrictedSnapstate); export declare function restricted(snap: Snapstate): RestrictedSnapstate;