import { Dataset, ReadonlyDataset } from "@opennetwork/rdf-dataset"; import { NamedNode, Quad, QuadObject, QuadPredicate, QuadSubject } from "@opennetwork/rdf-data-model"; import { Link } from "./link"; import { Object as ObjectInstance } from "./object"; export interface CreateInstance { link(dataset: Dataset, subject: NamedNode): Link; object(dataset: Dataset, subject: NamedNode): ObjectInstance; } export declare const dataset: unique symbol; export declare const subject: unique symbol; export declare const create: unique symbol; export declare class Instance extends ReadonlyDataset { readonly [dataset]: Dataset; readonly [subject]: QuadSubject; readonly [create]: Readonly; constructor(givenDataset: Dataset, givenSubject: QuadSubject, givenCreate: CreateInstance); protected next(predicate: QuadPredicate): Quad | undefined; protected nextThing(predicate: QuadPredicate, givenType?: NamedNode): Link | ObjectInstance | undefined; protected instance(subject: QuadObject | QuadSubject, givenType?: NamedNode): ObjectInstance | Link | undefined; protected nextString(predicate: NamedNode): string | undefined; protected nextNumeric(predicate: NamedNode): number | undefined; }