Thats exactly what this component library does: https://daisyui.com/components/button
If you want to do in "raw" tailwind (i.e. without this component library), you can use layers to create your own component classes, e.g.:
@layer components {
.btn {
@apply inline-block px-4 py-3 text-sm font-semibold text-center uppercase transition duration-200 ease-in-out rounded-md cursor-pointer;
}
.btn-primary {
@apply text-white bg-indigo-500 hover:bg-indigo-600;
}
}