"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.base.query.v1beta1.pagination_pb2
import cosmos.base.v1beta1.coin_pb2
import dex.v1.params_pb2
import dex.v1.pool_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 QueryParamsRequest(google.protobuf.message.Message):
    """QueryParamsRequest is request type for the Query/Params RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___QueryParamsRequest = QueryParamsRequest

class QueryParamsResponse(google.protobuf.message.Message):
    """QueryParamsResponse is response type for the Query/Params RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PARAMS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> dex.v1.params_pb2.Params:
        """params holds all the parameters of this module."""
        pass
    def __init__(self,
        *,
        params: typing.Optional[dex.v1.params_pb2.Params] = ...,
        ) -> 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"]) -> None: ...
global___QueryParamsResponse = QueryParamsResponse

class QueryPoolNumberRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___QueryPoolNumberRequest = QueryPoolNumberRequest

class QueryPoolNumberResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id"]) -> None: ...
global___QueryPoolNumberResponse = QueryPoolNumberResponse

class QueryPoolRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id"]) -> None: ...
global___QueryPoolRequest = QueryPoolRequest

class QueryPoolResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_FIELD_NUMBER: builtins.int
    @property
    def pool(self) -> dex.v1.pool_pb2.Pool: ...
    def __init__(self,
        *,
        pool: typing.Optional[dex.v1.pool_pb2.Pool] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pool",b"pool"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool",b"pool"]) -> None: ...
global___QueryPoolResponse = QueryPoolResponse

