"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
*!
Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

from collections import abc as _abc
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import containers as _containers
from streamlit.proto import Common_pb2 as _Common_pb2
import builtins as _builtins
import sys
import typing as _typing

if sys.version_info >= (3, 10):
    from typing import TypeAlias as _TypeAlias
else:
    from typing_extensions import TypeAlias as _TypeAlias

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class DataFrame(_message.Message):
    """DEPRECATED: This proto message is deprecated and unused. Use Arrow.proto instead.
    Represents a pandas DataFrame.
    """

    DESCRIPTOR: _descriptor.Descriptor

    DATA_FIELD_NUMBER: _builtins.int
    INDEX_FIELD_NUMBER: _builtins.int
    COLUMNS_FIELD_NUMBER: _builtins.int
    STYLE_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def data(self) -> Global___Table:
        """The data in the array."""

    @_builtins.property
    def index(self) -> Global___Index:
        """List of row names. (Multiple implies a multi-index.)"""

    @_builtins.property
    def columns(self) -> Global___Index:
        """List of column names. (Multiple implies a multi-index.)"""

    @_builtins.property
    def style(self) -> Global___TableStyle:
        """Cell style and formatting data. Optional."""

    def __init__(
        self,
        *,
        data: Global___Table | None = ...,
        index: Global___Index | None = ...,
        columns: Global___Index | None = ...,
        style: Global___TableStyle | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["columns", b"columns", "data", b"data", "index", b"index", "style", b"style"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["columns", b"columns", "data", b"data", "index", b"index", "style", b"style"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___DataFrame: _TypeAlias = DataFrame  # noqa: Y015

@_typing.final
class Index(_message.Message):
    """An index in the dataFrame"""

    DESCRIPTOR: _descriptor.Descriptor

    PLAIN_INDEX_FIELD_NUMBER: _builtins.int
    RANGE_INDEX_FIELD_NUMBER: _builtins.int
    MULTI_INDEX_FIELD_NUMBER: _builtins.int
    DATETIME_INDEX_FIELD_NUMBER: _builtins.int
    TIMEDELTA_INDEX_FIELD_NUMBER: _builtins.int
    INT_64_INDEX_FIELD_NUMBER: _builtins.int
    FLOAT_64_INDEX_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def plain_index(self) -> Global___PlainIndex: ...
    @_builtins.property
    def range_index(self) -> Global___RangeIndex: ...
    @_builtins.property
    def multi_index(self) -> Global___MultiIndex:
        """CategoricalIndex categorical_index = 3;"""

    @_builtins.property
    def datetime_index(self) -> Global___DatetimeIndex:
        """IntervalIndex interval_index = 5;"""

    @_builtins.property
    def timedelta_index(self) -> Global___TimedeltaIndex: ...
    @_builtins.property
    def int_64_index(self) -> Global___Int64Index:
        """PeriodIndex period_index = 8;"""

    @_builtins.property
    def float_64_index(self) -> Global___Float64Index:
        """UInt64Index uint_64_index = 10;"""

    def __init__(
        self,
        *,
        plain_index: Global___PlainIndex | None = ...,
        range_index: Global___RangeIndex | None = ...,
        multi_index: Global___MultiIndex | None = ...,
        datetime_index: Global___DatetimeIndex | None = ...,
        timedelta_index: Global___TimedeltaIndex | None = ...,
        int_64_index: Global___Int64Index | None = ...,
        float_64_index: Global___Float64Index | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["datetime_index", b"datetime_index", "float_64_index", b"float_64_index", "int_64_index", b"int_64_index", "multi_index", b"multi_index", "plain_index", b"plain_index", "range_index", b"range_index", "timedelta_index", b"timedelta_index", "type", b"type"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["datetime_index", b"datetime_index", "float_64_index", b"float_64_index", "int_64_index", b"int_64_index", "multi_index", b"multi_index", "plain_index", b"plain_index", "range_index", b"range_index", "timedelta_index", b"timedelta_index", "type", b"type"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_type: _TypeAlias = _typing.Literal["plain_index", "range_index", "multi_index", "datetime_index", "timedelta_index", "int_64_index", "float_64_index"]  # noqa: Y015
    _WhichOneofArgType_type: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
    def WhichOneof(self, oneof_group: _WhichOneofArgType_type) -> _WhichOneofReturnType_type | None: ...

Global___Index: _TypeAlias = Index  # noqa: Y015

@_typing.final
class PlainIndex(_message.Message):
    """Basic, 1D index."""

    DESCRIPTOR: _descriptor.Descriptor

    DATA_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def data(self) -> Global___AnyArray: ...
    def __init__(
        self,
        *,
        data: Global___AnyArray | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___PlainIndex: _TypeAlias = PlainIndex  # noqa: Y015

@_typing.final
class RangeIndex(_message.Message):
    """Range index. See:
    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.RangeIndex.html
    """

    DESCRIPTOR: _descriptor.Descriptor

    START_FIELD_NUMBER: _builtins.int
    STOP_FIELD_NUMBER: _builtins.int
    start: _builtins.int
    stop: _builtins.int
    def __init__(
        self,
        *,
        start: _builtins.int = ...,
        stop: _builtins.int = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["start", b"start", "stop", b"stop"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RangeIndex: _TypeAlias = RangeIndex  # noqa: Y015

@_typing.final
class MultiIndex(_message.Message):
    """A multi-level, or hierarchical, Index. See:
    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.MultiIndex.html
    """

    DESCRIPTOR: _descriptor.Descriptor

    LEVELS_FIELD_NUMBER: _builtins.int
    LABELS_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def levels(self) -> _containers.RepeatedCompositeFieldContainer[Global___Index]: ...
    @_builtins.property
    def labels(self) -> _containers.RepeatedCompositeFieldContainer[_Common_pb2.Int32Array]: ...
    def __init__(
        self,
        *,
        levels: _abc.Iterable[Global___Index] | None = ...,
        labels: _abc.Iterable[_Common_pb2.Int32Array] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["labels", b"labels", "levels", b"levels"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___MultiIndex: _TypeAlias = MultiIndex  # noqa: Y015

@_typing.final
class DatetimeIndex(_message.Message):
    """A date represented internally as nano second epoch int64. See:
    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DatetimeIndex.html
    """

    DESCRIPTOR: _descriptor.Descriptor

    DATA_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def data(self) -> _Common_pb2.StringArray: ...
    def __init__(
        self,
        *,
        data: _Common_pb2.StringArray | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___DatetimeIndex: _TypeAlias = DatetimeIndex  # noqa: Y015

@_typing.final
class TimedeltaIndex(_message.Message):
    """A time interval represented internally as nano second epoch int64. See:
    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.TimedeltaIndex.html
    """

    DESCRIPTOR: _descriptor.Descriptor

    DATA_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def data(self) -> _Common_pb2.Int64Array: ...
    def __init__(
        self,
        *,
        data: _Common_pb2.Int64Array | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___TimedeltaIndex: _TypeAlias = TimedeltaIndex  # noqa: Y015

@_typing.final
class Int64Index(_message.Message):
    """See:
    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Int64Index.html
    """

    DESCRIPTOR: _descriptor.Descriptor

    DATA_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def data(self) -> _Common_pb2.Int64Array: ...
    def __init__(
        self,
        *,
        data: _Common_pb2.Int64Array | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Int64Index: _TypeAlias = Int64Index  # noqa: Y015

@_typing.final
class Float64Index(_message.Message):
    """See:
    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Int64Index.html
    """

    DESCRIPTOR: _descriptor.Descriptor

    DATA_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def data(self) -> _Common_pb2.DoubleArray: ...
    def __init__(
        self,
        *,
        data: _Common_pb2.DoubleArray | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["data", b"data"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Float64Index: _TypeAlias = Float64Index  # noqa: Y015

@_typing.final
class CSSStyle(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    PROPERTY_FIELD_NUMBER: _builtins.int
    VALUE_FIELD_NUMBER: _builtins.int
    property: _builtins.str
    value: _builtins.str
    def __init__(
        self,
        *,
        property: _builtins.str = ...,
        value: _builtins.str = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["property", b"property", "value", b"value"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CSSStyle: _TypeAlias = CSSStyle  # noqa: Y015

@_typing.final
class CellStyle(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    CSS_FIELD_NUMBER: _builtins.int
    DISPLAY_VALUE_FIELD_NUMBER: _builtins.int
    HAS_DISPLAY_VALUE_FIELD_NUMBER: _builtins.int
    display_value: _builtins.str
    """e.g. '21.96%'"""
    has_display_value: _builtins.bool
    """The default value for a string field in proto3 is '', so we need
    this extra bool to indicate the presence of a user-specified
    display_value, which itself could be ''.
    """
    @_builtins.property
    def css(self) -> _containers.RepeatedCompositeFieldContainer[Global___CSSStyle]: ...
    def __init__(
        self,
        *,
        css: _abc.Iterable[Global___CSSStyle] | None = ...,
        display_value: _builtins.str = ...,
        has_display_value: _builtins.bool = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["css", b"css", "display_value", b"display_value", "has_display_value", b"has_display_value"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CellStyle: _TypeAlias = CellStyle  # noqa: Y015

@_typing.final
class CellStyleArray(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    STYLES_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def styles(self) -> _containers.RepeatedCompositeFieldContainer[Global___CellStyle]: ...
    def __init__(
        self,
        *,
        styles: _abc.Iterable[Global___CellStyle] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["styles", b"styles"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CellStyleArray: _TypeAlias = CellStyleArray  # noqa: Y015

@_typing.final
class AnyArray(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    STRINGS_FIELD_NUMBER: _builtins.int
    DOUBLES_FIELD_NUMBER: _builtins.int
    INT64S_FIELD_NUMBER: _builtins.int
    DATETIMES_FIELD_NUMBER: _builtins.int
    TIMEDELTAS_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def strings(self) -> _Common_pb2.StringArray: ...
    @_builtins.property
    def doubles(self) -> _Common_pb2.DoubleArray: ...
    @_builtins.property
    def int64s(self) -> _Common_pb2.Int64Array: ...
    @_builtins.property
    def datetimes(self) -> _Common_pb2.StringArray: ...
    @_builtins.property
    def timedeltas(self) -> _Common_pb2.Int64Array: ...
    def __init__(
        self,
        *,
        strings: _Common_pb2.StringArray | None = ...,
        doubles: _Common_pb2.DoubleArray | None = ...,
        int64s: _Common_pb2.Int64Array | None = ...,
        datetimes: _Common_pb2.StringArray | None = ...,
        timedeltas: _Common_pb2.Int64Array | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["datetimes", b"datetimes", "doubles", b"doubles", "int64s", b"int64s", "strings", b"strings", "timedeltas", b"timedeltas", "type", b"type"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["datetimes", b"datetimes", "doubles", b"doubles", "int64s", b"int64s", "strings", b"strings", "timedeltas", b"timedeltas", "type", b"type"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_type: _TypeAlias = _typing.Literal["strings", "doubles", "int64s", "datetimes", "timedeltas"]  # noqa: Y015
    _WhichOneofArgType_type: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
    def WhichOneof(self, oneof_group: _WhichOneofArgType_type) -> _WhichOneofReturnType_type | None: ...

Global___AnyArray: _TypeAlias = AnyArray  # noqa: Y015

@_typing.final
class Table(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    COLS_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def cols(self) -> _containers.RepeatedCompositeFieldContainer[Global___AnyArray]: ...
    def __init__(
        self,
        *,
        cols: _abc.Iterable[Global___AnyArray] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["cols", b"cols"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Table: _TypeAlias = Table  # noqa: Y015

@_typing.final
class TableStyle(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    COLS_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def cols(self) -> _containers.RepeatedCompositeFieldContainer[Global___CellStyleArray]: ...
    def __init__(
        self,
        *,
        cols: _abc.Iterable[Global___CellStyleArray] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["cols", b"cols"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___TableStyle: _TypeAlias = TableStyle  # noqa: Y015
