import abc

from _typeshed import Incomplete

class BaseService(abc.ABC):
    def __init__(self, device, configs: Incomplete | None = ...) -> None: ...
    @property
    def alias(self): ...
    @alias.setter
    def alias(self, alias) -> None: ...
    @property
    def is_alive(self) -> None: ...
    def start(self) -> None: ...
    def stop(self) -> None: ...
    def pause(self) -> None: ...
    def resume(self) -> None: ...
    def create_output_excerpts(self, test_info): ...
