interface UseEntityLockOptions {
    enabled?: boolean;
    onLockFailed?: (lockedBy: string) => void;
    onLockLost?: () => void;
    /** Inactivity timeout in ms before releasing the lock. Defaults to 600000. */
    inactivityTimeout?: number;
}
export declare function useEntityLock(entityName: string, entityId: number | undefined, options?: UseEntityLockOptions): {
    acquireLock: () => Promise<boolean>;
    releaseLock: () => Promise<void>;
    signalActivity: () => void;
    isLocked: boolean;
    lockStatus: "error" | "idle" | "locked" | "failed";
    lockedBy: string | null;
};
export {};
