import { type LinuxProcPidProbeResult } from "./linux-proc"; declare const MEMORY_GUARD_CLAIM_RESOURCES: readonly ["writer", "tty"]; type MemoryGuardClaimResource = (typeof MEMORY_GUARD_CLAIM_RESOURCES)[number]; export interface MemoryGuardClaimOwner { sessionId: string; generation: string; runId: string; childToken: string; pid: number; processStartTime: string; ttyDevice: string; } export interface MemoryGuardClaimsLease { writerEpoch: number; ttyEpoch: number; owner: MemoryGuardClaimOwner; claimStorePath: string; } export declare function isMemoryGuardClaimsLease(value: unknown): value is MemoryGuardClaimsLease; export declare function isMemoryGuardClaimsLeaseForStateDir(value: unknown, stateDir: string): value is MemoryGuardClaimsLease; export type MemoryGuardClaimsReleasedProof = MemoryGuardClaimsLease; interface PersistedMemoryGuardClaimRow { resource: MemoryGuardClaimResource; epoch: number; session_id: string; generation: string; run_id: string; child_token: string; pid: number; process_start_time: string; tty_device: string; acquired_at: string; } export interface MemoryGuardOwnerClaimsDeps { probePid(pid: number): Promise; now(): string; } export declare function memoryGuardClaimsDatabaseFile(stateDir: string, sessionId: string): string; export declare function acquireMemoryGuardClaims(stateDir: string, owner: MemoryGuardClaimOwner, deps?: MemoryGuardOwnerClaimsDeps): Promise; export declare function releaseMemoryGuardClaims(stateDir: string, claim: MemoryGuardClaimsLease): Promise; export declare function probeMemoryGuardClaimsReleased(stateDir: string, owner: MemoryGuardClaimOwner, deps?: MemoryGuardOwnerClaimsDeps): Promise; export interface PersistedMemoryGuardClaimsSnapshot { epoch: number; claims: PersistedMemoryGuardClaimRow[]; } export declare function readMemoryGuardClaimsForTest(stateDir: string, sessionId: string): Promise; export {};