import { type Scope } from "../../types.ts";
import type { BaseType, ShapeType } from "@ng-org/shex-orm";
import { DeepSignalSet } from "@ng-org/alien-deepsignals";
/**
* Svelte 5 hook to subscribe to RDF data in the graph database using a shape, see {@link ShapeType}.
*
* Returns a {@link DeepSignalSet} that contain the objects matching the shape and that are within the scope.
* Establishes a 2-way binding: Modifications to the object are immediately committed,
* changes coming from the engine (or other components) cause an immediate rerender.
*
* @param shape The {@link ShapeType} the objects should have (generated by the `@ng-org/shex-orm` tool).
* @param scope The {@link Scope} as graph string or scope object with graphs and subjects.
* @returns A {@link DeepSignalSet} with the orm objects or an empty set, if still loading.\
* If the scope is explicitly set to `undefined`, an empty set is returned which errors
* if you try to make modifications on it.
*
* @example
* ```svelte
*
*
*
* No expense yet.
*