/**
 * Phase 4 Manifest Writer
 *
 * Walks the phase4/ directory tree, computes SHA-256 checksums for every file,
 * and writes phase4-manifest.json with full artifact inventory.
 *
 * Follows the atomic write + checksum pattern from
 * src/pipeline/phase3/manifest-writer.ts, adapted for Phase 4 fields:
 *   - schema_version: '4.0.0'
 *   - erp_system, database_engine, api_only, implementation_language
 *   - success (derived from stage results)
 *
 * Exports:
 *   - computeChecksum()     — pure SHA-256 hex digest helper
 *   - writePhase4Manifest() — builds and atomically writes the manifest
 */
import type { ImplementationLanguage, Phase4StageOutput, Phase4Manifest } from './types.js';
/**
 * Compute a SHA-256 hex digest of the given string content.
 *
 * @param content - UTF-8 string to hash
 * @returns Lowercase hex SHA-256 checksum
 */
export declare function computeChecksum(content: string): string;
/**
 * Build and atomically write the Phase 4 manifest to `phase4-manifest.json`.
 *
 * Walks the Phase 4 output directory, checksums every artifact, and produces
 * a manifest with full provenance (trace id, implementation language, ERP
 * system, database engine, api-only flag, stage results, timing, and
 * per-file SHA-256 hashes).
 *
 * @param phase4Dir      - Root output directory for Phase 4 artifacts
 * @param traceId        - Trace identifier linking pipeline phases
 * @param language       - The resolved implementation language
 * @param erpSystem      - The resolved ERP system identifier
 * @param databaseEngine - The resolved database engine identifier, or null
 * @param apiOnly        - Whether the ERP system is accessed via API only
 * @param stageResults   - Outputs from each completed Phase 4 stage
 * @param totalTiming    - Wall-clock milliseconds for the entire Phase 4 run
 * @returns The fully-populated manifest object
 */
export declare function writePhase4Manifest(phase4Dir: string, traceId: string, language: ImplementationLanguage, erpSystem: string, databaseEngine: string | null, apiOnly: boolean, stageResults: Phase4StageOutput[], totalTiming: number): Phase4Manifest;
//# sourceMappingURL=manifest-writer.d.ts.map