import type { InMemoryObjectBytes } from './blob'; import type { Clock, CoreStores, MutableClock } from '../stores'; export { createMutableClock, IN_MEMORY_CLOCK_EPOCH } from './clock'; export { InMemoryMailboxStore } from './mailbox'; export { InMemoryBoardStore } from './board'; export { InMemoryTruthStore } from './truth'; export { InMemoryPresenceStore } from './presence'; export { InMemoryObjectStore } from './blob'; export { InMemoryQuotaStore } from './quota'; export { InMemorySkillPackStore } from './skill-pack'; export { InMemoryDeviceAssertionReplayAuthority } from './device-assertion-replay'; export interface InMemoryCoreOptions { readonly objectBytes: InMemoryObjectBytes; /** Defaults to a fresh {@link createMutableClock}, so TTL behavior is deterministic. */ readonly clock?: Clock; } export interface InMemoryCoreComposition { readonly stores: CoreStores; /** The clock the stores read. Mutable only when the caller did not inject its own. */ readonly clock: Clock; } export declare function createInMemoryCoreStores(options: InMemoryCoreOptions): InMemoryCoreComposition; /** Convenience for tests that need to move time: returns the composition and its mutable clock. */ export declare function createInMemoryCoreCompositionWithClock(objectBytes: InMemoryObjectBytes): { readonly stores: CoreStores; readonly clock: MutableClock; }; export { InMemoryStorageLedger } from './storage-ledger'; export type { InMemoryObjectBytes } from './blob';