"""
@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.message
import ibc.core.channel.v1.channel_pb2
import typing
import typing_extensions

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

class GenesisState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CHANNELS_FIELD_NUMBER: builtins.int
    ACKNOWLEDGEMENTS_FIELD_NUMBER: builtins.int
    COMMITMENTS_FIELD_NUMBER: builtins.int
    RECEIPTS_FIELD_NUMBER: builtins.int
    SEND_SEQUENCES_FIELD_NUMBER: builtins.int
    RECV_SEQUENCES_FIELD_NUMBER: builtins.int
    ACK_SEQUENCES_FIELD_NUMBER: builtins.int
    NEXT_CHANNEL_SEQUENCE_FIELD_NUMBER: builtins.int
    next_channel_sequence: builtins.int = ...

    @property
    def channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ibc.core.channel.v1.channel_pb2.IdentifiedChannel]: ...

    @property
    def acknowledgements(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ibc.core.channel.v1.channel_pb2.PacketState]: ...

    @property
    def commitments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ibc.core.channel.v1.channel_pb2.PacketState]: ...

    @property
    def receipts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ibc.core.channel.v1.channel_pb2.PacketState]: ...

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

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

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

    def __init__(self,
        *,
        channels : typing.Optional[typing.Iterable[ibc.core.channel.v1.channel_pb2.IdentifiedChannel]] = ...,
        acknowledgements : typing.Optional[typing.Iterable[ibc.core.channel.v1.channel_pb2.PacketState]] = ...,
        commitments : typing.Optional[typing.Iterable[ibc.core.channel.v1.channel_pb2.PacketState]] = ...,
        receipts : typing.Optional[typing.Iterable[ibc.core.channel.v1.channel_pb2.PacketState]] = ...,
        send_sequences : typing.Optional[typing.Iterable[global___PacketSequence]] = ...,
        recv_sequences : typing.Optional[typing.Iterable[global___PacketSequence]] = ...,
        ack_sequences : typing.Optional[typing.Iterable[global___PacketSequence]] = ...,
        next_channel_sequence : builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"ack_sequences",b"ack_sequences",u"acknowledgements",b"acknowledgements",u"channels",b"channels",u"commitments",b"commitments",u"next_channel_sequence",b"next_channel_sequence",u"receipts",b"receipts",u"recv_sequences",b"recv_sequences",u"send_sequences",b"send_sequences"]) -> None: ...
global___GenesisState = GenesisState

class PacketSequence(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PORT_ID_FIELD_NUMBER: builtins.int
    CHANNEL_ID_FIELD_NUMBER: builtins.int
    SEQUENCE_FIELD_NUMBER: builtins.int
    port_id: typing.Text = ...
    channel_id: typing.Text = ...
    sequence: builtins.int = ...

    def __init__(self,
        *,
        port_id : typing.Text = ...,
        channel_id : typing.Text = ...,
        sequence : builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"channel_id",b"channel_id",u"port_id",b"port_id",u"sequence",b"sequence"]) -> None: ...
global___PacketSequence = PacketSequence
