"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.struct_pb2
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

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

class Metadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESPONSE_DATETIME_FIELD_NUMBER: builtins.int
    REQUEST_DURATION_FIELD_NUMBER: builtins.int
    @property
    def response_datetime(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def request_duration(self) -> google.protobuf.duration_pb2.Duration: ...
    def __init__(self,
        *,
        response_datetime : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        request_duration : typing.Optional[google.protobuf.duration_pb2.Duration] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"request_duration",b"request_duration",u"response_datetime",b"response_datetime"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"request_duration",b"request_duration",u"response_datetime",b"response_datetime"]) -> None: ...
global___Metadata = Metadata

class Quotecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Request(google.protobuf.message.Message):
        """MESSAGES"""
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        class SubscriptionsEntry(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            KEY_FIELD_NUMBER: builtins.int
            VALUE_FIELD_NUMBER: builtins.int
            key: typing.Text = ...
            @property
            def value(self) -> google.protobuf.struct_pb2.ListValue: ...
            def __init__(self,
                *,
                key : typing.Text = ...,
                value : typing.Optional[google.protobuf.struct_pb2.ListValue] = ...,
                ) -> None: ...
            def HasField(self, field_name: typing_extensions.Literal[u"value",b"value"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

        class UnsubscriptionsEntry(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            KEY_FIELD_NUMBER: builtins.int
            VALUE_FIELD_NUMBER: builtins.int
            key: typing.Text = ...
            @property
            def value(self) -> google.protobuf.struct_pb2.ListValue: ...
            def __init__(self,
                *,
                key : typing.Text = ...,
                value : typing.Optional[google.protobuf.struct_pb2.ListValue] = ...,
                ) -> None: ...
            def HasField(self, field_name: typing_extensions.Literal[u"value",b"value"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

        SUBSCRIPTIONS_FIELD_NUMBER: builtins.int
        UNSUBSCRIPTIONS_FIELD_NUMBER: builtins.int
        @property
        def subscriptions(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, google.protobuf.struct_pb2.ListValue]:
            """<vwd_id, metrics>"""
            pass
        @property
        def unsubscriptions(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, google.protobuf.struct_pb2.ListValue]:
            """<vwd_id, metrics>"""
            pass
        def __init__(self,
            *,
            subscriptions : typing.Optional[typing.Mapping[typing.Text, google.protobuf.struct_pb2.ListValue]] = ...,
            unsubscriptions : typing.Optional[typing.Mapping[typing.Text, google.protobuf.struct_pb2.ListValue]] = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"subscriptions",b"subscriptions",u"unsubscriptions",b"unsubscriptions"]) -> None: ...

    JSON_DATA_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    json_data: typing.Text = ...
    """PROPERTIES"""

    @property
    def metadata(self) -> global___Metadata: ...
    def __init__(self,
        *,
        json_data : typing.Text = ...,
        metadata : typing.Optional[global___Metadata] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"metadata",b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"json_data",b"json_data",u"metadata",b"metadata"]) -> None: ...
global___Quotecast = Quotecast

class Ticker(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Metrics(google.protobuf.message.Message):
        """MESSAGES"""
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        class MetricsEntry(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            KEY_FIELD_NUMBER: builtins.int
            VALUE_FIELD_NUMBER: builtins.int
            key: typing.Text = ...
            value: builtins.float = ...
            def __init__(self,
                *,
                key : typing.Text = ...,
                value : builtins.float = ...,
                ) -> None: ...
            def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

        METRICS_FIELD_NUMBER: builtins.int
        @property
        def metrics(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, builtins.float]:
            """<metric_name, metric_value>"""
            pass
        def __init__(self,
            *,
            metrics : typing.Optional[typing.Mapping[typing.Text, builtins.float]] = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"metrics",b"metrics"]) -> None: ...

    class ProductsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...
        @property
        def value(self) -> global___Ticker.Metrics: ...
        def __init__(self,
            *,
            key : typing.Text = ...,
            value : typing.Optional[global___Ticker.Metrics] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    METADATA_FIELD_NUMBER: builtins.int
    PRODUCTS_FIELD_NUMBER: builtins.int
    PRODUCT_LIST_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> global___Metadata:
        """PROPERTIES"""
        pass
    @property
    def products(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___Ticker.Metrics]:
        """<vwd_id, metrics>"""
        pass
    @property
    def product_list(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    def __init__(self,
        *,
        metadata : typing.Optional[global___Metadata] = ...,
        products : typing.Optional[typing.Mapping[typing.Text, global___Ticker.Metrics]] = ...,
        product_list : typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"metadata",b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"metadata",b"metadata",u"product_list",b"product_list",u"products",b"products"]) -> None: ...
global___Ticker = Ticker

class Chart(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Interval(_Interval, metaclass=_IntervalEnumTypeWrapper):
        """ENUMS"""
        pass
    class _Interval:
        V = typing.NewType('V', builtins.int)
    class _IntervalEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Interval.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        PT1S = Chart.Interval.V(0)
        PT15S = Chart.Interval.V(1)
        PT30S = Chart.Interval.V(2)
        PT1M = Chart.Interval.V(3)
        PT5M = Chart.Interval.V(4)
        PT15M = Chart.Interval.V(5)
        PT30M = Chart.Interval.V(6)
        PT60M = Chart.Interval.V(7)
        PT1H = Chart.Interval.V(8)
        P1D = Chart.Interval.V(9)
        P1W = Chart.Interval.V(10)
        P1M = Chart.Interval.V(11)
        P3M = Chart.Interval.V(12)
        P6M = Chart.Interval.V(13)
        P1Y = Chart.Interval.V(14)
        P3Y = Chart.Interval.V(15)
        P5Y = Chart.Interval.V(16)
        P10Y = Chart.Interval.V(17)
        P50Y = Chart.Interval.V(18)
        YTD = Chart.Interval.V(19)

    PT1S = Chart.Interval.V(0)
    PT15S = Chart.Interval.V(1)
    PT30S = Chart.Interval.V(2)
    PT1M = Chart.Interval.V(3)
    PT5M = Chart.Interval.V(4)
    PT15M = Chart.Interval.V(5)
    PT30M = Chart.Interval.V(6)
    PT60M = Chart.Interval.V(7)
    PT1H = Chart.Interval.V(8)
    P1D = Chart.Interval.V(9)
    P1W = Chart.Interval.V(10)
    P1M = Chart.Interval.V(11)
    P3M = Chart.Interval.V(12)
    P6M = Chart.Interval.V(13)
    P1Y = Chart.Interval.V(14)
    P3Y = Chart.Interval.V(15)
    P5Y = Chart.Interval.V(16)
    P10Y = Chart.Interval.V(17)
    P50Y = Chart.Interval.V(18)
    YTD = Chart.Interval.V(19)

    class Request(google.protobuf.message.Message):
        """MESSAGES"""
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        class OverrideEntry(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            KEY_FIELD_NUMBER: builtins.int
            VALUE_FIELD_NUMBER: builtins.int
            key: typing.Text = ...
            value: typing.Text = ...
            def __init__(self,
                *,
                key : typing.Text = ...,
                value : typing.Text = ...,
                ) -> None: ...
            def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

        REQUESTID_FIELD_NUMBER: builtins.int
        RESOLUTION_FIELD_NUMBER: builtins.int
        CULTURE_FIELD_NUMBER: builtins.int
        PERIOD_FIELD_NUMBER: builtins.int
        SERIES_FIELD_NUMBER: builtins.int
        TZ_FIELD_NUMBER: builtins.int
        OVERRIDE_FIELD_NUMBER: builtins.int
        requestid: typing.Text = ...
        resolution: global___Chart.Interval.V = ...
        culture: typing.Text = ...
        period: global___Chart.Interval.V = ...
        @property
        def series(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
        tz: typing.Text = ...
        @property
        def override(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ...
        def __init__(self,
            *,
            requestid : typing.Text = ...,
            resolution : global___Chart.Interval.V = ...,
            culture : typing.Text = ...,
            period : global___Chart.Interval.V = ...,
            series : typing.Optional[typing.Iterable[typing.Text]] = ...,
            tz : typing.Text = ...,
            override : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"culture",b"culture",u"override",b"override",u"period",b"period",u"requestid",b"requestid",u"resolution",b"resolution",u"series",b"series",u"tz",b"tz"]) -> None: ...

    class Serie(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        TIMES_FIELD_NUMBER: builtins.int
        EXPIRES_FIELD_NUMBER: builtins.int
        DATA_FIELD_NUMBER: builtins.int
        ID_FIELD_NUMBER: builtins.int
        TYPE_FIELD_NUMBER: builtins.int
        times: typing.Text = ...
        expires: typing.Text = ...
        @property
        def data(self) -> google.protobuf.struct_pb2.ListValue: ...
        id: typing.Text = ...
        type: typing.Text = ...
        def __init__(self,
            *,
            times : typing.Text = ...,
            expires : typing.Text = ...,
            data : typing.Optional[google.protobuf.struct_pb2.ListValue] = ...,
            id : typing.Text = ...,
            type : typing.Text = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"data",b"data"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"data",b"data",u"expires",b"expires",u"id",b"id",u"times",b"times",u"type",b"type"]) -> None: ...

    REQUESTID_FIELD_NUMBER: builtins.int
    START_FIELD_NUMBER: builtins.int
    END_FIELD_NUMBER: builtins.int
    RESOLUTION_FIELD_NUMBER: builtins.int
    SERIES_FIELD_NUMBER: builtins.int
    requestid: typing.Text = ...
    """PROPERTIES"""

    start: typing.Text = ...
    end: typing.Text = ...
    resolution: typing.Text = ...
    @property
    def series(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Chart.Serie]: ...
    def __init__(self,
        *,
        requestid : typing.Text = ...,
        start : typing.Text = ...,
        end : typing.Text = ...,
        resolution : typing.Text = ...,
        series : typing.Optional[typing.Iterable[global___Chart.Serie]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"end",b"end",u"requestid",b"requestid",u"resolution",b"resolution",u"series",b"series",u"start",b"start"]) -> None: ...
global___Chart = Chart
