"""
@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 google.protobuf.struct_pb2
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

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

global___SchemeType = SchemeType
class _SchemeType(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SchemeType.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    SCHEME_TYPE_UNSPECIFIED = SchemeType.V(0)
    SCHEME_TYPE_SUPPORT = SchemeType.V(1)
    SCHEME_TYPE_ATTACK = SchemeType.V(2)
    SCHEME_TYPE_REPHRASE = SchemeType.V(3)
    SCHEME_TYPE_TRANSITION = SchemeType.V(4)
    SCHEME_TYPE_PREFERENCE = SchemeType.V(5)
    SCHEME_TYPE_ASSERTION = SchemeType.V(6)
class SchemeType(metaclass=_SchemeType):
    V = typing.NewType('V', builtins.int)
SCHEME_TYPE_UNSPECIFIED = SchemeType.V(0)
SCHEME_TYPE_SUPPORT = SchemeType.V(1)
SCHEME_TYPE_ATTACK = SchemeType.V(2)
SCHEME_TYPE_REPHRASE = SchemeType.V(3)
SCHEME_TYPE_TRANSITION = SchemeType.V(4)
SCHEME_TYPE_PREFERENCE = SchemeType.V(5)
SCHEME_TYPE_ASSERTION = SchemeType.V(6)

class Metadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CREATED_FIELD_NUMBER: builtins.int
    UPDATED_FIELD_NUMBER: builtins.int

    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...

    @property
    def updated(self) -> google.protobuf.timestamp_pb2.Timestamp: ...

    def __init__(self,
        *,
        created : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        updated : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"created",b"created",u"updated",b"updated"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"created",b"created",u"updated",b"updated"]) -> None: ...
global___Metadata = Metadata

class ArgumentGraph(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class NodesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...

        @property
        def value(self) -> global___Node: ...

        def __init__(self,
            *,
            key : typing.Text = ...,
            value : typing.Optional[global___Node] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class EdgesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...

        @property
        def value(self) -> global___Edge: ...

        def __init__(self,
            *,
            key : typing.Text = ...,
            value : typing.Optional[global___Edge] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class ResourcesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...

        @property
        def value(self) -> global___Resource: ...

        def __init__(self,
            *,
            key : typing.Text = ...,
            value : typing.Optional[global___Resource] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    NODES_FIELD_NUMBER: builtins.int
    EDGES_FIELD_NUMBER: builtins.int
    MAJOR_CLAIM_FIELD_NUMBER: builtins.int
    ANALYSTS_FIELD_NUMBER: builtins.int
    RESOURCES_FIELD_NUMBER: builtins.int
    USERDATA_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    major_claim: typing.Text = ...
    version: typing.Text = ...

    @property
    def nodes(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___Node]: ...

    @property
    def edges(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___Edge]: ...

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

    @property
    def resources(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___Resource]: ...

    @property
    def userdata(self) -> google.protobuf.struct_pb2.Struct: ...

    @property
    def metadata(self) -> global___Metadata: ...

    def __init__(self,
        *,
        nodes : typing.Optional[typing.Mapping[typing.Text, global___Node]] = ...,
        edges : typing.Optional[typing.Mapping[typing.Text, global___Edge]] = ...,
        major_claim : typing.Text = ...,
        analysts : typing.Optional[typing.Iterable[global___Analyst]] = ...,
        resources : typing.Optional[typing.Mapping[typing.Text, global___Resource]] = ...,
        userdata : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        metadata : typing.Optional[global___Metadata] = ...,
        version : typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"metadata",b"metadata",u"userdata",b"userdata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"analysts",b"analysts",u"edges",b"edges",u"major_claim",b"major_claim",u"metadata",b"metadata",u"nodes",b"nodes",u"resources",b"resources",u"userdata",b"userdata",u"version",b"version"]) -> None: ...
global___ArgumentGraph = ArgumentGraph

class Analyst(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    USERDATA_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    email: typing.Text = ...

    @property
    def userdata(self) -> google.protobuf.struct_pb2.Struct: ...

    def __init__(self,
        *,
        name : typing.Text = ...,
        email : typing.Text = ...,
        userdata : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"userdata",b"userdata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"email",b"email",u"name",b"name",u"userdata",b"userdata"]) -> None: ...
global___Analyst = Analyst

class Resource(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TEXT_FIELD_NUMBER: builtins.int
    USERDATA_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    text: typing.Text = ...
    title: typing.Text = ...
    source: typing.Text = ...

    @property
    def userdata(self) -> google.protobuf.struct_pb2.Struct: ...

    @property
    def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...

    def __init__(self,
        *,
        text : typing.Text = ...,
        userdata : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        title : typing.Text = ...,
        source : typing.Text = ...,
        timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"timestamp",b"timestamp",u"userdata",b"userdata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"source",b"source",u"text",b"text",u"timestamp",b"timestamp",u"title",b"title",u"userdata",b"userdata"]) -> None: ...
global___Resource = Resource

class Edge(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SOURCE_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    USERDATA_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    source: typing.Text = ...
    target: typing.Text = ...

    @property
    def userdata(self) -> google.protobuf.struct_pb2.Struct: ...

    @property
    def metadata(self) -> global___Metadata: ...

    def __init__(self,
        *,
        source : typing.Text = ...,
        target : typing.Text = ...,
        userdata : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        metadata : typing.Optional[global___Metadata] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"metadata",b"metadata",u"userdata",b"userdata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"metadata",b"metadata",u"source",b"source",u"target",b"target",u"userdata",b"userdata"]) -> None: ...
global___Edge = Edge

class Node(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ATOM_FIELD_NUMBER: builtins.int
    SCHEME_FIELD_NUMBER: builtins.int
    USERDATA_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int

    @property
    def atom(self) -> global___AtomNode: ...

    @property
    def scheme(self) -> global___SchemeNode: ...

    @property
    def userdata(self) -> google.protobuf.struct_pb2.Struct: ...

    @property
    def metadata(self) -> global___Metadata: ...

    def __init__(self,
        *,
        atom : typing.Optional[global___AtomNode] = ...,
        scheme : typing.Optional[global___SchemeNode] = ...,
        userdata : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        metadata : typing.Optional[global___Metadata] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"atom",b"atom",u"metadata",b"metadata",u"node",b"node",u"scheme",b"scheme",u"userdata",b"userdata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"atom",b"atom",u"metadata",b"metadata",u"node",b"node",u"scheme",b"scheme",u"userdata",b"userdata"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"node",b"node"]) -> typing_extensions.Literal["atom","scheme"]: ...
global___Node = Node

class AtomNode(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TEXT_FIELD_NUMBER: builtins.int
    ANCHOR_FIELD_NUMBER: builtins.int
    text: typing.Text = ...

    @property
    def anchor(self) -> global___Anchor: ...

    def __init__(self,
        *,
        text : typing.Text = ...,
        anchor : typing.Optional[global___Anchor] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"anchor",b"anchor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"anchor",b"anchor",u"text",b"text"]) -> None: ...
global___AtomNode = AtomNode

class SchemeNode(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TYPE_FIELD_NUMBER: builtins.int
    ARGUMENTATION_SCHEME_FIELD_NUMBER: builtins.int
    DESCRIPTORS_FIELD_NUMBER: builtins.int
    type: global___SchemeType.V = ...
    argumentation_scheme: typing.Text = ...

    @property
    def descriptors(self) -> google.protobuf.struct_pb2.Struct: ...

    def __init__(self,
        *,
        type : global___SchemeType.V = ...,
        argumentation_scheme : typing.Text = ...,
        descriptors : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"descriptors",b"descriptors"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"argumentation_scheme",b"argumentation_scheme",u"descriptors",b"descriptors",u"type",b"type"]) -> None: ...
global___SchemeNode = SchemeNode

class Anchor(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_FIELD_NUMBER: builtins.int
    OFFSET_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    USERDATA_FIELD_NUMBER: builtins.int
    resource: typing.Text = ...
    offset: builtins.int = ...
    text: typing.Text = ...

    @property
    def userdata(self) -> google.protobuf.struct_pb2.Struct: ...

    def __init__(self,
        *,
        resource : typing.Text = ...,
        offset : builtins.int = ...,
        text : typing.Text = ...,
        userdata : typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"userdata",b"userdata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"offset",b"offset",u"resource",b"resource",u"text",b"text",u"userdata",b"userdata"]) -> None: ...
global___Anchor = Anchor
