"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.enums.campaign_experiment_status_pb2
import google.ads.google_ads.v4.proto.enums.campaign_experiment_traffic_split_type_pb2
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class CampaignExperiment(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    CAMPAIGN_DRAFT_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TRAFFIC_SPLIT_PERCENT_FIELD_NUMBER: builtins.int
    TRAFFIC_SPLIT_TYPE_FIELD_NUMBER: builtins.int
    EXPERIMENT_CAMPAIGN_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    LONG_RUNNING_OPERATION_FIELD_NUMBER: builtins.int
    START_DATE_FIELD_NUMBER: builtins.int
    END_DATE_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    traffic_split_type: google.ads.google_ads.v4.proto.enums.campaign_experiment_traffic_split_type_pb2.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType.V = (
        ...
    )
    status: google.ads.google_ads.v4.proto.enums.campaign_experiment_status_pb2.CampaignExperimentStatusEnum.CampaignExperimentStatus.V = (
        ...
    )
    @property
    def id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def campaign_draft(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def description(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def traffic_split_percent(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def experiment_campaign(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def long_running_operation(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def start_date(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def end_date(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        id: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        campaign_draft: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        description: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        traffic_split_percent: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        traffic_split_type: google.ads.google_ads.v4.proto.enums.campaign_experiment_traffic_split_type_pb2.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType.V = ...,
        experiment_campaign: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        status: google.ads.google_ads.v4.proto.enums.campaign_experiment_status_pb2.CampaignExperimentStatusEnum.CampaignExperimentStatus.V = ...,
        long_running_operation: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        start_date: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        end_date: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "campaign_draft",
            b"campaign_draft",
            "description",
            b"description",
            "end_date",
            b"end_date",
            "experiment_campaign",
            b"experiment_campaign",
            "id",
            b"id",
            "long_running_operation",
            b"long_running_operation",
            "name",
            b"name",
            "start_date",
            b"start_date",
            "traffic_split_percent",
            b"traffic_split_percent",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "campaign_draft",
            b"campaign_draft",
            "description",
            b"description",
            "end_date",
            b"end_date",
            "experiment_campaign",
            b"experiment_campaign",
            "id",
            b"id",
            "long_running_operation",
            b"long_running_operation",
            "name",
            b"name",
            "resource_name",
            b"resource_name",
            "start_date",
            b"start_date",
            "status",
            b"status",
            "traffic_split_percent",
            b"traffic_split_percent",
            "traffic_split_type",
            b"traffic_split_type",
        ],
    ) -> None: ...

global___CampaignExperiment = CampaignExperiment
