"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.base.abci.v1beta1.abci_pb2
import cosmos.base.query.v1beta1.pagination_pb2
import cosmos.tx.v1beta1.tx_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

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

# OrderBy defines the sorting order
class OrderBy(_OrderBy, metaclass=_OrderByEnumTypeWrapper):
    pass
class _OrderBy:
    V = typing.NewType('V', builtins.int)
class _OrderByEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_OrderBy.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    # ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case.
    ORDER_BY_UNSPECIFIED = OrderBy.V(0)
    # ORDER_BY_ASC defines ascending order
    ORDER_BY_ASC = OrderBy.V(1)
    # ORDER_BY_DESC defines descending order
    ORDER_BY_DESC = OrderBy.V(2)

# ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case.
ORDER_BY_UNSPECIFIED = OrderBy.V(0)
# ORDER_BY_ASC defines ascending order
ORDER_BY_ASC = OrderBy.V(1)
# ORDER_BY_DESC defines descending order
ORDER_BY_DESC = OrderBy.V(2)
global___OrderBy = OrderBy


# BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.
class BroadcastMode(_BroadcastMode, metaclass=_BroadcastModeEnumTypeWrapper):
    pass
class _BroadcastMode:
    V = typing.NewType('V', builtins.int)
class _BroadcastModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BroadcastMode.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    # zero-value for mode ordering
    BROADCAST_MODE_UNSPECIFIED = BroadcastMode.V(0)
    # BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for
    # the tx to be committed in a block.
    BROADCAST_MODE_BLOCK = BroadcastMode.V(1)
    # BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for
    # a CheckTx execution response only.
    BROADCAST_MODE_SYNC = BroadcastMode.V(2)
    # BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns
    # immediately.
    BROADCAST_MODE_ASYNC = BroadcastMode.V(3)

# zero-value for mode ordering
BROADCAST_MODE_UNSPECIFIED = BroadcastMode.V(0)
# BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for
# the tx to be committed in a block.
BROADCAST_MODE_BLOCK = BroadcastMode.V(1)
# BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for
# a CheckTx execution response only.
BROADCAST_MODE_SYNC = BroadcastMode.V(2)
# BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns
# immediately.
BROADCAST_MODE_ASYNC = BroadcastMode.V(3)
global___BroadcastMode = BroadcastMode


# GetTxsEventRequest is the request type for the Service.TxsByEvents
# RPC method.
class GetTxsEventRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    EVENTS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    ORDER_BY_FIELD_NUMBER: builtins.int
    # events is the list of transaction event type.
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    # pagination defines an pagination for the request.
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest: ...
    order_by: global___OrderBy.V = ...
    def __init__(self,
        *,
        events : typing.Optional[typing.Iterable[typing.Text]] = ...,
        pagination : typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageRequest] = ...,
        order_by : global___OrderBy.V = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"pagination",b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"events",b"events",u"order_by",b"order_by",u"pagination",b"pagination"]) -> None: ...
global___GetTxsEventRequest = GetTxsEventRequest

# GetTxsEventResponse is the response type for the Service.TxsByEvents
# RPC method.
class GetTxsEventResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TXS_FIELD_NUMBER: builtins.int
    TX_RESPONSES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    # txs is the list of queried transactions.
    @property
    def txs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.tx.v1beta1.tx_pb2.Tx]: ...
    # tx_responses is the list of queried TxResponses.
    @property
    def tx_responses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.abci.v1beta1.abci_pb2.TxResponse]: ...
    # pagination defines an pagination for the response.
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse: ...
    def __init__(self,
        *,
        txs : typing.Optional[typing.Iterable[cosmos.tx.v1beta1.tx_pb2.Tx]] = ...,
        tx_responses : typing.Optional[typing.Iterable[cosmos.base.abci.v1beta1.abci_pb2.TxResponse]] = ...,
        pagination : typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageResponse] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"pagination",b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"pagination",b"pagination",u"tx_responses",b"tx_responses",u"txs",b"txs"]) -> None: ...
global___GetTxsEventResponse = GetTxsEventResponse

