import grpc

# Autogenerated imports
from google.ads.googleads.v20.errors import GoogleAdsFailure as GoogleAdsFailureV20
from google.ads.googleads.v21.errors import GoogleAdsFailure as GoogleAdsFailureV21
from google.ads.googleads.v22.errors import GoogleAdsFailure as GoogleAdsFailureV22
from google.ads.googleads.v23.errors import GoogleAdsFailure as GoogleAdsFailureV23

# End of autogenerated imports

GoogleAdsFailure = (
    # Autogenerated failure types
    GoogleAdsFailureV20
    | GoogleAdsFailureV21
    | GoogleAdsFailureV22
    | GoogleAdsFailureV23
    # End of autogenerated failure types
)

class GoogleAdsException(Exception):
    error: grpc.RpcError = ...
    call: grpc.Call = ...
    failure: GoogleAdsFailure = ...
    request_id: str = ...
    def __init__(
        self,
        error: grpc.RpcError,
        call: grpc.Call,
        failure: GoogleAdsFailure,
        request_id: str,
    ) -> None: ...
