InstrumentHooksPointer = object

class lib:
    @staticmethod
    def instrument_hooks_init() -> InstrumentHooksPointer: ...
    @staticmethod
    def instrument_hooks_deinit(hooks: InstrumentHooksPointer) -> None: ...
    @staticmethod
    def instrument_hooks_is_instrumented(hooks: InstrumentHooksPointer) -> bool: ...
    @staticmethod
    def instrument_hooks_start_benchmark(hooks: InstrumentHooksPointer) -> int: ...
    @staticmethod
    def instrument_hooks_stop_benchmark(hooks: InstrumentHooksPointer) -> int: ...
    @staticmethod
    def instrument_hooks_set_executed_benchmark(
        hooks: InstrumentHooksPointer, pid: int, uri: bytes
    ) -> int: ...
    @staticmethod
    def instrument_hooks_set_integration(
        hooks: InstrumentHooksPointer, name: bytes, version: bytes
    ) -> int: ...
    @staticmethod
    def instrument_hooks_add_marker(
        hooks: InstrumentHooksPointer, pid: int, marker_type: int, timestamp: int
    ) -> int: ...
    @staticmethod
    def instrument_hooks_current_timestamp() -> int: ...
    @staticmethod
    def callgrind_start_instrumentation() -> int: ...
    @staticmethod
    def callgrind_stop_instrumentation() -> int: ...

LibType = type[lib]