# BroadcastTxRequest is the request type for the Service.BroadcastTxRequest
# RPC method.
class BroadcastTxRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TX_BYTES_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    # tx_bytes is the raw transaction.
    tx_bytes: builtins.bytes = ...
    mode: global___BroadcastMode.V = ...
    def __init__(self,
        *,
        tx_bytes : builtins.bytes = ...,
        mode : global___BroadcastMode.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"mode",b"mode",u"tx_bytes",b"tx_bytes"]) -> None: ...
global___BroadcastTxRequest = BroadcastTxRequest

# BroadcastTxResponse is the response type for the
# Service.BroadcastTx method.
class BroadcastTxResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TX_RESPONSE_FIELD_NUMBER: builtins.int
    # tx_response is the queried TxResponses.
    @property
    def tx_response(self) -> cosmos.base.abci.v1beta1.abci_pb2.TxResponse: ...
    def __init__(self,
        *,
        tx_response : typing.Optional[cosmos.base.abci.v1beta1.abci_pb2.TxResponse] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"tx_response",b"tx_response"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"tx_response",b"tx_response"]) -> None: ...
global___BroadcastTxResponse = BroadcastTxResponse

# SimulateRequest is the request type for the Service.Simulate
# RPC method.
class SimulateRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TX_FIELD_NUMBER: builtins.int
    TX_BYTES_FIELD_NUMBER: builtins.int
    # tx is the transaction to simulate.
    # Deprecated. Send raw tx bytes instead.
    @property
    def tx(self) -> cosmos.tx.v1beta1.tx_pb2.Tx: ...
    # tx_bytes is the raw transaction.
    tx_bytes: builtins.bytes = ...
    def __init__(self,
        *,
        tx : typing.Optional[cosmos.tx.v1beta1.tx_pb2.Tx] = ...,
        tx_bytes : builtins.bytes = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"tx",b"tx"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"tx",b"tx",u"tx_bytes",b"tx_bytes"]) -> None: ...
global___SimulateRequest = SimulateRequest

# SimulateResponse is the response type for the
# Service.SimulateRPC method.
class SimulateResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    GAS_INFO_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    # gas_info is the information about gas used in the simulation.
    @property
    def gas_info(self) -> cosmos.base.abci.v1beta1.abci_pb2.GasInfo: ...
    # result is the result of the simulation.
    @property
    def result(self) -> cosmos.base.abci.v1beta1.abci_pb2.Result: ...
    def __init__(self,
        *,
        gas_info : typing.Optional[cosmos.base.abci.v1beta1.abci_pb2.GasInfo] = ...,
        result : typing.Optional[cosmos.base.abci.v1beta1.abci_pb2.Result] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"gas_info",b"gas_info",u"result",b"result"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"gas_info",b"gas_info",u"result",b"result"]) -> None: ...
global___SimulateResponse = SimulateResponse

# GetTxRequest is the request type for the Service.GetTx
# RPC method.
class GetTxRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    HASH_FIELD_NUMBER: builtins.int
    # hash is the tx hash to query, encoded as a hex string.
    hash: typing.Text = ...
    def __init__(self,
        *,
        hash : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"hash",b"hash"]) -> None: ...
global___GetTxRequest = GetTxRequest

# GetTxResponse is the response type for the Service.GetTx method.
class GetTxResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TX_FIELD_NUMBER: builtins.int
    TX_RESPONSE_FIELD_NUMBER: builtins.int
    # tx is the queried transaction.
    @property
    def tx(self) -> cosmos.tx.v1beta1.tx_pb2.Tx: ...
    # tx_response is the queried TxResponses.
    @property
    def tx_response(self) -> cosmos.base.abci.v1beta1.abci_pb2.TxResponse: ...
    def __init__(self,
        *,
        tx : typing.Optional[cosmos.tx.v1beta1.tx_pb2.Tx] = ...,
        tx_response : typing.Optional[cosmos.base.abci.v1beta1.abci_pb2.TxResponse] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"tx",b"tx",u"tx_response",b"tx_response"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"tx",b"tx",u"tx_response",b"tx_response"]) -> None: ...
global___GetTxResponse = GetTxResponse
