import { type DaemonOwner } from "./ownership.js"; import { type DaemonPaths } from "./paths.js"; export interface DaemonCliAttestationDeps { readonly readProcFile?: (path: string) => Promise; readonly executeForStdout?: (file: string, args: readonly string[]) => Promise; } export interface ReapStaleDaemonVersionsDeps { readonly platform?: NodeJS.Platform; readonly isAlive?: (pid: number) => boolean; readonly attest?: (pid: number, platform: NodeJS.Platform) => Promise; readonly sendSignal?: (pid: number, signal: NodeJS.Signals) => boolean; readonly waitForExit?: (pid: number, timeoutMs: number) => Promise; readonly removeDir?: (path: string) => Promise; readonly readOwner?: (paths: DaemonPaths) => DaemonOwner | null; readonly log?: (message: string) => void; readonly termGraceMs?: number; readonly killGraceMs?: number; } export type VersionReapStatus = "terminated" | "removed" | "deferred" | "spared"; export interface VersionReapResult { readonly version: string; readonly status: VersionReapStatus; readonly reason: string; } export declare function attestDaemonCliProcess(pid: number, platform: NodeJS.Platform, deps?: DaemonCliAttestationDeps): Promise; export declare function reapStaleDaemonVersions(ownPaths: DaemonPaths, deps?: ReapStaleDaemonVersionsDeps): Promise;