import builtins
import multiprocessing.connection
from abc import abstractmethod
from typing import Any

class ObjectDetectionBase:
    def store_args(self:"ObjectDetectionBase", args:Any=None, unknown_args:Any=None) -> None: ...
    @classmethod
    def print_inferences(cls:type["ObjectDetectionBase"]): ...
    @classmethod
    def get_inference(cls:type["ObjectDetectionBase"], name:builtins.str=None, module:builtins.str=None): ...
    @abstractmethod
    def load_model(self:"ObjectDetectionBase", *args, **kwargs): ...
    @abstractmethod
    def unload_model(self:"ObjectDetectionBase", *args, **kwargs): ...
    @abstractmethod
    def preprocess(self:"ObjectDetectionBase", data: Any, *args, **kwargs): ...
    @abstractmethod
    def postprocess(self:"ObjectDetectionBase", data: Any, *args, **kwargs): ...
    @abstractmethod
    def predict(self:"ObjectDetectionBase", data: Any, *args, **kwargs): ...
    def run(self:"ObjectDetectionBase", data: Any, *args, **kwargs): ...
    def run_async(self: "ObjectDetectionBase", pipe: multiprocessing.connection.Connection): ...
    def run_pipeline(self: "ObjectDetectionBase", pipe: multiprocessing.connection.Connection): ...
