"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.gov.v1beta1.gov_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class GenesisState(google.protobuf.message.Message):
    """GenesisState defines the gov module's genesis state."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    STARTING_PROPOSAL_ID_FIELD_NUMBER: builtins.int
    DEPOSITS_FIELD_NUMBER: builtins.int
    VOTES_FIELD_NUMBER: builtins.int
    PROPOSALS_FIELD_NUMBER: builtins.int
    DEPOSIT_PARAMS_FIELD_NUMBER: builtins.int
    VOTING_PARAMS_FIELD_NUMBER: builtins.int
    TALLY_PARAMS_FIELD_NUMBER: builtins.int
    starting_proposal_id: builtins.int
    """starting_proposal_id is the ID of the starting proposal."""

    @property
    def deposits(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.gov.v1beta1.gov_pb2.Deposit]:
        """deposits defines all the deposits present at genesis."""
        pass
    @property
    def votes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.gov.v1beta1.gov_pb2.Vote]:
        """votes defines all the votes present at genesis."""
        pass
    @property
    def proposals(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.gov.v1beta1.gov_pb2.Proposal]:
        """proposals defines all the proposals present at genesis."""
        pass
    @property
    def deposit_params(self) -> cosmos.gov.v1beta1.gov_pb2.DepositParams:
        """params defines all the paramaters of related to deposit."""
        pass
    @property
    def voting_params(self) -> cosmos.gov.v1beta1.gov_pb2.VotingParams:
        """params defines all the paramaters of related to voting."""
        pass
    @property
    def tally_params(self) -> cosmos.gov.v1beta1.gov_pb2.TallyParams:
        """params defines all the paramaters of related to tally."""
        pass
    def __init__(self,
        *,
        starting_proposal_id: builtins.int = ...,
        deposits: typing.Optional[typing.Iterable[cosmos.gov.v1beta1.gov_pb2.Deposit]] = ...,
        votes: typing.Optional[typing.Iterable[cosmos.gov.v1beta1.gov_pb2.Vote]] = ...,
        proposals: typing.Optional[typing.Iterable[cosmos.gov.v1beta1.gov_pb2.Proposal]] = ...,
        deposit_params: typing.Optional[cosmos.gov.v1beta1.gov_pb2.DepositParams] = ...,
        voting_params: typing.Optional[cosmos.gov.v1beta1.gov_pb2.VotingParams] = ...,
        tally_params: typing.Optional[cosmos.gov.v1beta1.gov_pb2.TallyParams] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["deposit_params",b"deposit_params","tally_params",b"tally_params","voting_params",b"voting_params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["deposit_params",b"deposit_params","deposits",b"deposits","proposals",b"proposals","starting_proposal_id",b"starting_proposal_id","tally_params",b"tally_params","votes",b"votes","voting_params",b"voting_params"]) -> None: ...
global___GenesisState = GenesisState
