Declarative programming seems to be achievable through abstraction. So what's the difference between abstraction and declarative programming?
[ My thought ]
I will call the person using the class "server" and the person using the class "client".
I think Declarative programming or Imperative programming is not determined by "server". It depends on how "client" uses it. "client" can construct abstracted functions both declaratively and imperatively. So, I think abstraction is a term used in "server" and Declarative programming or Imperative programming is a term used in "client".
I'm lost because I can't find a good explanation. How should I understand it?