diff --git a/homeassistant/components/bluetooth/__init__.py b/homeassistant/components/bluetooth/__init__.py
index 33b2da7523e09bced3f964dd21a0c6cab470e77d..5edc00532030ef75c8b1f8ebb373fa5da9044844 100644
--- a/homeassistant/components/bluetooth/__init__.py
+++ b/homeassistant/components/bluetooth/__init__.py
@@ -43,7 +43,7 @@ SOURCE_LOCAL: Final = "local"
 
 
 @dataclass
-class BluetoothServiceInfoBleak(BluetoothServiceInfo):  # type: ignore[misc]
+class BluetoothServiceInfoBleak(BluetoothServiceInfo):
     """BluetoothServiceInfo with bleak data.
 
     Integrations may need BLEDevice and AdvertisementData
@@ -58,7 +58,7 @@ class BluetoothServiceInfoBleak(BluetoothServiceInfo):  # type: ignore[misc]
     @classmethod
     def from_advertisement(
         cls, device: BLEDevice, advertisement_data: AdvertisementData, source: str
-    ) -> BluetoothServiceInfo:
+    ) -> BluetoothServiceInfoBleak:
         """Create a BluetoothServiceInfoBleak from an advertisement."""
         return cls(
             name=advertisement_data.local_name or device.name or device.address,
@@ -377,7 +377,7 @@ class BluetoothManager:
         )
 
     @hass_callback
-    def async_discovered_service_info(self) -> list[BluetoothServiceInfo]:
+    def async_discovered_service_info(self) -> list[BluetoothServiceInfoBleak]:
         """Return if the address is present."""
         if models.HA_BLEAK_SCANNER:
             discovered = models.HA_BLEAK_SCANNER.discovered_devices
diff --git a/homeassistant/components/bluetooth_tracker/device_tracker.py b/homeassistant/components/bluetooth_tracker/device_tracker.py
index 5cf173d356e9d90d5218ba59a56a892c73c2f7da..b62333c0489a2f60a423cd5ad12598cc73789cd4 100644
--- a/homeassistant/components/bluetooth_tracker/device_tracker.py
+++ b/homeassistant/components/bluetooth_tracker/device_tracker.py
@@ -61,7 +61,7 @@ def is_bluetooth_device(device: Device) -> bool:
 def discover_devices(device_id: int) -> list[tuple[str, str]]:
     """Discover Bluetooth devices."""
     try:
-        result = bluetooth.discover_devices(  # type: ignore[attr-defined]
+        result = bluetooth.discover_devices(
             duration=8,
             lookup_names=True,
             flush_cache=True,
@@ -124,7 +124,7 @@ async def get_tracking_devices(hass: HomeAssistant) -> tuple[set[str], set[str]]
 def lookup_name(mac: str) -> str | None:
     """Lookup a Bluetooth device name."""
     _LOGGER.debug("Scanning %s", mac)
-    return bluetooth.lookup_name(mac, timeout=5)  # type: ignore[attr-defined,no-any-return]
+    return bluetooth.lookup_name(mac, timeout=5)  # type: ignore[no-any-return]
 
 
 async def async_setup_scanner(
@@ -180,7 +180,7 @@ async def async_setup_scanner(
             if tasks:
                 await asyncio.wait(tasks)
 
-        except bluetooth.BluetoothError:  # type: ignore[attr-defined]
+        except bluetooth.BluetoothError:
             _LOGGER.exception("Error looking up Bluetooth device")
 
     async def update_bluetooth(now: datetime | None = None) -> None:
diff --git a/homeassistant/helpers/service_info/__init__.py b/homeassistant/helpers/service_info/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b907fd9bbd125d832eb9c10ca6c75f1757551686
--- /dev/null
+++ b/homeassistant/helpers/service_info/__init__.py
@@ -0,0 +1 @@
+"""Service info helpers."""
diff --git a/homeassistant/helpers/service_info/bluetooth.py b/homeassistant/helpers/service_info/bluetooth.py
index d4d74a45be45d92b9d96ab2c9b8d2644576d0755..968d1dde95ff20730c0eba4c252a4b2d88cf85f2 100644
--- a/homeassistant/helpers/service_info/bluetooth.py
+++ b/homeassistant/helpers/service_info/bluetooth.py
@@ -1,4 +1,4 @@
 """The bluetooth integration service info."""
-from home_assistant_bluetooth import (  # pylint: disable=unused-import # noqa: F401
-    BluetoothServiceInfo,
-)
+from home_assistant_bluetooth import BluetoothServiceInfo
+
+__all__ = ["BluetoothServiceInfo"]