import type { SpecVersionSnapshot, SpecVersionSnapshotStore, CreateVersionSnapshotInput } from '../../types/index.js';
/** Build the storage directory for a spec's versions. */
export declare function getVersionsDir(dataDir: string, specId: string): string;
/** Load the version store for a spec. Returns empty store if not found. */
export declare function loadVersionStore(dataDir: string, specId: string): Promise<SpecVersionSnapshotStore>;
/** Validate that a tag matches semantic versioning (vMAJOR.MINOR.PATCH). */
export declare function isValidVersionTag(tag: string): boolean;
/** Create and persist a new version snapshot. Returns the created snapshot. */
export declare function createVersion(dataDir: string, input: CreateVersionSnapshotInput): Promise<SpecVersionSnapshot>;
/** Retrieve a specific snapshot by tag. Returns null if not found. */
export declare function getVersion(dataDir: string, specId: string, tag: string): Promise<SpecVersionSnapshot | null>;
/** List all snapshots for a spec, ordered from oldest to newest. */
export declare function listVersions(dataDir: string, specId: string): Promise<SpecVersionSnapshot[]>;
/** Get the latest version tag for a spec. Returns null if no versions exist. */
export declare function getLatestVersionTag(dataDir: string, specId: string): Promise<string | null>;
/** Suggest the next patch version given the current latest tag. */
export declare function suggestNextTag(latestTag: string | null): string;
//# sourceMappingURL=version-store.d.ts.map