import { type ArvoEvent, ViolationError } from 'arvo-core';
/**
 * Enumeration of transaction violation causes for state management operations.
 */
export declare const TransactionViolationCause: {
    /** Failed to read from machine memory */
    readonly READ_FAILURE: "READ_MACHINE_MEMORY_FAILURE";
    /** Failed to acquire lock on machine memory */
    readonly LOCK_FAILURE: "LOCK_MACHINE_MEMORY_FAILURE";
    /** Failed to write to machine memory */
    readonly WRITE_FAILURE: "WRITE_MACHINE_MEMORY_FAILURE";
    /** Lock acquisition was denied */
    readonly LOCK_UNACQUIRED: "LOCK_UNACQUIRED";
    /** Event subject format is invalid */
    readonly INVALID_SUBJECT: "INVALID_SUBJECT";
};
export type TransactionViolationCauseType = (typeof TransactionViolationCause)[keyof typeof TransactionViolationCause];
/**
 * Error representing failures in orchestrator state transaction operations.
 *
 * Indicates issues with lock acquisition, state persistence, or memory access
 * during orchestration execution. These errors typically trigger retries.
 */
export declare class TransactionViolation extends ViolationError<'OrchestratorTransaction'> {
    /** Specific cause of the transaction failure */
    readonly cause: TransactionViolationCauseType;
    constructor(param: {
        cause: TransactionViolationCauseType;
        message: string;
        initiatingEvent: ArvoEvent;
    });
}
/**
 * Type guard checking if an error is a TransactionViolation.
 *
 * @param error - Error to check
 * @param cause - Optional specific cause to match
 * @returns True if error is TransactionViolation with optional matching cause
 */
export declare const isTransactionViolationError: (error: unknown, cause?: TransactionViolationCauseType) => boolean;
