"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import google.protobuf.wrappers_pb2
import th2_grpc_common.common_pb2
import typing
import typing_extensions

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

class FilterParameterType(metaclass=_FilterParameterType):
    V = typing.NewType('V', builtins.int)

global___FilterParameterType = FilterParameterType

NUMBER = FilterParameterType.V(0)
BOOLEAN = FilterParameterType.V(1)
STRING = FilterParameterType.V(2)
STRING_LIST = FilterParameterType.V(3)

class _FilterParameterType(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FilterParameterType.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    NUMBER = FilterParameterType.V(0)
    BOOLEAN = FilterParameterType.V(1)
    STRING = FilterParameterType.V(2)
    STRING_LIST = FilterParameterType.V(3)

class TimeRelation(metaclass=_TimeRelation):
    V = typing.NewType('V', builtins.int)

global___TimeRelation = TimeRelation

NEXT = TimeRelation.V(0)
PREVIOUS = TimeRelation.V(1)

class _TimeRelation(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[TimeRelation.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    NEXT = TimeRelation.V(0)
    PREVIOUS = TimeRelation.V(1)

class MessageStreamNamesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___MessageStreamNamesRequest = MessageStreamNamesRequest

class MessageFiltersRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___MessageFiltersRequest = MessageFiltersRequest

class EventFiltersRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___EventFiltersRequest = EventFiltersRequest

class EventData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EVENT_ID_FIELD_NUMBER: builtins.int
    PARENT_EVENT_ID_FIELD_NUMBER: builtins.int
    BATCH_ID_FIELD_NUMBER: builtins.int
    IS_BATCHED_FIELD_NUMBER: builtins.int
    START_TIMESTAMP_FIELD_NUMBER: builtins.int
    END_TIMESTAMP_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    EVENT_NAME_FIELD_NUMBER: builtins.int
    EVENT_TYPE_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    ATTACHED_MESSAGE_IDS_FIELD_NUMBER: builtins.int
    is_batched: builtins.bool = ...
    status: th2_grpc_common.common_pb2.EventStatus.V = ...
    event_name: typing.Text = ...
    event_type: typing.Text = ...
    body: builtins.bytes = ...

    @property
    def event_id(self) -> th2_grpc_common.common_pb2.EventID: ...

    @property
    def parent_event_id(self) -> th2_grpc_common.common_pb2.EventID: ...

    @property
    def batch_id(self) -> th2_grpc_common.common_pb2.EventID: ...

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

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

    @property
    def attached_message_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[th2_grpc_common.common_pb2.MessageID]: ...

    def __init__(self,
        *,
        event_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        parent_event_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        batch_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        is_batched : builtins.bool = ...,
        start_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        end_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        status : th2_grpc_common.common_pb2.EventStatus.V = ...,
        event_name : typing.Text = ...,
        event_type : typing.Text = ...,
        body : builtins.bytes = ...,
        attached_message_ids : typing.Optional[typing.Iterable[th2_grpc_common.common_pb2.MessageID]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"batch_id",b"batch_id",u"end_timestamp",b"end_timestamp",u"event_id",b"event_id",u"parent_event_id",b"parent_event_id",u"start_timestamp",b"start_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attached_message_ids",b"attached_message_ids",u"batch_id",b"batch_id",u"body",b"body",u"end_timestamp",b"end_timestamp",u"event_id",b"event_id",u"event_name",b"event_name",u"event_type",b"event_type",u"is_batched",b"is_batched",u"parent_event_id",b"parent_event_id",u"start_timestamp",b"start_timestamp",u"status",b"status"]) -> None: ...
global___EventData = EventData

class EventMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EVENT_ID_FIELD_NUMBER: builtins.int
    PARENT_EVENT_ID_FIELD_NUMBER: builtins.int
    START_TIMESTAMP_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    EVENT_NAME_FIELD_NUMBER: builtins.int
    EVENT_TYPE_FIELD_NUMBER: builtins.int
    status: th2_grpc_common.common_pb2.EventStatus.V = ...
    event_name: typing.Text = ...
    event_type: typing.Text = ...

    @property
    def event_id(self) -> th2_grpc_common.common_pb2.EventID: ...

    @property
    def parent_event_id(self) -> th2_grpc_common.common_pb2.EventID: ...

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

    def __init__(self,
        *,
        event_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        parent_event_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        start_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        status : th2_grpc_common.common_pb2.EventStatus.V = ...,
        event_name : typing.Text = ...,
        event_type : typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"event_id",b"event_id",u"parent_event_id",b"parent_event_id",u"start_timestamp",b"start_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"event_id",b"event_id",u"event_name",b"event_name",u"event_type",b"event_type",u"parent_event_id",b"parent_event_id",u"start_timestamp",b"start_timestamp",u"status",b"status"]) -> None: ...
global___EventMetadata = EventMetadata

class EventIds(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    IDS_FIELD_NUMBER: builtins.int

    @property
    def ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[th2_grpc_common.common_pb2.EventID]: ...

    def __init__(self,
        *,
        ids : typing.Optional[typing.Iterable[th2_grpc_common.common_pb2.EventID]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"ids",b"ids"]) -> None: ...
global___EventIds = EventIds

class Events(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EVENTS_FIELD_NUMBER: builtins.int

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

    def __init__(self,
        *,
        events : typing.Optional[typing.Iterable[global___EventData]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"events",b"events"]) -> None: ...
global___Events = Events

class MessageBodyWrapper(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MESSAGE_FIELD_NUMBER: builtins.int
    MATCH_FIELD_NUMBER: builtins.int
    match: builtins.bool = ...

    @property
    def message(self) -> th2_grpc_common.common_pb2.Message: ...

    def __init__(self,
        *,
        message : typing.Optional[th2_grpc_common.common_pb2.Message] = ...,
        match : builtins.bool = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"message",b"message"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"match",b"match",u"message",b"message"]) -> None: ...
global___MessageBodyWrapper = MessageBodyWrapper

class MessageData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MESSAGE_ID_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    BODY_RAW_FIELD_NUMBER: builtins.int
    ATTACHED_EVENT_IDS_FIELD_NUMBER: builtins.int
    MESSAGES_FIELD_NUMBER: builtins.int
    body_raw: builtins.bytes = ...

    @property
    def message_id(self) -> th2_grpc_common.common_pb2.MessageID: ...

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

    @property
    def attached_event_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[th2_grpc_common.common_pb2.EventID]: ...

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

    def __init__(self,
        *,
        message_id : typing.Optional[th2_grpc_common.common_pb2.MessageID] = ...,
        timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        body_raw : builtins.bytes = ...,
        attached_event_ids : typing.Optional[typing.Iterable[th2_grpc_common.common_pb2.EventID]] = ...,
        messages : typing.Optional[typing.Iterable[global___MessageBodyWrapper]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"message_id",b"message_id",u"timestamp",b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attached_event_ids",b"attached_event_ids",u"body_raw",b"body_raw",u"message_id",b"message_id",u"messages",b"messages",u"timestamp",b"timestamp"]) -> None: ...
global___MessageData = MessageData

class LastScannedObjectInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MESSAGE_ID_FIELD_NUMBER: builtins.int
    EVENT_ID_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    SCAN_COUNTER_FIELD_NUMBER: builtins.int
    scan_counter: builtins.int = ...

    @property
    def message_id(self) -> th2_grpc_common.common_pb2.MessageID: ...

    @property
    def event_id(self) -> th2_grpc_common.common_pb2.EventID: ...

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

    def __init__(self,
        *,
        message_id : typing.Optional[th2_grpc_common.common_pb2.MessageID] = ...,
        event_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        scan_counter : builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"event_id",b"event_id",u"id",b"id",u"message_id",b"message_id",u"timestamp",b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"event_id",b"event_id",u"id",b"id",u"message_id",b"message_id",u"scan_counter",b"scan_counter",u"timestamp",b"timestamp"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"id",b"id"]) -> typing_extensions.Literal["message_id","event_id"]: ...
global___LastScannedObjectInfo = LastScannedObjectInfo

class StringList(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    LIST_STRING_FIELD_NUMBER: builtins.int

    @property
    def list_string(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...

    def __init__(self,
        *,
        list_string : typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"list_string",b"list_string"]) -> None: ...
global___StringList = StringList

class IsMatched(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    IS_MATCHED_FIELD_NUMBER: builtins.int
    is_matched: builtins.bool = ...

    def __init__(self,
        *,
        is_matched : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"is_matched",b"is_matched"]) -> None: ...
global___IsMatched = IsMatched

class FilterName(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    FILTER_NAME_FIELD_NUMBER: builtins.int
    filter_name: typing.Text = ...

    def __init__(self,
        *,
        filter_name : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"filter_name",b"filter_name"]) -> None: ...
global___FilterName = FilterName

class ListFilterName(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    FILTER_NAMES_FIELD_NUMBER: builtins.int

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

    def __init__(self,
        *,
        filter_names : typing.Optional[typing.Iterable[global___FilterName]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"filter_names",b"filter_names"]) -> None: ...
global___ListFilterName = ListFilterName

class Parameter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    DEFAULT_VALUE_FIELD_NUMBER: builtins.int
    HINT_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    type: global___FilterParameterType.V = ...
    hint: typing.Text = ...

    @property
    def default_value(self) -> google.protobuf.any_pb2.Any: ...

    def __init__(self,
        *,
        name : typing.Text = ...,
        type : global___FilterParameterType.V = ...,
        default_value : typing.Optional[google.protobuf.any_pb2.Any] = ...,
        hint : typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"default_value",b"default_value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"default_value",b"default_value",u"hint",b"hint",u"name",b"name",u"type",b"type"]) -> None: ...
global___Parameter = Parameter

class FilterInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    HINT_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    hint: typing.Text = ...

    @property
    def name(self) -> global___FilterName: ...

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

    def __init__(self,
        *,
        name : typing.Optional[global___FilterName] = ...,
        hint : typing.Text = ...,
        parameters : typing.Optional[typing.Iterable[global___Parameter]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"name",b"name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"hint",b"hint",u"name",b"name",u"parameters",b"parameters"]) -> None: ...
global___FilterInfo = FilterInfo

class Filter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    NEGATIVE_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    CONJUNCT_FIELD_NUMBER: builtins.int

    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...

    @property
    def name(self) -> global___FilterName: ...

    @property
    def negative(self) -> google.protobuf.wrappers_pb2.BoolValue: ...

    @property
    def conjunct(self) -> google.protobuf.wrappers_pb2.BoolValue: ...

    def __init__(self,
        *,
        name : typing.Optional[global___FilterName] = ...,
        negative : typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        values : typing.Optional[typing.Iterable[typing.Text]] = ...,
        conjunct : typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"conjunct",b"conjunct",u"name",b"name",u"negative",b"negative"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"conjunct",b"conjunct",u"name",b"name",u"negative",b"negative",u"values",b"values"]) -> None: ...
global___Filter = Filter

class Stream(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SESSION_FIELD_NUMBER: builtins.int
    DIRECTION_FIELD_NUMBER: builtins.int
    LAST_ID_FIELD_NUMBER: builtins.int
    session: typing.Text = ...
    direction: th2_grpc_common.common_pb2.Direction.V = ...

    @property
    def last_id(self) -> th2_grpc_common.common_pb2.MessageID: ...

    def __init__(self,
        *,
        session : typing.Text = ...,
        direction : th2_grpc_common.common_pb2.Direction.V = ...,
        last_id : typing.Optional[th2_grpc_common.common_pb2.MessageID] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"last_id",b"last_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"direction",b"direction",u"last_id",b"last_id",u"session",b"session"]) -> None: ...
global___Stream = Stream

class StreamsInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    STREAMS_FIELD_NUMBER: builtins.int

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

    def __init__(self,
        *,
        streams : typing.Optional[typing.Iterable[global___Stream]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"streams",b"streams"]) -> None: ...
global___StreamsInfo = StreamsInfo

class MatchRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EVENT_ID_FIELD_NUMBER: builtins.int
    MESSAGE_ID_FIELD_NUMBER: builtins.int
    FILTERS_FIELD_NUMBER: builtins.int

    @property
    def event_id(self) -> th2_grpc_common.common_pb2.EventID: ...

    @property
    def message_id(self) -> th2_grpc_common.common_pb2.MessageID: ...

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

    def __init__(self,
        *,
        event_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        message_id : typing.Optional[th2_grpc_common.common_pb2.MessageID] = ...,
        filters : typing.Optional[typing.Iterable[global___Filter]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"event_id",b"event_id",u"id",b"id",u"message_id",b"message_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"event_id",b"event_id",u"filters",b"filters",u"id",b"id",u"message_id",b"message_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"id",b"id"]) -> typing_extensions.Literal["event_id","message_id"]: ...
global___MatchRequest = MatchRequest

class EventSearchRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    START_TIMESTAMP_FIELD_NUMBER: builtins.int
    END_TIMESTAMP_FIELD_NUMBER: builtins.int
    PARENT_EVENT_FIELD_NUMBER: builtins.int
    SEARCH_DIRECTION_FIELD_NUMBER: builtins.int
    RESUME_FROM_ID_FIELD_NUMBER: builtins.int
    RESULT_COUNT_LIMIT_FIELD_NUMBER: builtins.int
    KEEP_OPEN_FIELD_NUMBER: builtins.int
    LIMIT_FOR_PARENT_FIELD_NUMBER: builtins.int
    METADATA_ONLY_FIELD_NUMBER: builtins.int
    ATTACHED_MESSAGES_FIELD_NUMBER: builtins.int
    FILTERS_FIELD_NUMBER: builtins.int
    search_direction: global___TimeRelation.V = ...

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

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

    @property
    def parent_event(self) -> th2_grpc_common.common_pb2.EventID: ...

    @property
    def resume_from_id(self) -> th2_grpc_common.common_pb2.EventID: ...

    @property
    def result_count_limit(self) -> google.protobuf.wrappers_pb2.Int32Value: ...

    @property
    def keep_open(self) -> google.protobuf.wrappers_pb2.BoolValue: ...

    @property
    def limit_for_parent(self) -> google.protobuf.wrappers_pb2.Int64Value: ...

    @property
    def metadata_only(self) -> google.protobuf.wrappers_pb2.BoolValue: ...

    @property
    def attached_messages(self) -> google.protobuf.wrappers_pb2.BoolValue: ...

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

    def __init__(self,
        *,
        start_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        end_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        parent_event : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        search_direction : global___TimeRelation.V = ...,
        resume_from_id : typing.Optional[th2_grpc_common.common_pb2.EventID] = ...,
        result_count_limit : typing.Optional[google.protobuf.wrappers_pb2.Int32Value] = ...,
        keep_open : typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        limit_for_parent : typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        metadata_only : typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        attached_messages : typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        filters : typing.Optional[typing.Iterable[global___Filter]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"attached_messages",b"attached_messages",u"end_timestamp",b"end_timestamp",u"keep_open",b"keep_open",u"limit_for_parent",b"limit_for_parent",u"metadata_only",b"metadata_only",u"parent_event",b"parent_event",u"result_count_limit",b"result_count_limit",u"resume_from_id",b"resume_from_id",u"start_timestamp",b"start_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attached_messages",b"attached_messages",u"end_timestamp",b"end_timestamp",u"filters",b"filters",u"keep_open",b"keep_open",u"limit_for_parent",b"limit_for_parent",u"metadata_only",b"metadata_only",u"parent_event",b"parent_event",u"result_count_limit",b"result_count_limit",u"resume_from_id",b"resume_from_id",u"search_direction",b"search_direction",u"start_timestamp",b"start_timestamp"]) -> None: ...
global___EventSearchRequest = EventSearchRequest

class MessageSearchRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    START_TIMESTAMP_FIELD_NUMBER: builtins.int
    END_TIMESTAMP_FIELD_NUMBER: builtins.int
    SEARCH_DIRECTION_FIELD_NUMBER: builtins.int
    RESULT_COUNT_LIMIT_FIELD_NUMBER: builtins.int
    STREAM_FIELD_NUMBER: builtins.int
    KEEP_OPEN_FIELD_NUMBER: builtins.int
    RESUME_FROM_IDS_FIELD_NUMBER: builtins.int
    FILTERS_FIELD_NUMBER: builtins.int
    ATTACHED_EVENTS_FIELD_NUMBER: builtins.int
    LOOKUP_LIMIT_DAYS_FIELD_NUMBER: builtins.int
    search_direction: global___TimeRelation.V = ...

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

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

    @property
    def result_count_limit(self) -> google.protobuf.wrappers_pb2.Int32Value: ...

    @property
    def stream(self) -> global___StringList: ...

    @property
    def keep_open(self) -> google.protobuf.wrappers_pb2.BoolValue: ...

    @property
    def resume_from_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[th2_grpc_common.common_pb2.MessageID]: ...

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

    @property
    def attached_events(self) -> google.protobuf.wrappers_pb2.BoolValue: ...

    @property
    def lookup_limit_days(self) -> google.protobuf.wrappers_pb2.Int32Value: ...

    def __init__(self,
        *,
        start_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        end_timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        search_direction : global___TimeRelation.V = ...,
        result_count_limit : typing.Optional[google.protobuf.wrappers_pb2.Int32Value] = ...,
        stream : typing.Optional[global___StringList] = ...,
        keep_open : typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        resume_from_ids : typing.Optional[typing.Iterable[th2_grpc_common.common_pb2.MessageID]] = ...,
        filters : typing.Optional[typing.Iterable[global___Filter]] = ...,
        attached_events : typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        lookup_limit_days : typing.Optional[google.protobuf.wrappers_pb2.Int32Value] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"attached_events",b"attached_events",u"end_timestamp",b"end_timestamp",u"keep_open",b"keep_open",u"lookup_limit_days",b"lookup_limit_days",u"result_count_limit",b"result_count_limit",u"start_timestamp",b"start_timestamp",u"stream",b"stream"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attached_events",b"attached_events",u"end_timestamp",b"end_timestamp",u"filters",b"filters",u"keep_open",b"keep_open",u"lookup_limit_days",b"lookup_limit_days",u"result_count_limit",b"result_count_limit",u"resume_from_ids",b"resume_from_ids",u"search_direction",b"search_direction",u"start_timestamp",b"start_timestamp",u"stream",b"stream"]) -> None: ...
global___MessageSearchRequest = MessageSearchRequest

class StreamResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EVENT_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    EVENT_METADATA_FIELD_NUMBER: builtins.int
    LAST_SCANNED_OBJECT_FIELD_NUMBER: builtins.int
    STREAM_INFO_FIELD_NUMBER: builtins.int

    @property
    def event(self) -> global___EventData: ...

    @property
    def message(self) -> global___MessageData: ...

    @property
    def event_metadata(self) -> global___EventMetadata: ...

    @property
    def last_scanned_object(self) -> global___LastScannedObjectInfo: ...

    @property
    def stream_info(self) -> global___StreamsInfo: ...

    def __init__(self,
        *,
        event : typing.Optional[global___EventData] = ...,
        message : typing.Optional[global___MessageData] = ...,
        event_metadata : typing.Optional[global___EventMetadata] = ...,
        last_scanned_object : typing.Optional[global___LastScannedObjectInfo] = ...,
        stream_info : typing.Optional[global___StreamsInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"data",b"data",u"event",b"event",u"event_metadata",b"event_metadata",u"last_scanned_object",b"last_scanned_object",u"message",b"message",u"stream_info",b"stream_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"data",b"data",u"event",b"event",u"event_metadata",b"event_metadata",u"last_scanned_object",b"last_scanned_object",u"message",b"message",u"stream_info",b"stream_info"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"data",b"data"]) -> typing_extensions.Literal["event","message","event_metadata","last_scanned_object","stream_info"]: ...
global___StreamResponse = StreamResponse
