export declare const VALID_ARTIFACT_KINDS: Set; export interface ManifestCreateEntry { op: 'create'; kind: string; title: string; path: string; } export type ManifestBaseVersion = number | 'current'; export interface ManifestUpdateEntry { op: 'update'; artifact_id: number; base_version: ManifestBaseVersion; path: string; } export interface ArtifactEdit { find: string; replace: string; replace_all?: boolean; } export interface ManifestEditEntry { op: 'edit'; artifact_id: number; base_version: ManifestBaseVersion; edits: ArtifactEdit[]; } export interface ManifestRewriteFromVersionEntry { op: 'rewrite-from-version'; artifact_id: number; base_version: ManifestBaseVersion; source_version: number; path: string; } export interface ManifestRestoreEntry { op: 'restore'; artifact_id: number; base_version: ManifestBaseVersion; restore_version: number; } export type ManifestEntry = ManifestCreateEntry | ManifestUpdateEntry | ManifestEditEntry | ManifestRewriteFromVersionEntry | ManifestRestoreEntry; export interface ArtifactManifest { documents: ManifestEntry[]; } export interface ManifestValidationError { message: string; entry?: number; } export declare function validateManifest(raw: unknown, outputDir: string): { manifest: ArtifactManifest; errors: ManifestValidationError[]; } | { manifest: null; errors: ManifestValidationError[]; }; export declare function readManifestFile(outputDir: string): { raw: unknown; error?: string; }; export declare function readArtifactFile(outputDir: string, filePath: string): { body: string; error?: string; }; //# sourceMappingURL=manifest.d.ts.map