export declare const PROCESS_INCARNATION_SCHEMA = "mono-agent.process-incarnation.v1"; /** Stable OS evidence that distinguishes one use of a PID from every later reuse. */ export interface ProcessIncarnation { readonly schema: typeof PROCESS_INCARNATION_SCHEMA; readonly bootSessionId: string; readonly processStartId: string; } export type SameProcessIncarnation = (pid: number, expected: ProcessIncarnation) => boolean | Promise; /** Capture the current process's boot-session and process-birth identity. */ export declare function currentProcessIncarnation(): Promise; /** * Read one PID incarnation without mistaking `kill(pid, 0)` for owner identity. * Linux exposes a boot UUID and per-process start tick directly. Darwin/BSD use * the kernel boot time plus `ps`'s stable long-start field. Windows uses native * process/OS creation timestamps through PowerShell. */ export declare function readProcessIncarnation(pid: number): Promise; /** True only when PID, boot session, and process birth all still identify the owner. */ export declare function isSameProcessIncarnation(pid: number, expected: ProcessIncarnation): Promise; export declare function processIncarnationsEqual(left: ProcessIncarnation, right: ProcessIncarnation): boolean; /** Fail-closed parser for persisted lock-owner data. */ export declare function processIncarnationFromJson(value: unknown): ProcessIncarnation | undefined; //# sourceMappingURL=process-incarnation.d.ts.map