"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import opentelemetry.proto.common.v1.common_pb2
import opentelemetry.proto.resource.v1.resource_pb2
import typing
import typing_extensions

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

class ResourceSpans(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_FIELD_NUMBER: builtins.int
    INSTRUMENTATION_LIBRARY_SPANS_FIELD_NUMBER: builtins.int
    SCHEMA_URL_FIELD_NUMBER: builtins.int
    schema_url: typing.Text = ...

    @property
    def resource(self) -> opentelemetry.proto.resource.v1.resource_pb2.Resource: ...

    @property
    def instrumentation_library_spans(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InstrumentationLibrarySpans]: ...

    def __init__(self,
        *,
        resource : typing.Optional[opentelemetry.proto.resource.v1.resource_pb2.Resource] = ...,
        instrumentation_library_spans : typing.Optional[typing.Iterable[global___InstrumentationLibrarySpans]] = ...,
        schema_url : typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"resource",b"resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"instrumentation_library_spans",b"instrumentation_library_spans",u"resource",b"resource",u"schema_url",b"schema_url"]) -> None: ...
global___ResourceSpans = ResourceSpans

class InstrumentationLibrarySpans(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    INSTRUMENTATION_LIBRARY_FIELD_NUMBER: builtins.int
    SPANS_FIELD_NUMBER: builtins.int
    SCHEMA_URL_FIELD_NUMBER: builtins.int
    schema_url: typing.Text = ...

    @property
    def instrumentation_library(self) -> opentelemetry.proto.common.v1.common_pb2.InstrumentationLibrary: ...

    @property
    def spans(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Span]: ...

    def __init__(self,
        *,
        instrumentation_library : typing.Optional[opentelemetry.proto.common.v1.common_pb2.InstrumentationLibrary] = ...,
        spans : typing.Optional[typing.Iterable[global___Span]] = ...,
        schema_url : typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"instrumentation_library",b"instrumentation_library"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"instrumentation_library",b"instrumentation_library",u"schema_url",b"schema_url",u"spans",b"spans"]) -> None: ...
global___InstrumentationLibrarySpans = InstrumentationLibrarySpans

class Span(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _SpanKind(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SpanKind.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        SPAN_KIND_UNSPECIFIED = Span.SpanKind.V(0)
        SPAN_KIND_INTERNAL = Span.SpanKind.V(1)
        SPAN_KIND_SERVER = Span.SpanKind.V(2)
        SPAN_KIND_CLIENT = Span.SpanKind.V(3)
        SPAN_KIND_PRODUCER = Span.SpanKind.V(4)
        SPAN_KIND_CONSUMER = Span.SpanKind.V(5)
    class SpanKind(metaclass=_SpanKind):
        V = typing.NewType('V', builtins.int)
    SPAN_KIND_UNSPECIFIED = Span.SpanKind.V(0)
    SPAN_KIND_INTERNAL = Span.SpanKind.V(1)
    SPAN_KIND_SERVER = Span.SpanKind.V(2)
    SPAN_KIND_CLIENT = Span.SpanKind.V(3)
    SPAN_KIND_PRODUCER = Span.SpanKind.V(4)
    SPAN_KIND_CONSUMER = Span.SpanKind.V(5)

    class Event(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        TIME_UNIX_NANO_FIELD_NUMBER: builtins.int
        NAME_FIELD_NUMBER: builtins.int
        ATTRIBUTES_FIELD_NUMBER: builtins.int
        DROPPED_ATTRIBUTES_COUNT_FIELD_NUMBER: builtins.int
        time_unix_nano: builtins.int = ...
        name: typing.Text = ...
        dropped_attributes_count: builtins.int = ...

        @property
        def attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[opentelemetry.proto.common.v1.common_pb2.KeyValue]: ...

        def __init__(self,
            *,
            time_unix_nano : builtins.int = ...,
            name : typing.Text = ...,
            attributes : typing.Optional[typing.Iterable[opentelemetry.proto.common.v1.common_pb2.KeyValue]] = ...,
            dropped_attributes_count : builtins.int = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes",u"dropped_attributes_count",b"dropped_attributes_count",u"name",b"name",u"time_unix_nano",b"time_unix_nano"]) -> None: ...

    class Link(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        TRACE_ID_FIELD_NUMBER: builtins.int
        SPAN_ID_FIELD_NUMBER: builtins.int
        TRACE_STATE_FIELD_NUMBER: builtins.int
        ATTRIBUTES_FIELD_NUMBER: builtins.int
        DROPPED_ATTRIBUTES_COUNT_FIELD_NUMBER: builtins.int
        trace_id: builtins.bytes = ...
        span_id: builtins.bytes = ...
        trace_state: typing.Text = ...
        dropped_attributes_count: builtins.int = ...

        @property
        def attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[opentelemetry.proto.common.v1.common_pb2.KeyValue]: ...

        def __init__(self,
            *,
            trace_id : builtins.bytes = ...,
            span_id : builtins.bytes = ...,
            trace_state : typing.Text = ...,
            attributes : typing.Optional[typing.Iterable[opentelemetry.proto.common.v1.common_pb2.KeyValue]] = ...,
            dropped_attributes_count : builtins.int = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes",u"dropped_attributes_count",b"dropped_attributes_count",u"span_id",b"span_id",u"trace_id",b"trace_id",u"trace_state",b"trace_state"]) -> None: ...

    TRACE_ID_FIELD_NUMBER: builtins.int
    SPAN_ID_FIELD_NUMBER: builtins.int
    TRACE_STATE_FIELD_NUMBER: builtins.int
    PARENT_SPAN_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    KIND_FIELD_NUMBER: builtins.int
    START_TIME_UNIX_NANO_FIELD_NUMBER: builtins.int
    END_TIME_UNIX_NANO_FIELD_NUMBER: builtins.int
    ATTRIBUTES_FIELD_NUMBER: builtins.int
    DROPPED_ATTRIBUTES_COUNT_FIELD_NUMBER: builtins.int
    EVENTS_FIELD_NUMBER: builtins.int
    DROPPED_EVENTS_COUNT_FIELD_NUMBER: builtins.int
    LINKS_FIELD_NUMBER: builtins.int
    DROPPED_LINKS_COUNT_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    trace_id: builtins.bytes = ...
    span_id: builtins.bytes = ...
    trace_state: typing.Text = ...
    parent_span_id: builtins.bytes = ...
    name: typing.Text = ...
    kind: global___Span.SpanKind.V = ...
    start_time_unix_nano: builtins.int = ...
    end_time_unix_nano: builtins.int = ...
    dropped_attributes_count: builtins.int = ...
    dropped_events_count: builtins.int = ...
    dropped_links_count: builtins.int = ...

    @property
    def attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[opentelemetry.proto.common.v1.common_pb2.KeyValue]: ...

    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Span.Event]: ...

    @property
    def links(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Span.Link]: ...

    @property
    def status(self) -> global___Status: ...

    def __init__(self,
        *,
        trace_id : builtins.bytes = ...,
        span_id : builtins.bytes = ...,
        trace_state : typing.Text = ...,
        parent_span_id : builtins.bytes = ...,
        name : typing.Text = ...,
        kind : global___Span.SpanKind.V = ...,
        start_time_unix_nano : builtins.int = ...,
        end_time_unix_nano : builtins.int = ...,
        attributes : typing.Optional[typing.Iterable[opentelemetry.proto.common.v1.common_pb2.KeyValue]] = ...,
        dropped_attributes_count : builtins.int = ...,
        events : typing.Optional[typing.Iterable[global___Span.Event]] = ...,
        dropped_events_count : builtins.int = ...,
        links : typing.Optional[typing.Iterable[global___Span.Link]] = ...,
        dropped_links_count : builtins.int = ...,
        status : typing.Optional[global___Status] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"status",b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes",u"dropped_attributes_count",b"dropped_attributes_count",u"dropped_events_count",b"dropped_events_count",u"dropped_links_count",b"dropped_links_count",u"end_time_unix_nano",b"end_time_unix_nano",u"events",b"events",u"kind",b"kind",u"links",b"links",u"name",b"name",u"parent_span_id",b"parent_span_id",u"span_id",b"span_id",u"start_time_unix_nano",b"start_time_unix_nano",u"status",b"status",u"trace_id",b"trace_id",u"trace_state",b"trace_state"]) -> None: ...
global___Span = Span

class Status(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _DeprecatedStatusCode(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeprecatedStatusCode.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        DEPRECATED_STATUS_CODE_OK = Status.DeprecatedStatusCode.V(0)
        DEPRECATED_STATUS_CODE_CANCELLED = Status.DeprecatedStatusCode.V(1)
        DEPRECATED_STATUS_CODE_UNKNOWN_ERROR = Status.DeprecatedStatusCode.V(2)
        DEPRECATED_STATUS_CODE_INVALID_ARGUMENT = Status.DeprecatedStatusCode.V(3)
        DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED = Status.DeprecatedStatusCode.V(4)
        DEPRECATED_STATUS_CODE_NOT_FOUND = Status.DeprecatedStatusCode.V(5)
        DEPRECATED_STATUS_CODE_ALREADY_EXISTS = Status.DeprecatedStatusCode.V(6)
        DEPRECATED_STATUS_CODE_PERMISSION_DENIED = Status.DeprecatedStatusCode.V(7)
        DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED = Status.DeprecatedStatusCode.V(8)
        DEPRECATED_STATUS_CODE_FAILED_PRECONDITION = Status.DeprecatedStatusCode.V(9)
        DEPRECATED_STATUS_CODE_ABORTED = Status.DeprecatedStatusCode.V(10)
        DEPRECATED_STATUS_CODE_OUT_OF_RANGE = Status.DeprecatedStatusCode.V(11)
        DEPRECATED_STATUS_CODE_UNIMPLEMENTED = Status.DeprecatedStatusCode.V(12)
        DEPRECATED_STATUS_CODE_INTERNAL_ERROR = Status.DeprecatedStatusCode.V(13)
        DEPRECATED_STATUS_CODE_UNAVAILABLE = Status.DeprecatedStatusCode.V(14)
        DEPRECATED_STATUS_CODE_DATA_LOSS = Status.DeprecatedStatusCode.V(15)
        DEPRECATED_STATUS_CODE_UNAUTHENTICATED = Status.DeprecatedStatusCode.V(16)
    class DeprecatedStatusCode(metaclass=_DeprecatedStatusCode):
        V = typing.NewType('V', builtins.int)
    DEPRECATED_STATUS_CODE_OK = Status.DeprecatedStatusCode.V(0)
    DEPRECATED_STATUS_CODE_CANCELLED = Status.DeprecatedStatusCode.V(1)
    DEPRECATED_STATUS_CODE_UNKNOWN_ERROR = Status.DeprecatedStatusCode.V(2)
    DEPRECATED_STATUS_CODE_INVALID_ARGUMENT = Status.DeprecatedStatusCode.V(3)
    DEPRECATED_STATUS_CODE_DEADLINE_EXCEEDED = Status.DeprecatedStatusCode.V(4)
    DEPRECATED_STATUS_CODE_NOT_FOUND = Status.DeprecatedStatusCode.V(5)
    DEPRECATED_STATUS_CODE_ALREADY_EXISTS = Status.DeprecatedStatusCode.V(6)
    DEPRECATED_STATUS_CODE_PERMISSION_DENIED = Status.DeprecatedStatusCode.V(7)
    DEPRECATED_STATUS_CODE_RESOURCE_EXHAUSTED = Status.DeprecatedStatusCode.V(8)
    DEPRECATED_STATUS_CODE_FAILED_PRECONDITION = Status.DeprecatedStatusCode.V(9)
    DEPRECATED_STATUS_CODE_ABORTED = Status.DeprecatedStatusCode.V(10)
    DEPRECATED_STATUS_CODE_OUT_OF_RANGE = Status.DeprecatedStatusCode.V(11)
    DEPRECATED_STATUS_CODE_UNIMPLEMENTED = Status.DeprecatedStatusCode.V(12)
    DEPRECATED_STATUS_CODE_INTERNAL_ERROR = Status.DeprecatedStatusCode.V(13)
    DEPRECATED_STATUS_CODE_UNAVAILABLE = Status.DeprecatedStatusCode.V(14)
    DEPRECATED_STATUS_CODE_DATA_LOSS = Status.DeprecatedStatusCode.V(15)
    DEPRECATED_STATUS_CODE_UNAUTHENTICATED = Status.DeprecatedStatusCode.V(16)

    class _StatusCode(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusCode.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        STATUS_CODE_UNSET = Status.StatusCode.V(0)
        STATUS_CODE_OK = Status.StatusCode.V(1)
        STATUS_CODE_ERROR = Status.StatusCode.V(2)
    class StatusCode(metaclass=_StatusCode):
        V = typing.NewType('V', builtins.int)
    STATUS_CODE_UNSET = Status.StatusCode.V(0)
    STATUS_CODE_OK = Status.StatusCode.V(1)
    STATUS_CODE_ERROR = Status.StatusCode.V(2)

    DEPRECATED_CODE_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    CODE_FIELD_NUMBER: builtins.int
    deprecated_code: global___Status.DeprecatedStatusCode.V = ...
    message: typing.Text = ...
    code: global___Status.StatusCode.V = ...

    def __init__(self,
        *,
        deprecated_code : global___Status.DeprecatedStatusCode.V = ...,
        message : typing.Text = ...,
        code : global___Status.StatusCode.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"code",b"code",u"deprecated_code",b"deprecated_code",u"message",b"message"]) -> None: ...
global___Status = Status
