# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from opentelemetry.proto.common.v1.common_pb2 import (
    InstrumentationLibrary as opentelemetry___proto___common___v1___common_pb2___InstrumentationLibrary,
    KeyValue as opentelemetry___proto___common___v1___common_pb2___KeyValue,
)

from opentelemetry.proto.resource.v1.resource_pb2 import (
    Resource as opentelemetry___proto___resource___v1___resource_pb2___Resource,
)

from typing import (
    Iterable as typing___Iterable,
    List as typing___List,
    NewType as typing___NewType,
    Optional as typing___Optional,
    Text as typing___Text,
    Tuple as typing___Tuple,
    Union as typing___Union,
    cast as typing___cast,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int
builtin___str = str
if sys.version_info < (3,):
    builtin___buffer = buffer
    builtin___unicode = unicode


DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class ResourceSpans(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def resource(self) -> opentelemetry___proto___resource___v1___resource_pb2___Resource: ...

    @property
    def instrumentation_library_spans(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___InstrumentationLibrarySpans]: ...

    def __init__(self,
        *,
        resource : typing___Optional[opentelemetry___proto___resource___v1___resource_pb2___Resource] = None,
        instrumentation_library_spans : typing___Optional[typing___Iterable[type___InstrumentationLibrarySpans]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ResourceSpans: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ResourceSpans: ...
    def HasField(self, field_name: typing_extensions___Literal[u"resource",b"resource"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"instrumentation_library_spans",b"instrumentation_library_spans",u"resource",b"resource"]) -> None: ...
type___ResourceSpans = ResourceSpans

class InstrumentationLibrarySpans(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def instrumentation_library(self) -> opentelemetry___proto___common___v1___common_pb2___InstrumentationLibrary: ...

    @property
    def spans(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___Span]: ...

    def __init__(self,
        *,
        instrumentation_library : typing___Optional[opentelemetry___proto___common___v1___common_pb2___InstrumentationLibrary] = None,
        spans : typing___Optional[typing___Iterable[type___Span]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> InstrumentationLibrarySpans: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> InstrumentationLibrarySpans: ...
    def HasField(self, field_name: typing_extensions___Literal[u"instrumentation_library",b"instrumentation_library"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"instrumentation_library",b"instrumentation_library",u"spans",b"spans"]) -> None: ...
type___InstrumentationLibrarySpans = InstrumentationLibrarySpans

class Span(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    SpanKindValue = typing___NewType('SpanKindValue', builtin___int)
    type___SpanKindValue = SpanKindValue
    class SpanKind(object):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> Span.SpanKindValue: ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List[Span.SpanKindValue]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, Span.SpanKindValue]]: ...
        SPAN_KIND_UNSPECIFIED = typing___cast(Span.SpanKindValue, 0)
        SPAN_KIND_INTERNAL = typing___cast(Span.SpanKindValue, 1)
        SPAN_KIND_SERVER = typing___cast(Span.SpanKindValue, 2)
        SPAN_KIND_CLIENT = typing___cast(Span.SpanKindValue, 3)
        SPAN_KIND_PRODUCER = typing___cast(Span.SpanKindValue, 4)
        SPAN_KIND_CONSUMER = typing___cast(Span.SpanKindValue, 5)
    SPAN_KIND_UNSPECIFIED = typing___cast(Span.SpanKindValue, 0)
    SPAN_KIND_INTERNAL = typing___cast(Span.SpanKindValue, 1)
    SPAN_KIND_SERVER = typing___cast(Span.SpanKindValue, 2)
    SPAN_KIND_CLIENT = typing___cast(Span.SpanKindValue, 3)
    SPAN_KIND_PRODUCER = typing___cast(Span.SpanKindValue, 4)
    SPAN_KIND_CONSUMER = typing___cast(Span.SpanKindValue, 5)
    type___SpanKind = SpanKind

    class Event(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        time_unix_nano: builtin___int = ...
        name: typing___Text = ...
        dropped_attributes_count: builtin___int = ...

        @property
        def attributes(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[opentelemetry___proto___common___v1___common_pb2___KeyValue]: ...

        def __init__(self,
            *,
            time_unix_nano : typing___Optional[builtin___int] = None,
            name : typing___Optional[typing___Text] = None,
            attributes : typing___Optional[typing___Iterable[opentelemetry___proto___common___v1___common_pb2___KeyValue]] = None,
            dropped_attributes_count : typing___Optional[builtin___int] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Span.Event: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Span.Event: ...
        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: ...
    type___Event = Event

    class Link(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        trace_id: builtin___bytes = ...
        span_id: builtin___bytes = ...
        trace_state: typing___Text = ...
        dropped_attributes_count: builtin___int = ...

        @property
        def attributes(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[opentelemetry___proto___common___v1___common_pb2___KeyValue]: ...

        def __init__(self,
            *,
            trace_id : typing___Optional[builtin___bytes] = None,
            span_id : typing___Optional[builtin___bytes] = None,
            trace_state : typing___Optional[typing___Text] = None,
            attributes : typing___Optional[typing___Iterable[opentelemetry___proto___common___v1___common_pb2___KeyValue]] = None,
            dropped_attributes_count : typing___Optional[builtin___int] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Span.Link: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Span.Link: ...
        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: ...
    type___Link = Link

    trace_id: builtin___bytes = ...
    span_id: builtin___bytes = ...
    trace_state: typing___Text = ...
    parent_span_id: builtin___bytes = ...
    name: typing___Text = ...
    kind: type___Span.SpanKindValue = ...
    start_time_unix_nano: builtin___int = ...
    end_time_unix_nano: builtin___int = ...
    dropped_attributes_count: builtin___int = ...
    dropped_events_count: builtin___int = ...
    dropped_links_count: builtin___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[type___Span.Event]: ...

    @property
    def links(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___Span.Link]: ...

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

    def __init__(self,
        *,
        trace_id : typing___Optional[builtin___bytes] = None,
        span_id : typing___Optional[builtin___bytes] = None,
        trace_state : typing___Optional[typing___Text] = None,
        parent_span_id : typing___Optional[builtin___bytes] = None,
        name : typing___Optional[typing___Text] = None,
        kind : typing___Optional[type___Span.SpanKindValue] = None,
        start_time_unix_nano : typing___Optional[builtin___int] = None,
        end_time_unix_nano : typing___Optional[builtin___int] = None,
        attributes : typing___Optional[typing___Iterable[opentelemetry___proto___common___v1___common_pb2___KeyValue]] = None,
        dropped_attributes_count : typing___Optional[builtin___int] = None,
        events : typing___Optional[typing___Iterable[type___Span.Event]] = None,
        dropped_events_count : typing___Optional[builtin___int] = None,
        links : typing___Optional[typing___Iterable[type___Span.Link]] = None,
        dropped_links_count : typing___Optional[builtin___int] = None,
        status : typing___Optional[type___Status] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Span: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Span: ...
    def HasField(self, field_name: typing_extensions___Literal[u"status",b"status"]) -> builtin___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: ...
type___Span = Span

class Status(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    StatusCodeValue = typing___NewType('StatusCodeValue', builtin___int)
    type___StatusCodeValue = StatusCodeValue
    class StatusCode(object):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> Status.StatusCodeValue: ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List[Status.StatusCodeValue]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, Status.StatusCodeValue]]: ...
        STATUS_CODE_OK = typing___cast(Status.StatusCodeValue, 0)
        STATUS_CODE_CANCELLED = typing___cast(Status.StatusCodeValue, 1)
        STATUS_CODE_UNKNOWN_ERROR = typing___cast(Status.StatusCodeValue, 2)
        STATUS_CODE_INVALID_ARGUMENT = typing___cast(Status.StatusCodeValue, 3)
        STATUS_CODE_DEADLINE_EXCEEDED = typing___cast(Status.StatusCodeValue, 4)
        STATUS_CODE_NOT_FOUND = typing___cast(Status.StatusCodeValue, 5)
        STATUS_CODE_ALREADY_EXISTS = typing___cast(Status.StatusCodeValue, 6)
        STATUS_CODE_PERMISSION_DENIED = typing___cast(Status.StatusCodeValue, 7)
        STATUS_CODE_RESOURCE_EXHAUSTED = typing___cast(Status.StatusCodeValue, 8)
        STATUS_CODE_FAILED_PRECONDITION = typing___cast(Status.StatusCodeValue, 9)
        STATUS_CODE_ABORTED = typing___cast(Status.StatusCodeValue, 10)
        STATUS_CODE_OUT_OF_RANGE = typing___cast(Status.StatusCodeValue, 11)
        STATUS_CODE_UNIMPLEMENTED = typing___cast(Status.StatusCodeValue, 12)
        STATUS_CODE_INTERNAL_ERROR = typing___cast(Status.StatusCodeValue, 13)
        STATUS_CODE_UNAVAILABLE = typing___cast(Status.StatusCodeValue, 14)
        STATUS_CODE_DATA_LOSS = typing___cast(Status.StatusCodeValue, 15)
        STATUS_CODE_UNAUTHENTICATED = typing___cast(Status.StatusCodeValue, 16)
    STATUS_CODE_OK = typing___cast(Status.StatusCodeValue, 0)
    STATUS_CODE_CANCELLED = typing___cast(Status.StatusCodeValue, 1)
    STATUS_CODE_UNKNOWN_ERROR = typing___cast(Status.StatusCodeValue, 2)
    STATUS_CODE_INVALID_ARGUMENT = typing___cast(Status.StatusCodeValue, 3)
    STATUS_CODE_DEADLINE_EXCEEDED = typing___cast(Status.StatusCodeValue, 4)
    STATUS_CODE_NOT_FOUND = typing___cast(Status.StatusCodeValue, 5)
    STATUS_CODE_ALREADY_EXISTS = typing___cast(Status.StatusCodeValue, 6)
    STATUS_CODE_PERMISSION_DENIED = typing___cast(Status.StatusCodeValue, 7)
    STATUS_CODE_RESOURCE_EXHAUSTED = typing___cast(Status.StatusCodeValue, 8)
    STATUS_CODE_FAILED_PRECONDITION = typing___cast(Status.StatusCodeValue, 9)
    STATUS_CODE_ABORTED = typing___cast(Status.StatusCodeValue, 10)
    STATUS_CODE_OUT_OF_RANGE = typing___cast(Status.StatusCodeValue, 11)
    STATUS_CODE_UNIMPLEMENTED = typing___cast(Status.StatusCodeValue, 12)
    STATUS_CODE_INTERNAL_ERROR = typing___cast(Status.StatusCodeValue, 13)
    STATUS_CODE_UNAVAILABLE = typing___cast(Status.StatusCodeValue, 14)
    STATUS_CODE_DATA_LOSS = typing___cast(Status.StatusCodeValue, 15)
    STATUS_CODE_UNAUTHENTICATED = typing___cast(Status.StatusCodeValue, 16)
    type___StatusCode = StatusCode

    code: type___Status.StatusCodeValue = ...
    message: typing___Text = ...

    def __init__(self,
        *,
        code : typing___Optional[type___Status.StatusCodeValue] = None,
        message : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Status: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Status: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"code",b"code",u"message",b"message"]) -> None: ...
type___Status = Status
