# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
)

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from google.protobuf.wrappers_pb2 import (
    DoubleValue as google___protobuf___wrappers_pb2___DoubleValue,
    StringValue as google___protobuf___wrappers_pb2___StringValue,
)

from google.rpc.status_pb2 import (
    Status as google___rpc___status_pb2___Status,
)

from typing import (
    Iterable as typing___Iterable,
    Optional as typing___Optional,
    Text as typing___Text,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


class UploadClickConversionsRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    customer_id = ... # type: typing___Text
    partial_failure = ... # type: bool
    validate_only = ... # type: bool

    @property
    def conversions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ClickConversion]: ...

    def __init__(self,
        *,
        customer_id : typing___Optional[typing___Text] = None,
        conversions : typing___Optional[typing___Iterable[ClickConversion]] = None,
        partial_failure : typing___Optional[bool] = None,
        validate_only : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> UploadClickConversionsRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"conversions",u"customer_id",u"partial_failure",u"validate_only"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"conversions",b"conversions",u"customer_id",b"customer_id",u"partial_failure",b"partial_failure",u"validate_only",b"validate_only"]) -> None: ...

class UploadClickConversionsResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def partial_failure_error(self) -> google___rpc___status_pb2___Status: ...

    @property
    def results(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ClickConversionResult]: ...

    def __init__(self,
        *,
        partial_failure_error : typing___Optional[google___rpc___status_pb2___Status] = None,
        results : typing___Optional[typing___Iterable[ClickConversionResult]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> UploadClickConversionsResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"partial_failure_error"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"partial_failure_error",u"results"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"partial_failure_error",b"partial_failure_error"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"partial_failure_error",b"partial_failure_error",u"results",b"results"]) -> None: ...

class UploadCallConversionsRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    customer_id = ... # type: typing___Text
    partial_failure = ... # type: bool
    validate_only = ... # type: bool

    @property
    def conversions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[CallConversion]: ...

    def __init__(self,
        *,
        customer_id : typing___Optional[typing___Text] = None,
        conversions : typing___Optional[typing___Iterable[CallConversion]] = None,
        partial_failure : typing___Optional[bool] = None,
        validate_only : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> UploadCallConversionsRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"conversions",u"customer_id",u"partial_failure",u"validate_only"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"conversions",b"conversions",u"customer_id",b"customer_id",u"partial_failure",b"partial_failure",u"validate_only",b"validate_only"]) -> None: ...

class UploadCallConversionsResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def partial_failure_error(self) -> google___rpc___status_pb2___Status: ...

    @property
    def results(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[CallConversionResult]: ...

    def __init__(self,
        *,
        partial_failure_error : typing___Optional[google___rpc___status_pb2___Status] = None,
        results : typing___Optional[typing___Iterable[CallConversionResult]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> UploadCallConversionsResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"partial_failure_error"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"partial_failure_error",u"results"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"partial_failure_error",b"partial_failure_error"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"partial_failure_error",b"partial_failure_error",u"results",b"results"]) -> None: ...

class ClickConversion(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def gclid(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_action(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_date_time(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_value(self) -> google___protobuf___wrappers_pb2___DoubleValue: ...

    @property
    def currency_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def order_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def external_attribution_data(self) -> ExternalAttributionData: ...

    def __init__(self,
        *,
        gclid : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_action : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_date_time : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_value : typing___Optional[google___protobuf___wrappers_pb2___DoubleValue] = None,
        currency_code : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        order_id : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        external_attribution_data : typing___Optional[ExternalAttributionData] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ClickConversion: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"conversion_action",u"conversion_date_time",u"conversion_value",u"currency_code",u"external_attribution_data",u"gclid",u"order_id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"conversion_action",u"conversion_date_time",u"conversion_value",u"currency_code",u"external_attribution_data",u"gclid",u"order_id"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time",u"conversion_value",b"conversion_value",u"currency_code",b"currency_code",u"external_attribution_data",b"external_attribution_data",u"gclid",b"gclid",u"order_id",b"order_id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time",u"conversion_value",b"conversion_value",u"currency_code",b"currency_code",u"external_attribution_data",b"external_attribution_data",u"gclid",b"gclid",u"order_id",b"order_id"]) -> None: ...

class CallConversion(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def caller_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def call_start_date_time(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_action(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_date_time(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_value(self) -> google___protobuf___wrappers_pb2___DoubleValue: ...

    @property
    def currency_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    def __init__(self,
        *,
        caller_id : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        call_start_date_time : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_action : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_date_time : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_value : typing___Optional[google___protobuf___wrappers_pb2___DoubleValue] = None,
        currency_code : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> CallConversion: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"call_start_date_time",u"caller_id",u"conversion_action",u"conversion_date_time",u"conversion_value",u"currency_code"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"call_start_date_time",u"caller_id",u"conversion_action",u"conversion_date_time",u"conversion_value",u"currency_code"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"call_start_date_time",b"call_start_date_time",u"caller_id",b"caller_id",u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time",u"conversion_value",b"conversion_value",u"currency_code",b"currency_code"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"call_start_date_time",b"call_start_date_time",u"caller_id",b"caller_id",u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time",u"conversion_value",b"conversion_value",u"currency_code",b"currency_code"]) -> None: ...

class ExternalAttributionData(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def external_attribution_credit(self) -> google___protobuf___wrappers_pb2___DoubleValue: ...

    @property
    def external_attribution_model(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    def __init__(self,
        *,
        external_attribution_credit : typing___Optional[google___protobuf___wrappers_pb2___DoubleValue] = None,
        external_attribution_model : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ExternalAttributionData: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"external_attribution_credit",u"external_attribution_model"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"external_attribution_credit",u"external_attribution_model"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"external_attribution_credit",b"external_attribution_credit",u"external_attribution_model",b"external_attribution_model"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"external_attribution_credit",b"external_attribution_credit",u"external_attribution_model",b"external_attribution_model"]) -> None: ...

class ClickConversionResult(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def gclid(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_action(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_date_time(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    def __init__(self,
        *,
        gclid : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_action : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_date_time : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ClickConversionResult: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"conversion_action",u"conversion_date_time",u"gclid"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"conversion_action",u"conversion_date_time",u"gclid"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time",u"gclid",b"gclid"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time",u"gclid",b"gclid"]) -> None: ...

class CallConversionResult(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def caller_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def call_start_date_time(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_action(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    @property
    def conversion_date_time(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    def __init__(self,
        *,
        caller_id : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        call_start_date_time : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_action : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conversion_date_time : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> CallConversionResult: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"call_start_date_time",u"caller_id",u"conversion_action",u"conversion_date_time"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"call_start_date_time",u"caller_id",u"conversion_action",u"conversion_date_time"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"call_start_date_time",b"call_start_date_time",u"caller_id",b"caller_id",u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"call_start_date_time",b"call_start_date_time",u"caller_id",b"caller_id",u"conversion_action",b"conversion_action",u"conversion_date_time",b"conversion_date_time"]) -> None: ...
