def METHOD_NAME(source_type, scan_type) -> type[ScanTaskRunner]:
    """Get the ScanTaskRunner class type for the given source and scan types.
    :returns: runner class type (not an instance of the class)
    """
    if scan_type == ScanTask.SCAN_TYPE_CONNECT:
        runner_class_name = "ConnectTaskRunner"
    elif scan_type == ScanTask.SCAN_TYPE_INSPECT:
        runner_class_name = "InspectTaskRunner"
    else:
        logger.exception("invalid scan_type %s", scan_type)
        raise NotImplementedError
    return getattr(get_scanner(source_type), runner_class_name)