/** * InMemoryTopicStore — reference in-memory implementation of * {@link TopicStore}. * * Mirrors the write-time CAS contract of the disk store: every * `updateTopic` compares the supplied `ownerVersion` against the persisted * copy and rejects with `StaleTopicError` on mismatch. Convention #17: * cross-tenant access throws `TenantIsolationError` with no fallback. * * NZ-TOPIC-01 renamed this from `InMemoryThreadStore` (moved from * `store/thread/memory.ts`) and re-exported the old name as an identity * binding. NZ-TOPIC-05 removed that re-export, once 28.0.0 had carried the * deprecation to the registry — the class is reachable only as * `InMemoryTopicStore` now. */ import type { TenantId } from '../../types/ids/index.js'; import type { ProjectId, TopicId } from '../../types/session/ids.js'; import type { Topic } from '../../types/topic/entity.js'; import type { CreateTopicParams, TopicStore } from '../../types/topic/store.js'; export declare class InMemoryTopicStore implements TopicStore { private readonly topics; /** Hydrate existing Topic snapshots without creating new topic identities. */ constructor(topics?: readonly Topic[]); createTopic(params: CreateTopicParams, tenantId: TenantId): Promise; getTopic(topicId: TopicId, tenantId: TenantId): Promise; updateTopic(topic: Topic, tenantId: TenantId): Promise; deleteTopic(topicId: TopicId, tenantId: TenantId): Promise; listTopics(projectId: ProjectId, tenantId: TenantId): Promise; private assertTenant; } //# sourceMappingURL=memory.d.ts.map