from homeassistant.components.sensor import PLATFORM_SCHEMA as PLATFORM_SCHEMA, SensorEntity as SensorEntity
from homeassistant.const import CONF_RESOURCES as CONF_RESOURCES, CONF_TYPE as CONF_TYPE, DATA_GIBIBYTES as DATA_GIBIBYTES, DATA_MEBIBYTES as DATA_MEBIBYTES, DATA_RATE_MEGABYTES_PER_SECOND as DATA_RATE_MEGABYTES_PER_SECOND, PERCENTAGE as PERCENTAGE, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, TEMP_CELSIUS as TEMP_CELSIUS
from homeassistant.util import slugify as slugify
from typing import Any, Optional

_LOGGER: Any
CONF_ARG: str
CPU_ICON: str
SENSOR_TYPES: Any

def check_required_arg(value: Any): ...

IO_COUNTER: Any
IF_ADDRS_FAMILY: Any
CPU_SENSOR_PREFIXES: Any

def setup_platform(hass: Any, config: Any, add_entities: Any, discovery_info: Optional[Any] = ...) -> None: ...

class SystemMonitorSensor(SensorEntity):
    _name: Any = ...
    _unique_id: Any = ...
    argument: Any = ...
    type: Any = ...
    _state: Any = ...
    _unit_of_measurement: Any = ...
    _available: bool = ...
    _last_value: Any = ...
    _last_update_time: Any = ...
    def __init__(self, sensor_type: Any, argument: str = ...) -> None: ...
    @property
    def name(self): ...
    @property
    def unique_id(self): ...
    @property
    def device_class(self): ...
    @property
    def icon(self): ...
    @property
    def state(self): ...
    @property
    def unit_of_measurement(self): ...
    @property
    def available(self): ...
    def update(self) -> None: ...
    @staticmethod
    def read_cpu_temperature(): ...
