import { ProxyContext, ProxyContextOptions, SetProxy, SubjectProxy } from "@ldo/jsonld-dataset-proxy"; import { QuadMatch } from "@ldo/rdf-utils"; import { SubscribableDataset, nodeEventListener } from "@ldo/subscribable-dataset"; import { BlankNode, NamedNode, Quad } from "@rdfjs/types"; //#region src/trackingProxy/TrackingProxyContext.d.ts /** * @internal * Options to be passed to the tracking proxy */ interface TrackingProxyContextOptions extends ProxyContextOptions { dataset: SubscribableDataset; } /** * @internal * A listener that gets triggered whenever there's an update */ /** * @internal * This proxy exists to ensure react components rerender at the right time. It * keeps track of every key accessed in a Linked Data Object and only when the * dataset is updated with that key does it rerender the react component. */ declare class TrackingProxyContext extends ProxyContext { private listener; private subscribableDataset; constructor(options: TrackingProxyContextOptions, listener: nodeEventListener); addListener(eventName: QuadMatch): void; protected createNewSubjectProxy(node: NamedNode | BlankNode): SubjectProxy; protected createNewSetProxy(quadMatch: QuadMatch, isSubjectOriented?: boolean, isLangStringSet?: boolean): SetProxy; } //#endregion export { TrackingProxyContext, TrackingProxyContextOptions }; //# sourceMappingURL=TrackingProxyContext.d.mts.map