import type * as RDF from '@rdfjs/types';
import type { PatternTerm } from '../PatternTerm';
import type { ITermDictionary } from './ITermDictionary';
/**
 * A term dictionary for quoted triples.
 *
 * Plain terms are stored in a regular dictionary.
 * Quoted triples are stored separately using an index, which is backed the same dictionary.
 *
 * Finding quoted triples is done through indexed lookups.
 */
export declare class TermDictionaryQuotedIndexed implements ITermDictionary<number> {
    static readonly BITMASK: number;
    private readonly plainTermDictionary;
    private readonly quotedTriplesDictionary;
    private readonly quotedTriplesReverseDictionaries;
    private readonly dataFactory;
    readonly features: {
        quotedTriples: boolean;
    };
    constructor(rawTermDictionary: ITermDictionary<number>, dataFactory?: RDF.DataFactory);
    encode(term: RDF.Term): number;
    private encodeQuotedTriple;
    encodeOptional(term: RDF.Term): number | undefined;
    decode(encoding: number): RDF.Term;
    encodings(): IterableIterator<number>;
    findQuotedTriples(quotedTriplePattern: RDF.Quad): IterableIterator<RDF.Term>;
    findQuotedTriplesEncoded(quotedTriplePattern: RDF.Quad): IterableIterator<number>;
    /**
     * Helper function to convert a term to an iterator over encoded terms.
     * @param patternTerm A term.
     * @protected
     */
    protected patternToIterable(patternTerm: PatternTerm): IterableIterator<number | undefined>;
}
