import type * as RDF from '@rdfjs/types';
import { DataFactory } from 'rdf-data-factory';
export declare const DF: DataFactory<RDF.Quad>;
export interface IDatasetSummaryOutput {
    iri: string;
    quads: RDF.Quad[];
}
export interface IDatasetSummary {
    register: (quad: RDF.Quad) => void;
    serialize: () => IDatasetSummaryOutput;
}
export declare abstract class DatasetSummary implements IDatasetSummary {
    protected readonly dataset: string;
    static readonly RDF_TYPE: import("rdf-data-factory").NamedNode<"http://www.w3.org/1999/02/22-rdf-syntax-ns#type">;
    static readonly XSD_INTEGER: import("rdf-data-factory").NamedNode<"http://www.w3.org/2001/XMLSchema#integer">;
    static readonly XSD_BASE64: import("rdf-data-factory").NamedNode<"http://www.w3.org/2001/XMLSchema#base64Binary">;
    constructor(args: IDatasetSummaryArgs);
    abstract register(quad: RDF.Quad): void;
    abstract serialize(): IDatasetSummaryOutput;
}
export interface IDatasetSummaryArgs {
    /**
     * The IRI of the dataset being summarised.
     */
    dataset: string;
}
