"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sentry_protos.snuba.v1alpha.request_common_pb2
import sentry_protos.snuba.v1alpha.trace_item_attribute_pb2
import sentry_protos.snuba.v1alpha.trace_item_filter_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class SpanSamplesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class OrderBy(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        DESCENDING_FIELD_NUMBER: builtins.int
        descending: builtins.bool
        @property
        def key(self) -> sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeKey: ...
        def __init__(
            self,
            *,
            key: sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeKey | None = ...,
            descending: builtins.bool = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["descending", b"descending", "key", b"key"]) -> None: ...

    META_FIELD_NUMBER: builtins.int
    FILTER_FIELD_NUMBER: builtins.int
    ORDER_BY_FIELD_NUMBER: builtins.int
    KEYS_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    VIRTUAL_COLUMN_CONTEXTS_FIELD_NUMBER: builtins.int
    limit: builtins.int
    @property
    def meta(self) -> sentry_protos.snuba.v1alpha.request_common_pb2.RequestMeta: ...
    @property
    def filter(self) -> sentry_protos.snuba.v1alpha.trace_item_filter_pb2.TraceItemFilter: ...
    @property
    def order_by(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpanSamplesRequest.OrderBy]: ...
    @property
    def keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeKey]: ...
    @property
    def virtual_column_contexts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.VirtualColumnContext]: ...
    def __init__(
        self,
        *,
        meta: sentry_protos.snuba.v1alpha.request_common_pb2.RequestMeta | None = ...,
        filter: sentry_protos.snuba.v1alpha.trace_item_filter_pb2.TraceItemFilter | None = ...,
        order_by: collections.abc.Iterable[global___SpanSamplesRequest.OrderBy] | None = ...,
        keys: collections.abc.Iterable[sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeKey] | None = ...,
        limit: builtins.int = ...,
        virtual_column_contexts: collections.abc.Iterable[sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.VirtualColumnContext] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["filter", b"filter", "meta", b"meta"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["filter", b"filter", "keys", b"keys", "limit", b"limit", "meta", b"meta", "order_by", b"order_by", "virtual_column_contexts", b"virtual_column_contexts"]) -> None: ...

global___SpanSamplesRequest = SpanSamplesRequest

@typing.final
class SpanSample(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class ResultsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeValue: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeValue | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESULTS_FIELD_NUMBER: builtins.int
    @property
    def results(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeValue]: ...
    def __init__(
        self,
        *,
        results: collections.abc.Mapping[builtins.str, sentry_protos.snuba.v1alpha.trace_item_attribute_pb2.AttributeValue] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["results", b"results"]) -> None: ...

global___SpanSample = SpanSample

@typing.final
class SpanSamplesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SPAN_SAMPLES_FIELD_NUMBER: builtins.int
    @property
    def span_samples(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpanSample]: ...
    def __init__(
        self,
        *,
        span_samples: collections.abc.Iterable[global___SpanSample] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["span_samples", b"span_samples"]) -> None: ...

global___SpanSamplesResponse = SpanSamplesResponse
