"""
This type stub file was generated by pyright.
"""

__all__ = ["BaseProcess", "BaseSignalState", "BaseMemoryState", "BaseEngineState", "BaseEngine"]

class BaseProcess:
    __slots__ = ...

    runnable: bool
    critical: bool
    
    def reset(self): # -> None:
        ...
    
    def run(self):
        ...


class BaseSignalState:
    __slots__ = ...
    signal = ...
    curr = ...
    next = ...
    def update(self, value):
        ...
    

class BaseMemoryState:
    __slots__ = ...
    memory = ...

    def read(self, addr):
        ...

    def write(self, addr, value, mask=None):
        ...


class BaseEngineState:
    def reset(self):
        ...
    
    def get_signal(self, signal):
        ...
    
    def get_memory(self, signal):
        ...
    
    slots = ...

    def set_delay_waker(self, interval, waker):
        ...

    def add_signal_waker(self, signal, waker):
        ...

    def add_memory_waker(self, memory, waker):
        ...


class BaseEngine:
    @property
    def state(self) -> BaseEngineState:
        ...

    @property
    def now(self):
        ...

    def reset(self):
        ...

    def add_clock_process(self, clock, *, phase, period):
        ...

    def add_async_process(self, simulator, process):
        ...

    def add_async_testbench(self, simulator, process, *, background):
        ...

    def add_trigger_combination(self, combination, *, oneshot):
        ...
    
    def advance(self):
        ...
    
    def write_vcd(self, *, vcd_file, gtkw_file, traces):
        ...
    


