import type * as RDF from '@rdfjs/types';
import { Bloem } from 'bloem';
import type { IDatasetSummaryArgs, IDatasetSummaryOutput } from './DatasetSummary';
import { DatasetSummary } from './DatasetSummary';
export declare class DatasetSummaryBloom extends DatasetSummary {
    protected readonly location: string;
    protected readonly hashBits: number;
    protected readonly hashCount: number;
    protected readonly projectedProperties: Map<string, Bloem>;
    protected readonly projectedResources: Map<string, Bloem>;
    static readonly MEM_PREFIX = "http://semweb.mmlab.be/ns/membership#";
    static readonly MEM_CLASS_MEMBERSHIPFUNCTION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#MembershipFunction">;
    static readonly MEM_CLASS_APPROXIMATEMEMBERSHIPFUNCTION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#ApproximateMembershipFunction">;
    static readonly MEM_CLASS_BLOOMFILTER: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#BloomFilter">;
    static readonly MEM_CLASS_HASHFUNCTION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#HashFunction">;
    static readonly MEM_CLASS_HASHFUNCTIONFNV: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#FowlerNollVo">;
    static readonly MEM_CLASS_HASHFUNCTIONMD5: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#MD5">;
    static readonly MEM_CLASS_MEMBERCOLLECTION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#MemberCollection">;
    static readonly MEM_PROP_SOURCECOLLECTION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#sourceCollection">;
    static readonly MEM_PROP_MEMBERCOLLECTION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#memberCollection">;
    static readonly MEM_PROP_HASHFUNCTION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#hashFunction">;
    static readonly MEM_PROP_BINARYREPRESENTATION: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#binaryRepresentation">;
    static readonly MEM_PROP_BITSIZE: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#bitSize">;
    static readonly MEM_PROP_HASHSIZE: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#hashSize">;
    static readonly MEM_PROP_PROJECTEDPROPERTY: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#projectedProperty">;
    static readonly MEM_PROP_PROJECTEDRESOURCE: import("rdf-data-factory").NamedNode<"http://semweb.mmlab.be/ns/membership#projectedResource">;
    constructor(args: IDatasetSummaryBloomArgs);
    register(quad: RDF.Quad): void;
    serialize(): IDatasetSummaryOutput;
    protected project(map: Map<string, Bloem>, key: string, value: string): void;
    /**
     * Create a fragment IRI on the provided base,
     * using a hex digest of the hashes of all additional values provided.
     */
    static createFragmentIri(base: string, ...values: string[]): RDF.NamedNode;
}
export interface IDatasetSummaryBloomArgs extends IDatasetSummaryArgs {
    /**
     * The location of the Bloom filter.
     */
    location: string;
    /**
     * Bitsize of the Bloom filter.
     */
    hashBits: number;
    /**
     * Number of hashes for the Bloom filter.
     */
    hashCount: number;
}
