# Path: google/cloud/dataflow_v1beta3/types/snapshots.py
# class SnapshotState(proto.Enum):
# class PubsubSnapshotMetadata(proto.Message):
# class Snapshot(proto.Message):
# class GetSnapshotRequest(proto.Message):
# class DeleteSnapshotRequest(proto.Message):
# class DeleteSnapshotResponse(proto.Message):
# class ListSnapshotsRequest(proto.Message):
# class ListSnapshotsResponse(proto.Message):
#     UNKNOWN_SNAPSHOT_STATE = 0
#     PENDING = 1
#     RUNNING = 2
#     READY = 3
#     FAILED = 4
#     DELETED = 5


import abc
import pkg_resources
import google.auth  # type: ignore
import google.api_core
from typing import Awaitable, Callable, Dict, Optional, Sequence, Union
from google.api_core import exceptions as core_exceptions
from google.api_core import gapic_v1
from google.api_core import retry as retries
from google.auth import credentials as ga_credentials  # type: ignore
from google.oauth2 import service_account  # type: ignore
from google.cloud.dataflow_v1beta3.types import snapshots
        self._credentials = credentials

    def _prep_wrapped_messages(self, client_info):
        # Precompute the wrapped methods.
        self._wrapped_methods = {
            self.get_snapshot: gapic_v1.method.wrap_method(
                self.get_snapshot, default_timeout=None, client_info=client_info,
            ),
            self.delete_snapshot: gapic_v1.method.wrap_method(
                self.delete_snapshot, default_timeout=None, client_info=client_info,
            ),
            self.list_snapshots: gapic_v1.method.wrap_method(
                self.list_snapshots, default_timeout=None, client_info=client_info,
            ),
        }

    def close(self):
        """Closes resources associated with the transport.

       .. warning::
            Only call this method if the transport is NOT shared
            with other clients - this may cause errors in other clients!
        """
        raise NotImplementedError()

    @property
    def get_snapshot(
        self,
    ) -> Callable[
        [snapshots.GetSnapshotRequest],

# Path: google/cloud/dataflow_v1beta3/types/snapshots.py
# class SnapshotState(proto.Enum):
# class PubsubSnapshotMetadata(proto.Message):
# class Snapshot(proto.Message):
# class GetSnapshotRequest(proto.Message):
# class DeleteSnapshotRequest(proto.Message):
# class DeleteSnapshotResponse(proto.Message):
# class ListSnapshotsRequest(proto.Message):
# class ListSnapshotsResponse(proto.Message):
#     UNKNOWN_SNAPSHOT_STATE = 0
#     PENDING = 1
#     RUNNING = 2
#     READY = 3
#     FAILED = 4
#     DELETED = 5


# Path: google/cloud/dataflow_v1beta3/services/snapshots_v1_beta3/transports/base.py
import abc
import pkg_resources
import google.auth  # type: ignore
import google.api_core
from typing import Awaitable, Callable, Dict, Optional, Sequence, Union
from google.api_core import exceptions as core_exceptions
from google.api_core import gapic_v1
from google.api_core import retry as retries
from google.auth import credentials as ga_credentials  # type: ignore
from google.oauth2 import service_account  # type: ignore
from google.cloud.dataflow_v1beta3.types import snapshots

        self._credentials = credentials

    def _prep_wrapped_messages(self, client_info):
        # Precompute the wrapped methods.
        self._wrapped_methods = {
            self.get_snapshot: gapic_v1.method.wrap_method(
                self.get_snapshot, default_timeout=None, client_info=client_info,
            ),
            self.delete_snapshot: gapic_v1.method.wrap_method(
                self.delete_snapshot, default_timeout=None, client_info=client_info,
            ),
            self.list_snapshots: gapic_v1.method.wrap_method(
                self.list_snapshots, default_timeout=None, client_info=client_info,
            ),
        }

    def close(self):
        """Closes resources associated with the transport.

       .. warning::
            Only call this method if the transport is NOT shared
            with other clients - this may cause errors in other clients!
        """
        raise NotImplementedError()

    @property
    def get_snapshot(
        self,
    ) -> Callable[
        [snapshots.GetSnapshotRequest],

        Union[snapshots.Snapshot, Awaitable[snapshots.Snapshot]],