"""
@generated by mypy-protobuf. Do not edit manually!
isort:skip_file
Copyright (c) 2016-2025 Deephaven Data Labs and Patent Pending
"""
import builtins
import collections.abc
import deephaven_core.proto.table_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys
import typing
if sys.version_info >= (3, 10):
import typing as typing_extensions
else:
import typing_extensions
[docs]
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
@typing.final
[docs]
class PivotPluginRequest(google.protobuf.message.Message):
"""We have not created a service, but rather make a request using the oneof message; and reply using the corresponding
message in the PivotPluginResponse. The PivotServicePlugin then has a switch statement for dispatch rather than
using the service.
"""
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
REQUEST_ID_FIELD_NUMBER: builtins.int
[docs]
VIEW_FIELD_NUMBER: builtins.int
[docs]
EXPORT_SOURCE_FIELD_NUMBER: builtins.int
[docs]
EMPTY_EXPANSIONS_FIELD_NUMBER: builtins.int
[docs]
CREATION_FIELD_NUMBER: builtins.int
[docs]
APPLY_FIELD_NUMBER: builtins.int
[docs]
GET_DESCRIPTOR_FIELD_NUMBER: builtins.int
[docs]
request_id: builtins.str
"""A client-specified identifier used to identify the response for this request when multiple requests are in flight.
This must be set to a unique value.
"""
@property
[docs]
def view(self) -> Global___PivotTableViewRequest: ...
@property
[docs]
def export_source(self) -> Global___PivotTableSourceExportRequest: ...
@property
[docs]
def empty_expansions(self) -> Global___PivotTableEmptyExpansionsRequest: ...
@property
[docs]
def creation(self) -> Global___PivotTableCreationRequest: ...
@property
[docs]
def apply(self) -> Global___PivotTableApplyRequest: ...
@property
[docs]
def get_descriptor(self) -> Global___PivotTableDescriptorRequest: ...
def __init__(
self,
*,
request_id: builtins.str = ...,
view: Global___PivotTableViewRequest | None = ...,
export_source: Global___PivotTableSourceExportRequest | None = ...,
empty_expansions: Global___PivotTableEmptyExpansionsRequest | None = ...,
creation: Global___PivotTableCreationRequest | None = ...,
apply: Global___PivotTableApplyRequest | None = ...,
get_descriptor: Global___PivotTableDescriptorRequest | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["apply", b"apply", "creation", b"creation", "empty_expansions", b"empty_expansions", "export_source", b"export_source", "get_descriptor", b"get_descriptor", "request", b"request", "view", b"view"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["apply", b"apply", "creation", b"creation", "empty_expansions", b"empty_expansions", "export_source", b"export_source", "get_descriptor", b"get_descriptor", "request", b"request", "request_id", b"request_id", "view", b"view"]) -> None: ...
[docs]
def WhichOneof(self, oneof_group: typing.Literal["request", b"request"]) -> typing.Literal["view", "export_source", "empty_expansions", "creation", "apply", "get_descriptor"] | None: ...
[docs]
Global___PivotPluginRequest: typing_extensions.TypeAlias = PivotPluginRequest
@typing.final
[docs]
class ErrorResponse(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
ERROR_MESSAGE_FIELD_NUMBER: builtins.int
[docs]
error_message: builtins.str
def __init__(
self,
*,
error_message: builtins.str = ...,
) -> None: ...
[docs]
def ClearField(self, field_name: typing.Literal["error_message", b"error_message"]) -> None: ...
[docs]
Global___ErrorResponse: typing_extensions.TypeAlias = ErrorResponse
@typing.final
[docs]
class PivotPluginResponse(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
REQUEST_ID_FIELD_NUMBER: builtins.int
[docs]
ERROR_FIELD_NUMBER: builtins.int
[docs]
VIEW_FIELD_NUMBER: builtins.int
[docs]
EXPORT_FIELD_NUMBER: builtins.int
[docs]
EMPTY_EXPANSIONS_FIELD_NUMBER: builtins.int
[docs]
CREATION_FIELD_NUMBER: builtins.int
[docs]
APPLY_FIELD_NUMBER: builtins.int
[docs]
GET_DESCRIPTOR_FIELD_NUMBER: builtins.int
[docs]
request_id: builtins.str
"""Identifier copied from the request."""
@property
[docs]
def error(self) -> Global___ErrorResponse:
"""If the request failed (after we were able to parse and extract the request ID), then we return an error to the
client; otherwise we return the appropriate response type.
"""
@property
[docs]
def view(self) -> Global___PivotTableViewResponse: ...
@property
[docs]
def export(self) -> Global___PivotTableSourceExportResponse: ...
@property
[docs]
def empty_expansions(self) -> Global___PivotTableEmptyExpansionsResponse: ...
@property
[docs]
def creation(self) -> Global___PivotTableCreationResponse: ...
@property
[docs]
def apply(self) -> Global___PivotTableApplyResponse: ...
@property
[docs]
def get_descriptor(self) -> Global___PivotTableDescriptorResponse: ...
def __init__(
self,
*,
request_id: builtins.str = ...,
error: Global___ErrorResponse | None = ...,
view: Global___PivotTableViewResponse | None = ...,
export: Global___PivotTableSourceExportResponse | None = ...,
empty_expansions: Global___PivotTableEmptyExpansionsResponse | None = ...,
creation: Global___PivotTableCreationResponse | None = ...,
apply: Global___PivotTableApplyResponse | None = ...,
get_descriptor: Global___PivotTableDescriptorResponse | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["apply", b"apply", "creation", b"creation", "empty_expansions", b"empty_expansions", "error", b"error", "export", b"export", "get_descriptor", b"get_descriptor", "response", b"response", "view", b"view"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["apply", b"apply", "creation", b"creation", "empty_expansions", b"empty_expansions", "error", b"error", "export", b"export", "get_descriptor", b"get_descriptor", "request_id", b"request_id", "response", b"response", "view", b"view"]) -> None: ...
[docs]
def WhichOneof(self, oneof_group: typing.Literal["response", b"response"]) -> typing.Literal["error", "view", "export", "empty_expansions", "creation", "apply", "get_descriptor"] | None: ...
[docs]
Global___PivotPluginResponse: typing_extensions.TypeAlias = PivotPluginResponse
@typing.final
[docs]
class PivotTableDescriptorMessage(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
SNAPSHOT_SCHEMA_FIELD_NUMBER: builtins.int
[docs]
IS_STATIC_FIELD_NUMBER: builtins.int
[docs]
snapshot_schema: builtins.bytes
"""Schema to be used for snapshot or subscription requests as described in Arrow Message.fbs::Message.
Field metadata is used to convey additional information about the structure of the PivotTable, the
special roles some columns play, and the relationships between columns.
All schema metadata for pivots is prefixed with "deephaven:". Most values are a boolean tag (represented as the
string "true" if set that indicate which type of column this is.
"pivotTable.isStructuralColumn" set on columns that should be included on every snapshot or subscription request,
but should not be directly user-visible.
"pivotTable.isRowExpandByColumn" is set on all the columns that must be included in a PivotTableViewRequest's row key table. These columns are generally user-visible and
displayed before other columns, unless they also have {@value PIVOT_TABLE_IS_STRUCTURAL_COLUMN} set.
"pivotTable.isRowDepthColumn" is set on a single column that specifies the depth of
a row. That column will always have pivotTable.isRowExpandByColumn set.
"pivotTable.isRowExpandedColumn" is set on a single nullable column of booleans that
specifies whether a row is expandable or expanded. Values will be null for rows that are not expandable, true for
expanded rows, false for rows that are not expanded (but expandable). Leaf rows have no children to expand, and
hence will always have a null value for this column.
"pivotTable.isRowGroupByColumn" is set on all columns of a pivot that are row
by-columns Such columns will always have pivotTable.isRowExpandByColumn set.
"pivotTable.isRowValueColumn" is set on all columns that are totals for a given row.
The Column dimension has an equivalent set of attributes as rows:
"pivotTable.isColumnExpandByColumn"
"pivotTable.isColumnDepthColumn"
"pivotTable.isColumnExpandedColumn"
"pivotTable.isColumnGroupByColumn"
"pivotTable.isColumnValueColumn"
"pivotTable.isGrandTotalValueColumn" is set on all columns that are a grand total the given table. These columns
have only one value for the entire snapshot that represents the aggregation across the entire source table.
"pivotTable.isValueColumn" is set on all columns that are part of the main field (grid) of values.
"pivotTable.aggregationInputColumnName" is set to the name of the corresponding constituent column that
was used as input to this column. May have an empty value, because some aggregations take no input columns, for
example, "Count". This is only ever present on columns with "pivotTable.isValueColumn"
"pivotTable.isRowValueColumn", "pivotTable.isColumnValueColumn" or "pivotTable.isGrandTotalValueColumn" set.
"""
[docs]
is_static: builtins.bool
"""Whether or not this table might change."""
def __init__(
self,
*,
snapshot_schema: builtins.bytes = ...,
is_static: builtins.bool = ...,
) -> None: ...
[docs]
def ClearField(self, field_name: typing.Literal["is_static", b"is_static", "snapshot_schema", b"snapshot_schema"]) -> None: ...
[docs]
Global___PivotTableDescriptorMessage: typing_extensions.TypeAlias = PivotTableDescriptorMessage
@typing.final
[docs]
class PivotTableViewRequest(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
PIVOT_TABLE_OFFSET_FIELD_NUMBER: builtins.int
[docs]
EXISTING_VIEW_OFFSET_FIELD_NUMBER: builtins.int
[docs]
EXPANSIONS_FIELD_NUMBER: builtins.int
[docs]
pivot_table_offset: builtins.int
"""Offset of the pivot table in the incoming plugin references."""
[docs]
existing_view_offset: builtins.int
"""Offset of the existing PivotTableView in the incoming plugin references array. The result view will inherit the
PivotTable from the existing view. The two views will share state used for caching snapshot data, but the server
implementation may limit parallelism when performing snapshots for either view.
Use this field when you intend to stop using the existing view and instead begin to use the result view.
"""
@property
[docs]
def expansions(self) -> Global___PivotTableViewExpansionsMessage:
"""Description for the expansions that define this view of the PivotTable. If not present, the result will
have default expansions.
"""
def __init__(
self,
*,
pivot_table_offset: builtins.int = ...,
existing_view_offset: builtins.int = ...,
expansions: Global___PivotTableViewExpansionsMessage | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["existing_view_offset", b"existing_view_offset", "expansions", b"expansions", "pivot_table_offset", b"pivot_table_offset", "target", b"target"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["existing_view_offset", b"existing_view_offset", "expansions", b"expansions", "pivot_table_offset", b"pivot_table_offset", "target", b"target"]) -> None: ...
[docs]
def WhichOneof(self, oneof_group: typing.Literal["target", b"target"]) -> typing.Literal["pivot_table_offset", "existing_view_offset"] | None: ...
[docs]
Global___PivotTableViewRequest: typing_extensions.TypeAlias = PivotTableViewRequest
@typing.final
[docs]
class PivotTableViewExpansionsMessage(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
ROW_KEY_TABLE_OFFSET_FIELD_NUMBER: builtins.int
[docs]
ROW_KEY_TABLE_ACTION_COLUMN_FIELD_NUMBER: builtins.int
[docs]
COLUMN_KEY_TABLE_OFFSET_FIELD_NUMBER: builtins.int
[docs]
COLUMN_KEY_TABLE_ACTION_COLUMN_FIELD_NUMBER: builtins.int
[docs]
OUTPUT_COLUMNS_FIELD_NUMBER: builtins.int
[docs]
row_key_table_offset: builtins.int
"""Offset (in the references) of a Table of expanded or contracted keys from a PivotTable (RollupTable or TreeTable).
The format for the key Table is dictated by the schema from the corresponding PivotTableDescriptor. It is
expected to have one column for each "expand-by column", including the "row depth column" for RollupTables only,
and (optionally) an "action" column whose name is specified in the key_table_action_column field.
If the Table is empty the result will have only default nodes expanded.
"""
[docs]
row_key_table_action_column: builtins.str
"""The name of a column of bytes found in the key table that specifies the action desired for the node selected by
the other columns for each row. Takes on the value 1 for nodes that should be expanded, 3 for nodes that should be
expanded along with their descendants, and 4 for nodes that should be contracted.
If this column name is not present, all nodes in the key table will be expanded without their descendants.
"""
[docs]
column_key_table_offset: builtins.int
"""Offset (in the references) of a Table of expanded or contracted keys from a PivotTable (RollupTable or TreeTable).
The format for the key Table is dictated by the schema from the corresponding PivotTableDescriptor. It is
expected to have one column for each "expand-by column", including the "row depth column" for RollupTables only,
and (optionally) an "action" column whose name is specified in the key_table_action_column field.
If the Table is empty the result will have only default nodes expanded.
"""
[docs]
column_key_table_action_column: builtins.str
"""The name of a column of bytes found in the key table that specifies the action desired for the node selected by
the other columns for each row. Takes on the value 1 for nodes that should be expanded, 3 for nodes that should be
expanded along with their descendants, and 4 for nodes that should be contracted.
If this column name is not present, all nodes in the key table will be expanded without their descendants.
"""
@property
[docs]
def output_columns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
"""The name of the output columns that are sent, if not specified then all totals and value columns are sent."""
def __init__(
self,
*,
row_key_table_offset: builtins.int | None = ...,
row_key_table_action_column: builtins.str | None = ...,
column_key_table_offset: builtins.int | None = ...,
column_key_table_action_column: builtins.str | None = ...,
output_columns: collections.abc.Iterable[builtins.str] | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["_column_key_table_action_column", b"_column_key_table_action_column", "_column_key_table_offset", b"_column_key_table_offset", "_row_key_table_action_column", b"_row_key_table_action_column", "_row_key_table_offset", b"_row_key_table_offset", "column_key_table_action_column", b"column_key_table_action_column", "column_key_table_offset", b"column_key_table_offset", "row_key_table_action_column", b"row_key_table_action_column", "row_key_table_offset", b"row_key_table_offset"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["_column_key_table_action_column", b"_column_key_table_action_column", "_column_key_table_offset", b"_column_key_table_offset", "_row_key_table_action_column", b"_row_key_table_action_column", "_row_key_table_offset", b"_row_key_table_offset", "column_key_table_action_column", b"column_key_table_action_column", "column_key_table_offset", b"column_key_table_offset", "output_columns", b"output_columns", "row_key_table_action_column", b"row_key_table_action_column", "row_key_table_offset", b"row_key_table_offset"]) -> None: ...
@typing.overload
[docs]
def WhichOneof(self, oneof_group: typing.Literal["_column_key_table_action_column", b"_column_key_table_action_column"]) -> typing.Literal["column_key_table_action_column"] | None: ...
@typing.overload
def WhichOneof(self, oneof_group: typing.Literal["_column_key_table_offset", b"_column_key_table_offset"]) -> typing.Literal["column_key_table_offset"] | None: ...
@typing.overload
def WhichOneof(self, oneof_group: typing.Literal["_row_key_table_action_column", b"_row_key_table_action_column"]) -> typing.Literal["row_key_table_action_column"] | None: ...
@typing.overload
def WhichOneof(self, oneof_group: typing.Literal["_row_key_table_offset", b"_row_key_table_offset"]) -> typing.Literal["row_key_table_offset"] | None: ...
[docs]
Global___PivotTableViewExpansionsMessage: typing_extensions.TypeAlias = PivotTableViewExpansionsMessage
@typing.final
[docs]
class PivotTableViewResponse(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
PIVOT_DESCRIPTOR_FIELD_NUMBER: builtins.int
@property
[docs]
def pivot_descriptor(self) -> Global___PivotTableDescriptorMessage:
"""The description of the table
The first object in the references is the PivotTableView result
"""
def __init__(
self,
*,
pivot_descriptor: Global___PivotTableDescriptorMessage | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> None: ...
[docs]
Global___PivotTableViewResponse: typing_extensions.TypeAlias = PivotTableViewResponse
@typing.final
[docs]
class PivotTableEmptyExpansionsRequest(google.protobuf.message.Message):
"""the first object is the pivot table"""
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
def __init__(
self,
) -> None: ...
[docs]
Global___PivotTableEmptyExpansionsRequest: typing_extensions.TypeAlias = PivotTableEmptyExpansionsRequest
@typing.final
[docs]
class PivotTableEmptyExpansionsResponse(google.protobuf.message.Message):
"""the first object is the result rows expansion table
the second object is the result columns expansion table
"""
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
def __init__(
self,
) -> None: ...
[docs]
Global___PivotTableEmptyExpansionsResponse: typing_extensions.TypeAlias = PivotTableEmptyExpansionsResponse
@typing.final
[docs]
class PivotTableSourceExportRequest(google.protobuf.message.Message):
"""the first object is the pivot table"""
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
def __init__(
self,
) -> None: ...
[docs]
Global___PivotTableSourceExportRequest: typing_extensions.TypeAlias = PivotTableSourceExportRequest
@typing.final
[docs]
class PivotTableSourceExportResponse(google.protobuf.message.Message):
"""the first object is the result source table"""
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
def __init__(
self,
) -> None: ...
[docs]
Global___PivotTableSourceExportResponse: typing_extensions.TypeAlias = PivotTableSourceExportResponse
@typing.final
[docs]
class PivotTableDescriptorRequest(google.protobuf.message.Message):
"""the first object is the pivot table"""
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
def __init__(
self,
) -> None: ...
[docs]
Global___PivotTableDescriptorRequest: typing_extensions.TypeAlias = PivotTableDescriptorRequest
@typing.final
[docs]
class PivotTableDescriptorResponse(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
PIVOT_DESCRIPTOR_FIELD_NUMBER: builtins.int
@property
[docs]
def pivot_descriptor(self) -> Global___PivotTableDescriptorMessage:
"""The description of the table"""
def __init__(
self,
*,
pivot_descriptor: Global___PivotTableDescriptorMessage | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> None: ...
[docs]
Global___PivotTableDescriptorResponse: typing_extensions.TypeAlias = PivotTableDescriptorResponse
@typing.final
[docs]
class PivotTableCreationRequest(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
AGGREGATIONS_FIELD_NUMBER: builtins.int
[docs]
ROW_KEYS_FIELD_NUMBER: builtins.int
[docs]
COLUMN_KEYS_FIELD_NUMBER: builtins.int
@property
[docs]
def aggregations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[deephaven_core.proto.table_pb2.Aggregation]:
"""aggregations for the values"""
@property
[docs]
def row_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
@property
[docs]
def column_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
"""first reference is the input table"""
def __init__(
self,
*,
aggregations: collections.abc.Iterable[deephaven_core.proto.table_pb2.Aggregation] | None = ...,
row_keys: collections.abc.Iterable[builtins.str] | None = ...,
column_keys: collections.abc.Iterable[builtins.str] | None = ...,
) -> None: ...
[docs]
def ClearField(self, field_name: typing.Literal["aggregations", b"aggregations", "column_keys", b"column_keys", "row_keys", b"row_keys"]) -> None: ...
[docs]
Global___PivotTableCreationRequest: typing_extensions.TypeAlias = PivotTableCreationRequest
@typing.final
[docs]
class PivotTableCreationResponse(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
PIVOT_DESCRIPTOR_FIELD_NUMBER: builtins.int
@property
[docs]
def pivot_descriptor(self) -> Global___PivotTableDescriptorMessage:
"""first reference is the created pivot table"""
def __init__(
self,
*,
pivot_descriptor: Global___PivotTableDescriptorMessage | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> None: ...
[docs]
Global___PivotTableCreationResponse: typing_extensions.TypeAlias = PivotTableCreationResponse
@typing.final
[docs]
class PivotTableApplyRequest(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
ROW_SORTS_FIELD_NUMBER: builtins.int
[docs]
COLUMN_SORTS_FIELD_NUMBER: builtins.int
[docs]
FILTERS_FIELD_NUMBER: builtins.int
@property
[docs]
def row_sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[deephaven_core.proto.table_pb2.SortDescriptor]: ...
@property
[docs]
def column_sorts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[deephaven_core.proto.table_pb2.SortDescriptor]: ...
@property
[docs]
def filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[deephaven_core.proto.table_pb2.Condition]:
"""The filters must be against the grouping columns (either row or columns)"""
def __init__(
self,
*,
row_sorts: collections.abc.Iterable[deephaven_core.proto.table_pb2.SortDescriptor] | None = ...,
column_sorts: collections.abc.Iterable[deephaven_core.proto.table_pb2.SortDescriptor] | None = ...,
filters: collections.abc.Iterable[deephaven_core.proto.table_pb2.Condition] | None = ...,
) -> None: ...
[docs]
def ClearField(self, field_name: typing.Literal["column_sorts", b"column_sorts", "filters", b"filters", "row_sorts", b"row_sorts"]) -> None: ...
[docs]
Global___PivotTableApplyRequest: typing_extensions.TypeAlias = PivotTableApplyRequest
@typing.final
[docs]
class PivotTableApplyResponse(google.protobuf.message.Message):
[docs]
DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs]
PIVOT_DESCRIPTOR_FIELD_NUMBER: builtins.int
@property
[docs]
def pivot_descriptor(self) -> Global___PivotTableDescriptorMessage:
"""first reference is the new pivot table"""
def __init__(
self,
*,
pivot_descriptor: Global___PivotTableDescriptorMessage | None = ...,
) -> None: ...
[docs]
def HasField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> builtins.bool: ...
[docs]
def ClearField(self, field_name: typing.Literal["pivot_descriptor", b"pivot_descriptor"]) -> None: ...
[docs]
Global___PivotTableApplyResponse: typing_extensions.TypeAlias = PivotTableApplyResponse