"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.base.v1beta1.coin_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 MsgCreatePool(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CREATOR_FIELD_NUMBER: builtins.int
    POOLPARAMS_FIELD_NUMBER: builtins.int
    POOLASSETS_FIELD_NUMBER: builtins.int
    creator: typing.Text
    @property
    def poolParams(self) -> dex.v1.pool_pb2.PoolParams: ...
    @property
    def poolAssets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[dex.v1.pool_pb2.PoolAsset]: ...
    def __init__(self,
        *,
        creator: typing.Text = ...,
        poolParams: typing.Optional[dex.v1.pool_pb2.PoolParams] = ...,
        poolAssets: typing.Optional[typing.Iterable[dex.v1.pool_pb2.PoolAsset]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["poolParams",b"poolParams"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["creator",b"creator","poolAssets",b"poolAssets","poolParams",b"poolParams"]) -> None: ...
global___MsgCreatePool = MsgCreatePool

class MsgCreatePoolResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOLID_FIELD_NUMBER: builtins.int
    poolId: builtins.int
    def __init__(self,
        *,
        poolId: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["poolId",b"poolId"]) -> None: ...
global___MsgCreatePoolResponse = MsgCreatePoolResponse

class MsgJoinPool(google.protobuf.message.Message):
    """
    Message to join a pool (identified by poolId) with a set of tokens to deposit.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SENDER_FIELD_NUMBER: builtins.int
    POOLID_FIELD_NUMBER: builtins.int
    TOKENSIN_FIELD_NUMBER: builtins.int
    sender: typing.Text
    poolId: builtins.int
    @property
    def tokensIn(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(self,
        *,
        sender: typing.Text = ...,
        poolId: builtins.int = ...,
        tokensIn: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["poolId",b"poolId","sender",b"sender","tokensIn",b"tokensIn"]) -> None: ...
global___MsgJoinPool = MsgJoinPool

class MsgJoinPoolResponse(google.protobuf.message.Message):
    """
    Response when a user joins a pool.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    POOL_FIELD_NUMBER: builtins.int
    NUMPOOLSHARESOUT_FIELD_NUMBER: builtins.int
    REMAININGCOINS_FIELD_NUMBER: builtins.int
    @property
    def pool(self) -> dex.v1.pool_pb2.Pool:
        """the final state of the pool after a join"""
        pass
    @property
    def numPoolSharesOut(self) -> cosmos.base.v1beta1.coin_pb2.Coin:
        """sum of LP tokens minted from the join"""
        pass
    @property
    def remainingCoins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """remaining tokens from attempting to join the pool"""
        pass
    def __init__(self,
        *,
        pool: typing.Optional[dex.v1.pool_pb2.Pool] = ...,
        numPoolSharesOut: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        remainingCoins: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["numPoolSharesOut",b"numPoolSharesOut","pool",b"pool"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["numPoolSharesOut",b"numPoolSharesOut","pool",b"pool","remainingCoins",b"remainingCoins"]) -> None: ...
global___MsgJoinPoolResponse = MsgJoinPoolResponse

class MsgExitPool(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SENDER_FIELD_NUMBER: builtins.int
    POOLID_FIELD_NUMBER: builtins.int
    POOLSHARES_FIELD_NUMBER: builtins.int
    sender: typing.Text
    poolId: builtins.int
    @property
    def poolShares(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    def __init__(self,
        *,
        sender: typing.Text = ...,
        poolId: builtins.int = ...,
        poolShares: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["poolShares",b"poolShares"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["poolId",b"poolId","poolShares",b"poolShares","sender",b"sender"]) -> None: ...
global___MsgExitPool = MsgExitPool

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

class MsgSwapAssets(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SENDER_FIELD_NUMBER: builtins.int
    POOLID_FIELD_NUMBER: builtins.int
    TOKENIN_FIELD_NUMBER: builtins.int
    TOKENOUTDENOM_FIELD_NUMBER: builtins.int
    sender: typing.Text
    poolId: builtins.int
    @property
    def tokenIn(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    tokenOutDenom: typing.Text
    def __init__(self,
        *,
        sender: typing.Text = ...,
        poolId: builtins.int = ...,
        tokenIn: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        tokenOutDenom: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["tokenIn",b"tokenIn"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["poolId",b"poolId","sender",b"sender","tokenIn",b"tokenIn","tokenOutDenom",b"tokenOutDenom"]) -> None: ...
global___MsgSwapAssets = MsgSwapAssets

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

class EventPoolJoined(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ADDRESS_FIELD_NUMBER: builtins.int
    POOL_ID_FIELD_NUMBER: builtins.int
    TOKENS_IN_FIELD_NUMBER: builtins.int
    POOL_SHARES_OUT_FIELD_NUMBER: builtins.int
    REM_COINS_FIELD_NUMBER: builtins.int
    address: typing.Text
    pool_id: builtins.int
    @property
    def tokens_in(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    @property
    def pool_shares_out(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    @property
    def rem_coins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(self,
        *,
        address: typing.Text = ...,
        pool_id: builtins.int = ...,
        tokens_in: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        pool_shares_out: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        rem_coins: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pool_shares_out",b"pool_shares_out"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address",b"address","pool_id",b"pool_id","pool_shares_out",b"pool_shares_out","rem_coins",b"rem_coins","tokens_in",b"tokens_in"]) -> None: ...
global___EventPoolJoined = EventPoolJoined

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

class EventPoolExited(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ADDRESS_FIELD_NUMBER: builtins.int
    POOL_ID_FIELD_NUMBER: builtins.int
    POOL_SHARES_IN_FIELD_NUMBER: builtins.int
    TOKENS_OUT_FIELD_NUMBER: builtins.int
    address: typing.Text
    pool_id: builtins.int
    @property
    def pool_shares_in(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...
    @property
    def tokens_out(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(self,
        *,
        address: typing.Text = ...,
        pool_id: builtins.int = ...,
        pool_shares_in: typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        tokens_out: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.Coin]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pool_shares_in",b"pool_shares_in"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address",b"address","pool_id",b"pool_id","pool_shares_in",b"pool_shares_in","tokens_out",b"tokens_out"]) -> None: ...
global___EventPoolExited = EventPoolExited

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