import type { ResolvedProjectArtifacts } from "./project-resolver.js"; export type ProjectArtifactWriteMode = "write" | "check"; export type ProjectArtifactWriteStatus = "written" | "unchanged" | "missing" | "stale"; export interface WriteProjectArtifactsInput { projectRoot: string; artifacts: ResolvedProjectArtifacts; mode?: ProjectArtifactWriteMode; } export interface ProjectArtifactWriteEntry { /** Path relative to `/.voyant`. */ path: string; status: ProjectArtifactWriteStatus; } export interface ProjectArtifactWriteResult { mode: ProjectArtifactWriteMode; outputRoot: string; /** Whether every artifact matched after the requested operation. */ ok: boolean; files: readonly ProjectArtifactWriteEntry[]; } /** * Materialize resolver output beneath `/.voyant`, or check it for staleness. * Artifact paths are treated as portable paths and cannot be absolute, escape the output * directory, alias another artifact, or traverse symbolic links. */ export declare function writeProjectArtifacts(input: WriteProjectArtifactsInput): Promise;