import type { Span } from '@opentelemetry/api'; import { type ArvoEvent } from 'arvo-core'; import type { SyncEventResource } from '../../SyncEventResource'; import type { AcquiredLockStatusType } from '../../SyncEventResource/types'; import { MachineMemoryMetadata } from '../../MachineMemory/interface'; /** * Acquires an exclusive lock for event processing with validation. * * Attempts to obtain a lock on the event's subject to ensure exclusive access during * processing. Throws if lock cannot be acquired, preventing concurrent modifications. * @throws {TransactionViolation} When lock cannot be acquired */ export declare const acquireLockWithValidation: (syncEventResource: SyncEventResource>, event: ArvoEvent, metadata: MachineMemoryMetadata, span: Span) => Promise;