import type { BaseNode } from "../../Node.js";
import type { BaseKVStore } from "../kvStore/types.js";
import type { RefDocInfo } from "./types.js";
import { BaseDocumentStore } from "./types.js";
export declare class KVDocumentStore extends BaseDocumentStore {
    private kvstore;
    private nodeCollection;
    private refDocCollection;
    private metadataCollection;
    constructor(kvstore: BaseKVStore, namespace?: string);
    docs(): Promise<Record<string, BaseNode>>;
    addDocuments(docs: BaseNode[], allowUpdate?: boolean): Promise<void>;
    getDocument(docId: string, raiseError?: boolean): Promise<BaseNode | undefined>;
    getRefDocInfo(refDocId: string): Promise<RefDocInfo | undefined>;
    getAllRefDocInfo(): Promise<Record<string, RefDocInfo> | undefined>;
    refDocExists(refDocId: string): Promise<boolean>;
    documentExists(docId: string): Promise<boolean>;
    private removeRefDocNode;
    deleteDocument(docId: string, raiseError?: boolean, removeRefDocNode?: boolean): Promise<void>;
    deleteRefDoc(refDocId: string, raiseError?: boolean): Promise<void>;
    setDocumentHash(docId: string, docHash: string): Promise<void>;
    getDocumentHash(docId: string): Promise<string | undefined>;
    getAllDocumentHashes(): Promise<Record<string, string>>;
}
