import { type SessionRenderFileRole, type SessionRenderPlan } from "./session-render.js"; export type SessionApplyAction = "create" | "update" | "delete" | "unchanged" | "conflict"; export interface SessionApplyFileResult { path: string; relativePath: string; role: SessionRenderFileRole; action: SessionApplyAction; changed: boolean; previousSha256: string | null; newSha256: string; reason: string | null; } export interface SessionDriftEntry { path: string; relativePath: string; expectedSha256: string; actualSha256: string | null; reason: "missing" | "hash_mismatch"; } export interface SessionDriftCheck { checked: boolean; clean: boolean; manifestPath: string; checkedAt: string; missing: SessionDriftEntry[]; drifted: SessionDriftEntry[]; } export interface SessionApplyResult { dryRun: boolean; applied: boolean; targetHome: string; manifestPath: string; snapshotPath: string | null; env: Record; files: SessionApplyFileResult[]; conflicts: SessionApplyFileResult[]; drift: SessionDriftCheck; } export interface SessionApplyOptions { dryRun?: boolean; force?: boolean; } export declare class SessionApplyError extends Error { constructor(message: string); } export declare function applySessionRender(plan: SessionRenderPlan, options?: SessionApplyOptions): SessionApplyResult; export declare function checkSessionRenderDrift(targetHome: string, manifestPath?: string): SessionDriftCheck; //# sourceMappingURL=session-apply.d.ts.map