import { Logger } from '@llamaindex/env'; import { StoredValue } from '../../../schema/dist/index.js'; declare abstract class BaseKVStore { abstract put(key: string, val: StoredValue, collection?: string): Promise; abstract get(key: string, collection?: string): Promise; abstract getAll(collection?: string): Promise>; abstract delete(key: string, collection?: string): Promise; } declare abstract class BaseInMemoryKVStore extends BaseKVStore { abstract persist(persistPath: string): void; static fromPersistPath(persistPath: string): BaseInMemoryKVStore; } type DataType = Record>; declare class SimpleKVStore extends BaseKVStore { private data; private persistPath; constructor(data?: DataType); put(key: string, val: StoredValue, collection?: string): Promise; get(key: string, collection?: string): Promise; getAll(collection?: string): Promise>; delete(key: string, collection?: string): Promise; persist(persistPath: string): Promise; static fromPersistPath(persistPath: string, options?: { logger?: Logger; }): Promise; toDict(): DataType; static fromDict(saveDict: DataType): SimpleKVStore; } export { BaseInMemoryKVStore, BaseKVStore, SimpleKVStore }; export type { DataType };