import { CollectionName, DBChanges, Entity, Triple, KVStore, KVStoreTransaction, EntityStore, EntitySyncStore, KVStoreOrTransaction, DoubleBuffer } from './types.js'; import { Timestamp } from './hybrid-clock.js'; import { Tuple } from './codec.js'; export declare class EntityStoreWithOutbox implements EntitySyncStore { readonly storage: KVStore; doubleBuffer: DoubleBuffer; private store; constructor(storage: KVStore); get metadataStore(): import("./entity-metadata-store.js").EntityMetadataStore; get dataStore(): EntityStore; onChange(callback: (changes: DBChanges) => void): () => void; applyChanges(tx: KVStoreTransaction, changes: DBChanges): Promise; getChanges(storage: KVStoreOrTransaction): Promise; applyChangesWithTimestamp(tx: KVStoreTransaction, buffer: DBChanges, timestamp: Timestamp): Promise; insertTriples(tx: KVStoreTransaction, triples: Triple[]): Promise; getEntity(storage: KVStoreOrTransaction, collection: string, id: string): Promise; getCollectionStats(storage: KVStoreOrTransaction): Promise>; getEntitiesInCollection(storage: KVStoreOrTransaction, collection: CollectionName): AsyncIterable<[Tuple, Entity]>; }