fix: drop redundant redeclarations in pybind11.h

These functions are already declared in function_record_pyobject.h,
attr.h, and type_caster_base.h; GCC 13 -Wredundant-decls rejects the
repeats.

Assisted-by: ClaudeCode:claude-fable-5
diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h
index 7126cb5..434d6f8 100644
--- a/include/pybind11/pybind11.h
+++ b/include/pybind11/pybind11.h
@@ -569,13 +569,6 @@
 
 PYBIND11_NAMESPACE_BEGIN(detail)
 
-PYBIND11_NAMESPACE_BEGIN(function_record_PyTypeObject_methods)
-
-// This implementation needs the definition of `class cpp_function`.
-void tp_dealloc_impl(PyObject *self);
-
-PYBIND11_NAMESPACE_END(function_record_PyTypeObject_methods)
-
 template <>
 struct handle_type_name<cpp_function> {
     static constexpr auto name = const_name("collections.abc.Callable");
@@ -2148,13 +2141,6 @@
 
 PYBIND11_NAMESPACE_BEGIN(detail)
 
-void keep_alive_impl(handle nurse, handle patient);
-
-void keep_alive_impl(size_t Nurse, size_t Patient, function_call &call, handle ret);
-
-std::pair<decltype(internals::registered_types_py)::iterator, bool>
-all_type_info_get_cache(PyTypeObject *type);
-
 /* There are a large number of apparently unused template arguments because
  * each combination requires a separate py::class_ registration.
  */