from .coordinator import GoogleWeatherConfigEntry as GoogleWeatherConfigEntry, GoogleWeatherCurrentConditionsCoordinator as GoogleWeatherCurrentConditionsCoordinator, GoogleWeatherDailyForecastCoordinator as GoogleWeatherDailyForecastCoordinator, GoogleWeatherHourlyForecastCoordinator as GoogleWeatherHourlyForecastCoordinator
from .entity import GoogleWeatherBaseEntity as GoogleWeatherBaseEntity
from _typeshed import Incomplete
from google_weather_api import WeatherCondition
from homeassistant.components.weather import ATTR_CONDITION_CLEAR_NIGHT as ATTR_CONDITION_CLEAR_NIGHT, ATTR_CONDITION_CLOUDY as ATTR_CONDITION_CLOUDY, ATTR_CONDITION_HAIL as ATTR_CONDITION_HAIL, ATTR_CONDITION_LIGHTNING_RAINY as ATTR_CONDITION_LIGHTNING_RAINY, ATTR_CONDITION_PARTLYCLOUDY as ATTR_CONDITION_PARTLYCLOUDY, ATTR_CONDITION_POURING as ATTR_CONDITION_POURING, ATTR_CONDITION_RAINY as ATTR_CONDITION_RAINY, ATTR_CONDITION_SNOWY as ATTR_CONDITION_SNOWY, ATTR_CONDITION_SNOWY_RAINY as ATTR_CONDITION_SNOWY_RAINY, ATTR_CONDITION_SUNNY as ATTR_CONDITION_SUNNY, ATTR_CONDITION_WINDY as ATTR_CONDITION_WINDY, ATTR_FORECAST_CLOUD_COVERAGE as ATTR_FORECAST_CLOUD_COVERAGE, ATTR_FORECAST_CONDITION as ATTR_FORECAST_CONDITION, ATTR_FORECAST_HUMIDITY as ATTR_FORECAST_HUMIDITY, ATTR_FORECAST_IS_DAYTIME as ATTR_FORECAST_IS_DAYTIME, ATTR_FORECAST_NATIVE_APPARENT_TEMP as ATTR_FORECAST_NATIVE_APPARENT_TEMP, ATTR_FORECAST_NATIVE_DEW_POINT as ATTR_FORECAST_NATIVE_DEW_POINT, ATTR_FORECAST_NATIVE_PRECIPITATION as ATTR_FORECAST_NATIVE_PRECIPITATION, ATTR_FORECAST_NATIVE_PRESSURE as ATTR_FORECAST_NATIVE_PRESSURE, ATTR_FORECAST_NATIVE_TEMP as ATTR_FORECAST_NATIVE_TEMP, ATTR_FORECAST_NATIVE_TEMP_LOW as ATTR_FORECAST_NATIVE_TEMP_LOW, ATTR_FORECAST_NATIVE_WIND_GUST_SPEED as ATTR_FORECAST_NATIVE_WIND_GUST_SPEED, ATTR_FORECAST_NATIVE_WIND_SPEED as ATTR_FORECAST_NATIVE_WIND_SPEED, ATTR_FORECAST_PRECIPITATION_PROBABILITY as ATTR_FORECAST_PRECIPITATION_PROBABILITY, ATTR_FORECAST_TIME as ATTR_FORECAST_TIME, ATTR_FORECAST_UV_INDEX as ATTR_FORECAST_UV_INDEX, ATTR_FORECAST_WIND_BEARING as ATTR_FORECAST_WIND_BEARING, CoordinatorWeatherEntity as CoordinatorWeatherEntity, Forecast as Forecast, WeatherEntityFeature as WeatherEntityFeature
from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
from homeassistant.const import UnitOfLength as UnitOfLength, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback

PARALLEL_UPDATES: int
_CONDITION_MAP: dict[WeatherCondition.Type, str | None]

def _get_condition(api_condition: WeatherCondition.Type, is_daytime: bool) -> str | None: ...
async def async_setup_entry(hass: HomeAssistant, entry: GoogleWeatherConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...

class GoogleWeatherEntity(CoordinatorWeatherEntity[GoogleWeatherCurrentConditionsCoordinator, GoogleWeatherDailyForecastCoordinator, GoogleWeatherHourlyForecastCoordinator, GoogleWeatherDailyForecastCoordinator], GoogleWeatherBaseEntity):
    _attr_attribution: str
    _attr_native_temperature_unit: Incomplete
    _attr_native_pressure_unit: Incomplete
    _attr_native_wind_speed_unit: Incomplete
    _attr_native_visibility_unit: Incomplete
    _attr_native_precipitation_unit: Incomplete
    _attr_name: Incomplete
    _attr_supported_features: Incomplete
    def __init__(self, entry: GoogleWeatherConfigEntry, subentry: ConfigSubentry) -> None: ...
    @property
    def condition(self) -> str | None: ...
    @property
    def native_temperature(self) -> float: ...
    @property
    def native_apparent_temperature(self) -> float: ...
    @property
    def native_dew_point(self) -> float: ...
    @property
    def humidity(self) -> int: ...
    @property
    def uv_index(self) -> float: ...
    @property
    def native_pressure(self) -> float: ...
    @property
    def native_wind_gust_speed(self) -> float: ...
    @property
    def native_wind_speed(self) -> float: ...
    @property
    def wind_bearing(self) -> int: ...
    @property
    def native_visibility(self) -> float: ...
    @property
    def cloud_coverage(self) -> float: ...
    @callback
    def _async_forecast_daily(self) -> list[Forecast] | None: ...
    @callback
    def _async_forecast_hourly(self) -> list[Forecast] | None: ...
    @callback
    def _async_forecast_twice_daily(self) -> list[Forecast] | None: ...
