export declare const OWNED_PROCESS_SCHEMA_VERSION: "neurcode.owned-process.v1"; export interface OwnedProcessIdentity { schemaVersion: typeof OWNED_PROCESS_SCHEMA_VERSION; jobId: string; pid: number; processStartFingerprint: string | null; processGroupId: number | null; createdAt: string; } export type OwnedProcessState = 'alive_same' | 'dead' | 'reused' | 'unknown'; export declare function processExists(pid: number | null | undefined): boolean; export declare function processStartFingerprint(pid: number): string | null; export declare function processGroupId(pid: number): number | null; export declare function inspectOwnedProcess(pid: number | null | undefined, expectedStartFingerprint: string | null | undefined): OwnedProcessState; export declare function createOwnedProcessIdentity(input?: { jobId?: string; pid?: number; processGroupId?: number | null; }): OwnedProcessIdentity; export declare function readOwnedProcessIdentity(path: string): OwnedProcessIdentity | null; /** * Reclaim only when ownership is positively abandoned. Malformed metadata remains locked: * inability to prove ownership is not permission to delete another worker's lock. */ export declare function reclaimAbandonedOwnedFile(path: string): boolean; export declare function writeOwnedProcessIdentity(descriptor: number, owner: OwnedProcessIdentity): void; /** * Publish complete lock metadata atomically. The fully written temporary inode is hard-linked * into the lock path, so readers never observe the partial-write window created by open+write. */ export declare function acquireOwnedFile(path: string, owner: OwnedProcessIdentity): boolean; export declare function releaseOwnedFile(path: string, owner: OwnedProcessIdentity): boolean; //# sourceMappingURL=process-identity.d.ts.map