import type { ClaimRecord } from "../domain/lease.js"; import type { ProcessState } from "../domain/decision.js"; export interface Clock { now(): number; } export interface ProcessProbe { probe(pid: number): Promise; } export interface PathCanonicalizer { canonicalize(inputPath: string, cwd: string): Promise; } export type ClaimSnapshot = { readonly kind: "missing"; readonly claimId: string; } | { readonly kind: "valid"; readonly claimId: string; readonly observedAt: number; readonly record: ClaimRecord; } | { readonly kind: "corrupt"; readonly claimId: string; readonly observedAt: number; }; export interface ClaimTransaction { save(record: ClaimRecord): Promise; remove(): Promise; } export interface ClaimStore { transact(canonicalPath: string, operation: (snapshot: ClaimSnapshot, transaction: ClaimTransaction) => Promise): Promise; list(): Promise; } //# sourceMappingURL=ports.d.ts.map