"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import cosmos.base.query.v1beta1.pagination_pb2
import cosmos.base.v1beta1.coin_pb2
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import osmosis.incentives.gauge_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 ModuleToDistributeCoinsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___ModuleToDistributeCoinsRequest = ModuleToDistributeCoinsRequest

@typing_extensions.final
class ModuleToDistributeCoinsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COINS_FIELD_NUMBER: builtins.int
    @property
    def coins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """Coins that have yet to be distributed"""
    def __init__(
        self,
        *,
        coins: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["coins", b"coins"]) -> None: ...

global___ModuleToDistributeCoinsResponse = ModuleToDistributeCoinsResponse

@typing_extensions.final
class GaugeByIDRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    id: builtins.int
    """Gague ID being queried"""
    def __init__(
        self,
        *,
        id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ...

global___GaugeByIDRequest = GaugeByIDRequest

@typing_extensions.final
class GaugeByIDResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GAUGE_FIELD_NUMBER: builtins.int
    @property
    def gauge(self) -> osmosis.incentives.gauge_pb2.Gauge:
        """Gauge that corresponds to provided gague ID"""
    def __init__(
        self,
        *,
        gauge: osmosis.incentives.gauge_pb2.Gauge | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["gauge", b"gauge"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["gauge", b"gauge"]) -> None: ...

global___GaugeByIDResponse = GaugeByIDResponse

@typing_extensions.final
class GaugesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """Pagination defines pagination for the request"""
    def __init__(
        self,
        *,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> None: ...

global___GaugesRequest = GaugesRequest

@typing_extensions.final
class GaugesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[osmosis.incentives.gauge_pb2.Gauge]:
        """Upcoming and active gauges"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """Pagination defines pagination for the response"""
    def __init__(
        self,
        *,
        data: collections.abc.Iterable[osmosis.incentives.gauge_pb2.Gauge] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "pagination", b"pagination"]) -> None: ...

global___GaugesResponse = GaugesResponse

@typing_extensions.final
class ActiveGaugesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """Pagination defines pagination for the request"""
    def __init__(
        self,
        *,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> None: ...

global___ActiveGaugesRequest = ActiveGaugesRequest

@typing_extensions.final
class ActiveGaugesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[osmosis.incentives.gauge_pb2.Gauge]:
        """Active gagues only"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """Pagination defines pagination for the response"""
    def __init__(
        self,
        *,
        data: collections.abc.Iterable[osmosis.incentives.gauge_pb2.Gauge] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "pagination", b"pagination"]) -> None: ...

global___ActiveGaugesResponse = ActiveGaugesResponse

@typing_extensions.final
class ActiveGaugesPerDenomRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOM_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    denom: builtins.str
    """Desired denom when querying active gagues"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """Pagination defines pagination for the request"""
    def __init__(
        self,
        *,
        denom: builtins.str = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["denom", b"denom", "pagination", b"pagination"]) -> None: ...

global___ActiveGaugesPerDenomRequest = ActiveGaugesPerDenomRequest

@typing_extensions.final
class ActiveGaugesPerDenomResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[osmosis.incentives.gauge_pb2.Gauge]:
        """Active gagues that match denom in query"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """Pagination defines pagination for the response"""
    def __init__(
        self,
        *,
        data: collections.abc.Iterable[osmosis.incentives.gauge_pb2.Gauge] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "pagination", b"pagination"]) -> None: ...

global___ActiveGaugesPerDenomResponse = ActiveGaugesPerDenomResponse

@typing_extensions.final
class UpcomingGaugesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """Pagination defines pagination for the request"""
    def __init__(
        self,
        *,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> None: ...

global___UpcomingGaugesRequest = UpcomingGaugesRequest

@typing_extensions.final
class UpcomingGaugesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[osmosis.incentives.gauge_pb2.Gauge]:
        """Gauges whose distribution is upcoming"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """Pagination defines pagination for the response"""
    def __init__(
        self,
        *,
        data: collections.abc.Iterable[osmosis.incentives.gauge_pb2.Gauge] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "pagination", b"pagination"]) -> None: ...

global___UpcomingGaugesResponse = UpcomingGaugesResponse

@typing_extensions.final
class UpcomingGaugesPerDenomRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOM_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    denom: builtins.str
    """Filter for upcoming gagues that match specific denom"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """Pagination defines pagination for the request"""
    def __init__(
        self,
        *,
        denom: builtins.str = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["denom", b"denom", "pagination", b"pagination"]) -> None: ...

global___UpcomingGaugesPerDenomRequest = UpcomingGaugesPerDenomRequest

@typing_extensions.final
class UpcomingGaugesPerDenomResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UPCOMING_GAUGES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def upcoming_gauges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[osmosis.incentives.gauge_pb2.Gauge]:
        """Upcoming gagues that match denom in query"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """Pagination defines pagination for the response"""
    def __init__(
        self,
        *,
        upcoming_gauges: collections.abc.Iterable[osmosis.incentives.gauge_pb2.Gauge] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "upcoming_gauges", b"upcoming_gauges"]) -> None: ...

global___UpcomingGaugesPerDenomResponse = UpcomingGaugesPerDenomResponse

@typing_extensions.final
class RewardsEstRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OWNER_FIELD_NUMBER: builtins.int
    LOCK_IDS_FIELD_NUMBER: builtins.int
    END_EPOCH_FIELD_NUMBER: builtins.int
    owner: builtins.str
    """Address that is being queried for future estimated rewards"""
    @property
    def lock_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
        """Lock IDs included in future reward estimation"""
    end_epoch: builtins.int
    """Upper time limit of reward estimation
    Lower limit is current epoch
    """
    def __init__(
        self,
        *,
        owner: builtins.str = ...,
        lock_ids: collections.abc.Iterable[builtins.int] | None = ...,
        end_epoch: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["end_epoch", b"end_epoch", "lock_ids", b"lock_ids", "owner", b"owner"]) -> None: ...

global___RewardsEstRequest = RewardsEstRequest

@typing_extensions.final
class RewardsEstResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COINS_FIELD_NUMBER: builtins.int
    @property
    def coins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """Estimated coin rewards that will be recieved at provided address
        from specified locks between current time and end epoch
        """
    def __init__(
        self,
        *,
        coins: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["coins", b"coins"]) -> None: ...

global___RewardsEstResponse = RewardsEstResponse

@typing_extensions.final
class QueryLockableDurationsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___QueryLockableDurationsRequest = QueryLockableDurationsRequest

@typing_extensions.final
class QueryLockableDurationsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LOCKABLE_DURATIONS_FIELD_NUMBER: builtins.int
    @property
    def lockable_durations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.duration_pb2.Duration]:
        """Time durations that users can lock coins for in order to recieve rewards"""
    def __init__(
        self,
        *,
        lockable_durations: collections.abc.Iterable[google.protobuf.duration_pb2.Duration] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["lockable_durations", b"lockable_durations"]) -> None: ...

global___QueryLockableDurationsResponse = QueryLockableDurationsResponse