class QueryPoolsRequest(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 an optional pagination for the request."""
        pass
    def __init__(self,
        *,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageRequest] = ...,
        ) -> 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___QueryPoolsRequest = QueryPoolsRequest

class QueryPoolsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOLS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def pools(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[dex.v1.pool_pb2.Pool]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
        pass
    def __init__(self,
        *,
        pools: typing.Optional[typing.Iterable[dex.v1.pool_pb2.Pool]] = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageResponse] = ...,
        ) -> 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","pools",b"pools"]) -> None: ...
global___QueryPoolsResponse = QueryPoolsResponse

class QueryPoolParamsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id"]) -> None: ...
global___QueryPoolParamsRequest = QueryPoolParamsRequest

class QueryPoolParamsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_PARAMS_FIELD_NUMBER: builtins.int
    @property
    def pool_params(self) -> dex.v1.pool_pb2.PoolParams: ...
    def __init__(self,
        *,
        pool_params: typing.Optional[dex.v1.pool_pb2.PoolParams] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pool_params",b"pool_params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_params",b"pool_params"]) -> None: ...
global___QueryPoolParamsResponse = QueryPoolParamsResponse

class QueryNumPoolsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___QueryNumPoolsRequest = QueryNumPoolsRequest

class QueryNumPoolsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NUM_POOLS_FIELD_NUMBER: builtins.int
    num_pools: builtins.int
    def __init__(self,
        *,
        num_pools: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["num_pools",b"num_pools"]) -> None: ...
global___QueryNumPoolsResponse = QueryNumPoolsResponse

class QueryTotalLiquidityRequest(google.protobuf.message.Message):
    """--------------------------------------------
    Query total liquidity the protocol
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___QueryTotalLiquidityRequest = QueryTotalLiquidityRequest

class QueryTotalLiquidityResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    LIQUIDITY_FIELD_NUMBER: builtins.int
    @property
    def liquidity(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(self,
        *,
        liquidity: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["liquidity",b"liquidity"]) -> None: ...
global___QueryTotalLiquidityResponse = QueryTotalLiquidityResponse

class QueryTotalPoolLiquidityRequest(google.protobuf.message.Message):
    """--------------------------------------------
    Query total liquidity for a pool
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id"]) -> None: ...
global___QueryTotalPoolLiquidityRequest = QueryTotalPoolLiquidityRequest

class QueryTotalPoolLiquidityResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    LIQUIDITY_FIELD_NUMBER: builtins.int
    @property
    def liquidity(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(self,
        *,
        liquidity: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["liquidity",b"liquidity"]) -> None: ...
global___QueryTotalPoolLiquidityResponse = QueryTotalPoolLiquidityResponse

class QueryTotalSharesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id"]) -> None: ...
global___QueryTotalSharesRequest = QueryTotalSharesRequest

class QueryTotalSharesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TOTAL_SHARES_FIELD_NUMBER: builtins.int
    @property
    def total_shares(self) -> cosmos.base.v1beta1.coin_pb2.Coin:
        """sum of all LP tokens sent out"""
        pass
    def __init__(self,
        *,
        total_shares: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["total_shares",b"total_shares"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["total_shares",b"total_shares"]) -> None: ...
global___QueryTotalSharesResponse = QueryTotalSharesResponse

class QuerySpotPriceRequest(google.protobuf.message.Message):
    """Returns the amount of tokenInDenom to produce 1 tokenOutDenom
    For example, if the price of NIBI = 9.123 NUSD, then setting tokenInDenom=NUSD
    and tokenOutDenom=NIBI would give "9.123".
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    TOKEN_IN_DENOM_FIELD_NUMBER: builtins.int
    TOKEN_OUT_DENOM_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    token_in_denom: typing.Text
    """the denomination of the token you are giving into the pool"""

    token_out_denom: typing.Text
    """the denomination of the token you are taking out of the pool"""

    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        token_in_denom: typing.Text = ...,
        token_out_denom: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id","token_in_denom",b"token_in_denom","token_out_denom",b"token_out_denom"]) -> None: ...
global___QuerySpotPriceRequest = QuerySpotPriceRequest

class QuerySpotPriceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SPOT_PRICE_FIELD_NUMBER: builtins.int
    spot_price: typing.Text
    def __init__(self,
        *,
        spot_price: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["spot_price",b"spot_price"]) -> None: ...
global___QuerySpotPriceResponse = QuerySpotPriceResponse

class QuerySwapExactAmountInRequest(google.protobuf.message.Message):
    """Given an exact amount of tokens in and a target tokenOutDenom, calculates
    the expected amount of tokens out received from a swap.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    TOKEN_IN_FIELD_NUMBER: builtins.int
    TOKEN_OUT_DENOM_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    @property
    def token_in(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    token_out_denom: typing.Text
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        token_in: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        token_out_denom: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["token_in",b"token_in"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id","token_in",b"token_in","token_out_denom",b"token_out_denom"]) -> None: ...
global___QuerySwapExactAmountInRequest = QuerySwapExactAmountInRequest

class QuerySwapExactAmountInResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TOKEN_OUT_FIELD_NUMBER: builtins.int
    @property
    def token_out(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    def __init__(self,
        *,
        token_out: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["token_out",b"token_out"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["token_out",b"token_out"]) -> None: ...
global___QuerySwapExactAmountInResponse = QuerySwapExactAmountInResponse

class QuerySwapExactAmountOutRequest(google.protobuf.message.Message):
    """Given an exact amount of tokens out and a target tokenInDenom, calculates
    the expected amount of tokens in required to do the swap.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    TOKEN_OUT_FIELD_NUMBER: builtins.int
    TOKEN_IN_DENOM_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    @property
    def token_out(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    token_in_denom: typing.Text
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        token_out: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        token_in_denom: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["token_out",b"token_out"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id","token_in_denom",b"token_in_denom","token_out",b"token_out"]) -> None: ...
global___QuerySwapExactAmountOutRequest = QuerySwapExactAmountOutRequest

class QuerySwapExactAmountOutResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TOKEN_IN_FIELD_NUMBER: builtins.int
    @property
    def token_in(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    def __init__(self,
        *,
        token_in: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["token_in",b"token_in"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["token_in",b"token_in"]) -> None: ...
global___QuerySwapExactAmountOutResponse = QuerySwapExactAmountOutResponse

class QueryJoinExactAmountInRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    TOKENS_IN_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    @property
    def tokens_in(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        tokens_in: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id","tokens_in",b"tokens_in"]) -> None: ...
global___QueryJoinExactAmountInRequest = QueryJoinExactAmountInRequest

class QueryJoinExactAmountInResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_SHARES_OUT_FIELD_NUMBER: builtins.int
    REM_COINS_FIELD_NUMBER: builtins.int
    pool_shares_out: typing.Text
    """amount of pool shares returned to user after join"""

    @property
    def rem_coins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """coins remaining after pool join"""
        pass
    def __init__(self,
        *,
        pool_shares_out: typing.Text = ...,
        rem_coins: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_shares_out",b"pool_shares_out","rem_coins",b"rem_coins"]) -> None: ...
global___QueryJoinExactAmountInResponse = QueryJoinExactAmountInResponse

class QueryJoinExactAmountOutRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id"]) -> None: ...
global___QueryJoinExactAmountOutRequest = QueryJoinExactAmountOutRequest

class QueryJoinExactAmountOutResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___QueryJoinExactAmountOutResponse = QueryJoinExactAmountOutResponse

class QueryExitExactAmountInRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    POOL_SHARES_IN_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    pool_shares_in: typing.Text
    """amount of pool shares to return to pool"""

    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        pool_shares_in: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id","pool_shares_in",b"pool_shares_in"]) -> None: ...
global___QueryExitExactAmountInRequest = QueryExitExactAmountInRequest

class QueryExitExactAmountInResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TOKENS_OUT_FIELD_NUMBER: builtins.int
    @property
    def tokens_out(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """coins obtained after exiting"""
        pass
    def __init__(self,
        *,
        tokens_out: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["tokens_out",b"tokens_out"]) -> None: ...
global___QueryExitExactAmountInResponse = QueryExitExactAmountInResponse

class QueryExitExactAmountOutRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_ID_FIELD_NUMBER: builtins.int
    pool_id: builtins.int
    def __init__(self,
        *,
        pool_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool_id",b"pool_id"]) -> None: ...
global___QueryExitExactAmountOutRequest = QueryExitExactAmountOutRequest

class QueryExitExactAmountOutResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___QueryExitExactAmountOutResponse = QueryExitExactAmountOutResponse
