import { IFileSystem } from '../../domain/interfaces'; export declare const SCAFFOLD_MANIFEST_RELATIVE_PATH = ".evolith/scaffold-manifest.json"; export declare const SCAFFOLD_MANIFEST_SCHEMA_VERSION: 1; export interface ScaffoldManifestEntry { sha256: string; coreVersion: string; } export interface ScaffoldManifest { schemaVersion: typeof SCAFFOLD_MANIFEST_SCHEMA_VERSION; coreVersion: string; generatedAt: string; files: Record; } export interface ScaffoldedFile { relativePath: string; content: string; } export declare class ScaffoldManifestError extends Error { readonly manifestPath: string; constructor(manifestPath: string, detail: string); } export declare function sha256Of(content: string): string; export declare function scaffoldManifestPath(satellitePath: string): string; export declare function toManifestKey(satellitePath: string, absolutePath: string): string; export declare function readScaffoldManifest(fs: IFileSystem, satellitePath: string): Promise; export declare function parseScaffoldManifest(raw: unknown, manifestPath?: string): ScaffoldManifest; export declare function writeScaffoldManifest(fs: IFileSystem, satellitePath: string, manifest: ScaffoldManifest): Promise; export declare function recordScaffoldedFiles(fs: IFileSystem, satellitePath: string, coreVersion: string, files: readonly ScaffoldedFile[], now?: () => Date): Promise;