import { type ReadManyOptions, type UpdateManyOptions } from '@x12i/xronox-store'; import type { ActivixMemoryCollectionDef } from './ActivixMemoryStore.js'; export interface ActivixPlaygroundStoreOptions { /** Root directory for `report.md`, `activities.jsonl`, `collections/`, and numbered artifacts. */ outputDir: string; /** Run label in the Markdown report header. */ runId?: string; collections: ActivixMemoryCollectionDef[]; } export interface PlaygroundTraceLine { at: number; runId?: string; collection: string; op: 'insert' | 'update' | 'patch'; kind: string; activityKey: string; primaryKey: string; recordPath: string; requestArtifact?: string; responseArtifact?: string; } /** Safe single path segment for record JSON and artifact names (Windows-safe). */ export declare function safePlaygroundPathSegment(s: string): string; declare class PlaygroundCollection> { private readonly parent; private readonly docs; private readonly pk; private readonly primaryKeyPrefix; private readonly visibility; private readonly collectionName; constructor(def: ActivixMemoryCollectionDef, parent: ActivixPlaygroundStore); clear(): void; loadDocument(pk: string, doc: T): void; allPrimaryKeys(): string[]; insert(doc: Partial): Promise; update(keyValue: string, doc: Partial): Promise; patchByKey(keyValue: string, fields: Partial): Promise; getByKey(keyValue: string): Promise; readMany(filter: Record, options?: ReadManyOptions): Promise; updateMany(filter: Record, set: Partial, options?: UpdateManyOptions): Promise; } /** * Local playground store: append-only activity trace, `report.md`, per-record JSON under `collections/`, * and optional `NN--request|response.json` when payloads match the work-activity artifact shape. */ export declare class ActivixPlaygroundStore { readonly outputDir: string; readonly runId: string | undefined; private readonly collections; private readonly defs; private ready; private readonly trace; private dispatchSeq; private readonly requestSeqByActivityKey; constructor(options: ActivixPlaygroundStoreOptions); private rel; private recordFilePath; private activitiesJsonlPath; private metaPath; init(): Promise; isConnected(): boolean; /** Markdown timeline (playground reporter contract: human-readable activity log). */ getMarkdown(): string; /** * Writes `report.md` under the playground root (or `targetPath` if you pass a full file path). * @returns Absolute path written */ writeReport(targetPath?: string): Promise; onMutation(collectionName: string, op: 'insert' | 'update' | 'patch', pk: string, doc: Record): Promise; close(): Promise; collection>(name: string): PlaygroundCollection; } export {}; //# sourceMappingURL=ActivixPlaygroundStore.d.ts.map