import type { RdfResource, ResourceFactory } from '@tpluscode/rdfine'; import type { DatasetIndexed } from 'rdf-dataset-indexed/dataset'; import type { DatasetCore, NamedNode, BaseQuad } from 'rdf-js'; import type { HydraResponse } from './alcaeus'; import type { HydraResource } from './Resources'; import type { ResponseWrapper } from './ResponseWrapper'; interface ResourceStoreEntry { response: ResponseWrapper; dataset: D; rootResource?: NamedNode; } export interface ResourceStore { factory: ResourceFactory>; get = RdfResource>(uri: NamedNode): Required> | undefined; set(uri: NamedNode, entry: ResourceStoreEntry): Promise; clone(): ResourceStore; } export interface RepresentationInference { (dataset: DatasetCore): Iterable; } interface ResourceStoreInit { dataset: D; datasetFactory: () => D; inferences: RepresentationInference[]; factory: ResourceFactory>; } export default class ResourceStoreImpl implements ResourceStore { private readonly dataset; private readonly inferences; readonly factory: ResourceFactory>; private readonly rootNodes; private readonly responses; private readonly datasetFactory; constructor({ dataset, inferences, factory, datasetFactory }: ResourceStoreInit); clone(): ResourceStore; get>(graph: NamedNode): Required> | undefined; set(graph: NamedNode, { response, dataset, rootResource }: ResourceStoreEntry): Promise; } export {}; //# sourceMappingURL=ResourceStore.d.ts.map