import type { PromptHistoryEntry, PromptLabel, PromptStore, PromptVersion } from '../types/prompts.js'; /** Options for the in-memory prompt store. */ export interface MemoryPromptStoreOptions { /** History entries kept per prompt before the oldest are dropped. Defaults to 1,000. */ maxHistory?: number; } /** * Prompt versions, labels, and history in process memory. * * The registry's default, and enough for tests and for a single process that defines its prompts in * code. Every read returns a copy, so a caller cannot change a stored version by mutating what it got. */ export declare class MemoryPromptStore implements PromptStore { private readonly versions; private readonly labels; private readonly history; private readonly maxHistory; constructor(options?: MemoryPromptStoreOptions); /** Stores a version, unless one with the same content version exists. */ saveVersion(version: PromptVersion): void; /** Reads a version. */ getVersion(name: string, version: string): PromptVersion | undefined; /** Versions of a prompt, newest first. Defaults to 50. */ listVersions(name: string, options?: { limit?: number; }): PromptVersion[]; /** Reads a label. */ getLabel(name: string, label: string): PromptLabel | undefined; /** Every label of a prompt, sorted by name. */ listLabels(name: string): PromptLabel[]; /** Writes a label when it still points at `expected`. */ setLabel(label: PromptLabel, expected?: string | null): boolean; /** Removes a label. Returns true when it existed. */ deleteLabel(name: string, label: string): boolean; /** Records a change. */ appendHistory(entry: PromptHistoryEntry): void; /** A prompt's history, newest first, optionally for one label. Defaults to 100. */ listHistory(name: string, options?: { label?: string; limit?: number; }): PromptHistoryEntry[]; /** Every prompt name, sorted. */ listNames(): string[]; }