class_docstr: Hook for Google Cloud Vision APIs.
  
  All the methods in the hook where project_id is used must be called with
  keyword arguments rather than positional.
code: def __init__(
      self,
      gcp_conn_id: str = "google_cloud_default",
      impersonation_chain: str | Sequence[str] | None = None,
      **kwargs,
  ) -> None:
      if kwargs.get("delegate_to") is not None:
          raise RuntimeError(
              "The `delegate_to` parameter has been deprecated before and finally removed in this version"
              " of Google Provider. You MUST convert it to `impersonate_chain`"
          )
      super().__init__(
          gcp_conn_id=gcp_conn_id,
          impersonation_chain=impersonation_chain,
      )
      self._client = None
  
imports: from __future__ import annotations
  from copy import deepcopy
  from functools import cached_property
  from typing import TYPE_CHECKING, Any, Callable, Sequence
  from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
  from google.cloud.vision_v1 import AnnotateImageRequest, Image, ImageAnnotatorClient, Product, ProductSearchClient, ProductSet, ReferenceImage
  from google.protobuf.json_format import MessageToDict
  from airflow.exceptions import AirflowException
  from airflow.providers.google.common.consts import CLIENT_INFO
  from airflow.providers.google.common.hooks.base_google import PROVIDE_PROJECT_ID, GoogleBaseHook
label_desc: Use image node_id 1 to create a new CloudVisionHook object from inherited base classes: GoogleBaseHook with example: obj = CloudVisionHook(gcp_conn_id, impersonation_chain)