import type { EntityId } from './types' export interface KeyedStore { read(key: EntityId): Promise readMany(keys: readonly EntityId[]): Promise> readAll(): Promise write(items: ReadonlyArray<{ key: EntityId; value: T }>): Promise delete(key: EntityId): Promise } export type KeyedStoreFactory = (name: string) => KeyedStore