interface MeshLockAcquireOptions { readonly ttlMs?: number; readonly waitMs?: number; readonly retryMs?: number; readonly metadata?: Record; } interface MeshLockRunOptions extends MeshLockAcquireOptions { readonly autoRenew?: boolean; readonly renewEveryMs?: number; } interface MeshLockRecord { readonly key: string; readonly ownerId: string; readonly acquiredAt: string; readonly expiresAt: string; readonly metadata?: Record; } interface MeshLockLease { readonly key: string; readonly ownerId: string; readonly acquiredAt: string; readonly expiresAt: string; renew(ttlMs?: number): Promise; release(): Promise; } interface MeshLockBackend { readonly kind: string; acquire(key: string, ownerId: string, options?: MeshLockAcquireOptions): Promise; renew(key: string, ownerId: string, ttlMs: number): Promise; release(key: string, ownerId: string): Promise; list(): Promise; } export type { MeshLockAcquireOptions as M, MeshLockBackend as a, MeshLockLease as b, MeshLockRecord as c, MeshLockRunOptions as d };