import { type Result } from "./result.js"; type FileSnapshot = { readonly path: string; readonly existed: boolean; readonly before: string | null; readonly installedHash: string; }; type CodexFilesSnapshot = { readonly hooksPath: string; readonly hooksExisted: boolean; readonly configPath: string; readonly configExisted: boolean; }; type PendingInstall = { readonly agents: readonly ("claude" | "codex" | "cursor" | "pi")[]; readonly outcome: "completed" | "warnings" | "instructions"; readonly occurredAt: string; }; type InstallReceipt = { readonly version: 1; readonly shellProfiles: string[]; readonly claudeSettings: FileSnapshot | null; readonly codexFiles: CodexFilesSnapshot | null; readonly gitHooks: FileSnapshot[]; readonly statePaths: string[]; readonly pendingInstall?: PendingInstall; }; declare const installReceipt: { path: () => string; read: () => Promise; recordShellProfile: (path: string) => Promise>; recordClaudeSettings: (snapshot: FileSnapshot) => Promise>; recordCodexFiles: (snapshot: CodexFilesSnapshot) => Promise>; recordGitHook: (snapshot: FileSnapshot) => Promise>; recordPendingInstall: (pendingInstall: PendingInstall) => Promise>; clearPendingInstall: () => Promise>; recordStatePath: (path: string) => Promise>; remove: () => Promise>; }; export { installReceipt };