"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import osmosis.tokenfactory.v1beta1.authorityMetadata_pb2
import osmosis.tokenfactory.v1beta1.params_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class GenesisState(google.protobuf.message.Message):
    """GenesisState defines the tokenfactory module's genesis state."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PARAMS_FIELD_NUMBER: builtins.int
    FACTORY_DENOMS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> osmosis.tokenfactory.v1beta1.params_pb2.Params:
        """params defines the paramaters of the module."""
    @property
    def factory_denoms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GenesisDenom]: ...
    def __init__(
        self,
        *,
        params: osmosis.tokenfactory.v1beta1.params_pb2.Params | None = ...,
        factory_denoms: collections.abc.Iterable[global___GenesisDenom] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["params", b"params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["factory_denoms", b"factory_denoms", "params", b"params"]) -> None: ...

global___GenesisState = GenesisState

@typing_extensions.final
class GenesisDenom(google.protobuf.message.Message):
    """GenesisDenom defines a tokenfactory denom that is defined within genesis
    state. The structure contains DenomAuthorityMetadata which defines the
    denom's admin.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOM_FIELD_NUMBER: builtins.int
    AUTHORITY_METADATA_FIELD_NUMBER: builtins.int
    denom: builtins.str
    @property
    def authority_metadata(self) -> osmosis.tokenfactory.v1beta1.authorityMetadata_pb2.DenomAuthorityMetadata: ...
    def __init__(
        self,
        *,
        denom: builtins.str = ...,
        authority_metadata: osmosis.tokenfactory.v1beta1.authorityMetadata_pb2.DenomAuthorityMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["authority_metadata", b"authority_metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["authority_metadata", b"authority_metadata", "denom", b"denom"]) -> None: ...

global___GenesisDenom = GenesisDenom
