import type { Term } from '@rdfjs/types'; import type { SqliteDatabase } from '../SqliteRuntime'; import type { RdfTermKind, RdfTermRewriteInput, RdfTermRewriteResult } from './types'; interface RdfTermRewriteOptions { useTransaction?: boolean; } export declare const RDF_TERM_VALUE_HEAD_LENGTH = 256; export declare class RdfTermDictionary { private readonly db; private readonly termCache; private readonly idCache; constructor(db: SqliteDatabase); getOrCreate(term: Term): number; find(term: Term): number | undefined; termForId(id: number): Term; rowsForIds(ids: number[]): Map; idsByValuePrefix(kind: RdfTermKind | RdfTermKind[], prefix: string): number[]; idsByNormalizedTextContains(kind: RdfTermKind | RdfTermKind[], text: string): number[]; idsByNormalizedTextSuffix(kind: RdfTermKind | RdfTermKind[], suffix: string): number[]; idsByNormalizedTextRegex(kind: RdfTermKind | RdfTermKind[], pattern: string, flags?: string): number[]; count(): number; rewriteNamedNodePrefix(input: RdfTermRewriteInput, options?: RdfTermRewriteOptions): RdfTermRewriteResult; private findId; private toIdentity; private identity; private numericValueForLiteral; private identityCacheKey; private rowMatchesIdentity; private rowToTerm; } export declare function rdfTermValueHead(value: string): string; export declare function matchesRewriteBoundary(value: string, oldPrefix: string): boolean; export {};