docs: replace doxygen with sami and add @return types