"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import nibiru.inflation.v1.inflation_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 inflation module's genesis state."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PARAMS_FIELD_NUMBER: builtins.int
    PERIOD_FIELD_NUMBER: builtins.int
    SKIPPED_EPOCHS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> global___Params:
        """params defines all the parameters of the module."""
    period: builtins.int
    """period is the amount of past periods, based on the epochs per period param"""
    skipped_epochs: builtins.int
    """skipped_epochs is the number of epochs that have passed while inflation is
    disabled
    """
    def __init__(
        self,
        *,
        params: global___Params | None = ...,
        period: builtins.int = ...,
        skipped_epochs: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["params", b"params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["params", b"params", "period", b"period", "skipped_epochs", b"skipped_epochs"]) -> None: ...

global___GenesisState = GenesisState

@typing_extensions.final
class Params(google.protobuf.message.Message):
    """Params holds parameters for the inflation module."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFLATION_ENABLED_FIELD_NUMBER: builtins.int
    EXPONENTIAL_CALCULATION_FIELD_NUMBER: builtins.int
    INFLATION_DISTRIBUTION_FIELD_NUMBER: builtins.int
    EPOCHS_PER_PERIOD_FIELD_NUMBER: builtins.int
    inflation_enabled: builtins.bool
    """inflation_enabled is the parameter that enables inflation and halts
    increasing the skipped_epochs
    """
    @property
    def exponential_calculation(self) -> nibiru.inflation.v1.inflation_pb2.ExponentialCalculation:
        """exponential_calculation takes in the variables to calculate exponential
        inflation
        """
    @property
    def inflation_distribution(self) -> nibiru.inflation.v1.inflation_pb2.InflationDistribution:
        """inflation_distribution of the minted denom"""
    epochs_per_period: builtins.int
    """epochs_per_period is the number of epochs that must pass before a new
    period is created
    """
    def __init__(
        self,
        *,
        inflation_enabled: builtins.bool = ...,
        exponential_calculation: nibiru.inflation.v1.inflation_pb2.ExponentialCalculation | None = ...,
        inflation_distribution: nibiru.inflation.v1.inflation_pb2.InflationDistribution | None = ...,
        epochs_per_period: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["exponential_calculation", b"exponential_calculation", "inflation_distribution", b"inflation_distribution"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["epochs_per_period", b"epochs_per_period", "exponential_calculation", b"exponential_calculation", "inflation_distribution", b"inflation_distribution", "inflation_enabled", b"inflation_enabled"]) -> None: ...

global___Params = Params
