from _typeshed import Incomplete

logger: Incomplete

class Metrics:
    def __init__(self, default_config=None, reporters=None, enable_expiration: bool = False) -> None: ...
    @property
    def config(self): ...
    @property
    def metrics(self): ...
    def metric_name(self, name, group, description: str = "", tags=None): ...
    def get_sensor(self, name): ...
    def sensor(self, name, config=None, inactive_sensor_expiration_time_seconds=..., parents=None): ...
    def remove_sensor(self, name) -> None: ...
    def add_metric(self, metric_name, measurable, config=None) -> None: ...
    def remove_metric(self, metric_name): ...
    def add_reporter(self, reporter) -> None: ...
    def register_metric(self, metric) -> None: ...

    class ExpireSensorTask:
        @staticmethod
        def run(metrics) -> None: ...

    def close(self) -> None: ...
