// @generated by protobuf-ts 2.11.1 with parameter add_pb_suffix
// @generated from protobuf file "injective/exchange/v2/tx.proto" (package "injective.exchange.v2", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { Msg } from "./tx_pb";
import type { MsgUpdateSubaccountRiskProfileResponse } from "./tx_pb";
import type { MsgUpdateSubaccountRiskProfile } from "./tx_pb";
import type { MsgLiquidateCrossMarginPoolResponse } from "./tx_pb";
import type { MsgLiquidateCrossMarginPool } from "./tx_pb";
import type { MsgActivatePostOnlyModeResponse } from "./tx_pb";
import type { MsgActivatePostOnlyMode } from "./tx_pb";
import type { MsgCancelPostOnlyModeResponse } from "./tx_pb";
import type { MsgCancelPostOnlyMode } from "./tx_pb";
import type { MsgAtomicMarketOrderFeeMultiplierScheduleResponse } from "./tx_pb";
import type { MsgAtomicMarketOrderFeeMultiplierSchedule } from "./tx_pb";
import type { MsgFeeDiscountResponse } from "./tx_pb";
import type { MsgFeeDiscount } from "./tx_pb";
import type { MsgTradingRewardPendingPointsUpdateResponse } from "./tx_pb";
import type { MsgTradingRewardPendingPointsUpdate } from "./tx_pb";
import type { MsgTradingRewardCampaignUpdateResponse } from "./tx_pb";
import type { MsgTradingRewardCampaignUpdate } from "./tx_pb";
import type { MsgExchangeEnableResponse } from "./tx_pb";
import type { MsgExchangeEnable } from "./tx_pb";
import type { MsgTradingRewardCampaignLaunchResponse } from "./tx_pb";
import type { MsgTradingRewardCampaignLaunch } from "./tx_pb";
import type { MsgMarketForcedSettlementResponse } from "./tx_pb";
import type { MsgMarketForcedSettlement } from "./tx_pb";
import type { MsgBinaryOptionsMarketParamUpdateResponse } from "./tx_pb";
import type { MsgBinaryOptionsMarketParamUpdate } from "./tx_pb";
import type { MsgDerivativeMarketParamUpdateResponse } from "./tx_pb";
import type { MsgDerivativeMarketParamUpdate } from "./tx_pb";
import type { MsgSpotMarketParamUpdateResponse } from "./tx_pb";
import type { MsgSpotMarketParamUpdate } from "./tx_pb";
import type { MsgBatchCommunityPoolSpendResponse } from "./tx_pb";
import type { MsgBatchCommunityPoolSpend } from "./tx_pb";
import type { MsgBinaryOptionsMarketLaunchResponse } from "./tx_pb";
import type { MsgBinaryOptionsMarketLaunch } from "./tx_pb";
import type { MsgExpiryFuturesMarketLaunchResponse } from "./tx_pb";
import type { MsgExpiryFuturesMarketLaunch } from "./tx_pb";
import type { MsgPerpetualMarketLaunchResponse } from "./tx_pb";
import type { MsgPerpetualMarketLaunch } from "./tx_pb";
import type { MsgSpotMarketLaunchResponse } from "./tx_pb";
import type { MsgSpotMarketLaunch } from "./tx_pb";
import type { MsgBatchExchangeModificationResponse } from "./tx_pb";
import type { MsgBatchExchangeModification } from "./tx_pb";
import type { MsgActivateStakeGrantResponse } from "./tx_pb";
import type { MsgActivateStakeGrant } from "./tx_pb";
import type { MsgAuthorizeStakeGrantsResponse } from "./tx_pb";
import type { MsgAuthorizeStakeGrants } from "./tx_pb";
import type { MsgUpdateDerivativeMarketResponse } from "./tx_pb";
import type { MsgUpdateDerivativeMarket } from "./tx_pb";
import type { MsgUpdateSpotMarketResponse } from "./tx_pb";
import type { MsgUpdateSpotMarket } from "./tx_pb";
import type { MsgUpdateParamsResponse } from "./tx_pb";
import type { MsgUpdateParams } from "./tx_pb";
import type { MsgAdminUpdateBinaryOptionsMarketResponse } from "./tx_pb";
import type { MsgAdminUpdateBinaryOptionsMarket } from "./tx_pb";
import type { MsgRewardsOptOutResponse } from "./tx_pb";
import type { MsgRewardsOptOut } from "./tx_pb";
import type { MsgDecreasePositionMarginResponse } from "./tx_pb";
import type { MsgDecreasePositionMargin } from "./tx_pb";
import type { MsgIncreasePositionMarginResponse } from "./tx_pb";
import type { MsgIncreasePositionMargin } from "./tx_pb";
import type { MsgOffsetPositionResponse } from "./tx_pb";
import type { MsgOffsetPosition } from "./tx_pb";
import type { MsgEmergencySettleMarketResponse } from "./tx_pb";
import type { MsgEmergencySettleMarket } from "./tx_pb";
import type { MsgBatchLiquidatePositionsResponse } from "./tx_pb";
import type { MsgBatchLiquidatePositions } from "./tx_pb";
import type { MsgLiquidatePositionResponse } from "./tx_pb";
import type { MsgLiquidatePosition } from "./tx_pb";
import type { MsgExternalTransferResponse } from "./tx_pb";
import type { MsgExternalTransfer } from "./tx_pb";
import type { MsgSubaccountTransferResponse } from "./tx_pb";
import type { MsgSubaccountTransfer } from "./tx_pb";
import type { MsgBatchCancelBinaryOptionsOrdersResponse } from "./tx_pb";
import type { MsgBatchCancelBinaryOptionsOrders } from "./tx_pb";
import type { MsgCancelBinaryOptionsOrderResponse } from "./tx_pb";
import type { MsgCancelBinaryOptionsOrder } from "./tx_pb";
import type { MsgCreateBinaryOptionsMarketOrderResponse } from "./tx_pb";
import type { MsgCreateBinaryOptionsMarketOrder } from "./tx_pb";
import type { MsgCreateBinaryOptionsLimitOrderResponse } from "./tx_pb";
import type { MsgCreateBinaryOptionsLimitOrder } from "./tx_pb";
import type { MsgInstantBinaryOptionsMarketLaunchResponse } from "./tx_pb";
import type { MsgInstantBinaryOptionsMarketLaunch } from "./tx_pb";
import type { MsgBatchCancelDerivativeOrdersResponse } from "./tx_pb";
import type { MsgBatchCancelDerivativeOrders } from "./tx_pb";
import type { MsgCancelDerivativeOrderResponse } from "./tx_pb";
import type { MsgCancelDerivativeOrder } from "./tx_pb";
import type { MsgCreateDerivativeMarketOrderResponse } from "./tx_pb";
import type { MsgCreateDerivativeMarketOrder } from "./tx_pb";
import type { MsgBatchCreateDerivativeLimitOrdersResponse } from "./tx_pb";
import type { MsgBatchCreateDerivativeLimitOrders } from "./tx_pb";
import type { MsgCreateDerivativeLimitOrderResponse } from "./tx_pb";
import type { MsgCreateDerivativeLimitOrder } from "./tx_pb";
import type { MsgPrivilegedExecuteContractResponse } from "./tx_pb";
import type { MsgPrivilegedExecuteContract } from "./tx_pb";
import type { MsgBatchUpdateOrdersResponse } from "./tx_pb";
import type { MsgBatchUpdateOrders } from "./tx_pb";
import type { MsgBatchCancelSpotOrdersResponse } from "./tx_pb";
import type { MsgBatchCancelSpotOrders } from "./tx_pb";
import type { MsgCancelSpotOrderResponse } from "./tx_pb";
import type { MsgCancelSpotOrder } from "./tx_pb";
import type { MsgCreateSpotMarketOrderResponse } from "./tx_pb";
import type { MsgCreateSpotMarketOrder } from "./tx_pb";
import type { MsgBatchCreateSpotLimitOrdersResponse } from "./tx_pb";
import type { MsgBatchCreateSpotLimitOrders } from "./tx_pb";
import type { MsgCreateSpotLimitOrderResponse } from "./tx_pb";
import type { MsgCreateSpotLimitOrder } from "./tx_pb";
import type { MsgInstantExpiryFuturesMarketLaunchResponse } from "./tx_pb";
import type { MsgInstantExpiryFuturesMarketLaunch } from "./tx_pb";
import type { MsgInstantPerpetualMarketLaunchResponse } from "./tx_pb";
import type { MsgInstantPerpetualMarketLaunch } from "./tx_pb";
import type { MsgInstantSpotMarketLaunchResponse } from "./tx_pb";
import type { MsgInstantSpotMarketLaunch } from "./tx_pb";
import type { MsgWithdrawResponse } from "./tx_pb";
import type { MsgWithdraw } from "./tx_pb";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { MsgDepositResponse } from "./tx_pb";
import type { MsgDeposit } from "./tx_pb";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * Msg defines the exchange Msg service.
 *
 * @generated from protobuf service injective.exchange.v2.Msg
 */
export interface IMsgClient {
    /**
     * Deposit defines a method for transferring coins from the sender's bank
     * balance into the subaccount's exchange deposits
     *
     * @generated from protobuf rpc: Deposit
     */
    deposit(input: MsgDeposit, options?: RpcOptions): UnaryCall<MsgDeposit, MsgDepositResponse>;
    /**
     * Withdraw defines a method for withdrawing coins from a subaccount's
     * deposits to the user's bank balance
     *
     * @generated from protobuf rpc: Withdraw
     */
    withdraw(input: MsgWithdraw, options?: RpcOptions): UnaryCall<MsgWithdraw, MsgWithdrawResponse>;
    /**
     * InstantSpotMarketLaunch defines method for creating a spot market by paying
     * listing fee without governance
     *
     * @generated from protobuf rpc: InstantSpotMarketLaunch
     */
    instantSpotMarketLaunch(input: MsgInstantSpotMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantSpotMarketLaunch, MsgInstantSpotMarketLaunchResponse>;
    /**
     * InstantPerpetualMarketLaunch defines a method for creating a new perpetual
     * futures market by paying listing fee without governance
     *
     * @generated from protobuf rpc: InstantPerpetualMarketLaunch
     */
    instantPerpetualMarketLaunch(input: MsgInstantPerpetualMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantPerpetualMarketLaunch, MsgInstantPerpetualMarketLaunchResponse>;
    /**
     * InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry
     * futures market by paying listing fee without governance
     *
     * @generated from protobuf rpc: InstantExpiryFuturesMarketLaunch
     */
    instantExpiryFuturesMarketLaunch(input: MsgInstantExpiryFuturesMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantExpiryFuturesMarketLaunch, MsgInstantExpiryFuturesMarketLaunchResponse>;
    /**
     * CreateSpotLimitOrder defines a method for creating a new spot limit order.
     *
     * @generated from protobuf rpc: CreateSpotLimitOrder
     */
    createSpotLimitOrder(input: MsgCreateSpotLimitOrder, options?: RpcOptions): UnaryCall<MsgCreateSpotLimitOrder, MsgCreateSpotLimitOrderResponse>;
    /**
     * BatchCreateSpotLimitOrder defines a method for creating a new batch of spot
     * limit orders.
     *
     * @generated from protobuf rpc: BatchCreateSpotLimitOrders
     */
    batchCreateSpotLimitOrders(input: MsgBatchCreateSpotLimitOrders, options?: RpcOptions): UnaryCall<MsgBatchCreateSpotLimitOrders, MsgBatchCreateSpotLimitOrdersResponse>;
    /**
     * CreateSpotMarketOrder defines a method for creating a new spot market
     * order.
     *
     * @generated from protobuf rpc: CreateSpotMarketOrder
     */
    createSpotMarketOrder(input: MsgCreateSpotMarketOrder, options?: RpcOptions): UnaryCall<MsgCreateSpotMarketOrder, MsgCreateSpotMarketOrderResponse>;
    /**
     * MsgCancelSpotOrder defines a method for cancelling a spot order.
     *
     * @generated from protobuf rpc: CancelSpotOrder
     */
    cancelSpotOrder(input: MsgCancelSpotOrder, options?: RpcOptions): UnaryCall<MsgCancelSpotOrder, MsgCancelSpotOrderResponse>;
    /**
     * BatchCancelSpotOrders defines a method for cancelling a batch of spot
     * orders in a given market.
     *
     * @generated from protobuf rpc: BatchCancelSpotOrders
     */
    batchCancelSpotOrders(input: MsgBatchCancelSpotOrders, options?: RpcOptions): UnaryCall<MsgBatchCancelSpotOrders, MsgBatchCancelSpotOrdersResponse>;
    /**
     * BatchUpdateOrders defines a method for updating a batch of orders.
     *
     * @generated from protobuf rpc: BatchUpdateOrders
     */
    batchUpdateOrders(input: MsgBatchUpdateOrders, options?: RpcOptions): UnaryCall<MsgBatchUpdateOrders, MsgBatchUpdateOrdersResponse>;
    /**
     * PrivilegedExecuteContract defines a method for executing a Cosmwasm
     * contract from the exchange module with privileged capabilities.
     *
     * @generated from protobuf rpc: PrivilegedExecuteContract
     */
    privilegedExecuteContract(input: MsgPrivilegedExecuteContract, options?: RpcOptions): UnaryCall<MsgPrivilegedExecuteContract, MsgPrivilegedExecuteContractResponse>;
    /**
     * CreateDerivativeLimitOrder defines a method for creating a new derivative
     * limit order.
     *
     * @generated from protobuf rpc: CreateDerivativeLimitOrder
     */
    createDerivativeLimitOrder(input: MsgCreateDerivativeLimitOrder, options?: RpcOptions): UnaryCall<MsgCreateDerivativeLimitOrder, MsgCreateDerivativeLimitOrderResponse>;
    /**
     * BatchCreateDerivativeLimitOrders defines a method for creating a new batch
     * of derivative limit orders.
     *
     * @generated from protobuf rpc: BatchCreateDerivativeLimitOrders
     */
    batchCreateDerivativeLimitOrders(input: MsgBatchCreateDerivativeLimitOrders, options?: RpcOptions): UnaryCall<MsgBatchCreateDerivativeLimitOrders, MsgBatchCreateDerivativeLimitOrdersResponse>;
    /**
     * MsgCreateDerivativeLimitOrder defines a method for creating a new
     * derivative market order.
     *
     * @generated from protobuf rpc: CreateDerivativeMarketOrder
     */
    createDerivativeMarketOrder(input: MsgCreateDerivativeMarketOrder, options?: RpcOptions): UnaryCall<MsgCreateDerivativeMarketOrder, MsgCreateDerivativeMarketOrderResponse>;
    /**
     * MsgCancelDerivativeOrder defines a method for cancelling a derivative
     * order.
     *
     * @generated from protobuf rpc: CancelDerivativeOrder
     */
    cancelDerivativeOrder(input: MsgCancelDerivativeOrder, options?: RpcOptions): UnaryCall<MsgCancelDerivativeOrder, MsgCancelDerivativeOrderResponse>;
    /**
     * MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of
     * derivative limit orders.
     *
     * @generated from protobuf rpc: BatchCancelDerivativeOrders
     */
    batchCancelDerivativeOrders(input: MsgBatchCancelDerivativeOrders, options?: RpcOptions): UnaryCall<MsgBatchCancelDerivativeOrders, MsgBatchCancelDerivativeOrdersResponse>;
    /**
     * InstantBinaryOptionsMarketLaunch defines method for creating a binary
     * options market by paying listing fee without governance
     *
     * @generated from protobuf rpc: InstantBinaryOptionsMarketLaunch
     */
    instantBinaryOptionsMarketLaunch(input: MsgInstantBinaryOptionsMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantBinaryOptionsMarketLaunch, MsgInstantBinaryOptionsMarketLaunchResponse>;
    /**
     * CreateBinaryOptionsLimitOrder defines a method for creating a new binary
     * options limit order.
     *
     * @generated from protobuf rpc: CreateBinaryOptionsLimitOrder
     */
    createBinaryOptionsLimitOrder(input: MsgCreateBinaryOptionsLimitOrder, options?: RpcOptions): UnaryCall<MsgCreateBinaryOptionsLimitOrder, MsgCreateBinaryOptionsLimitOrderResponse>;
    /**
     * CreateBinaryOptionsMarketOrder defines a method for creating a new binary
     * options market order.
     *
     * @generated from protobuf rpc: CreateBinaryOptionsMarketOrder
     */
    createBinaryOptionsMarketOrder(input: MsgCreateBinaryOptionsMarketOrder, options?: RpcOptions): UnaryCall<MsgCreateBinaryOptionsMarketOrder, MsgCreateBinaryOptionsMarketOrderResponse>;
    /**
     * MsgCancelBinaryOptionsOrder defines a method for cancelling a binary
     * options order.
     *
     * @generated from protobuf rpc: CancelBinaryOptionsOrder
     */
    cancelBinaryOptionsOrder(input: MsgCancelBinaryOptionsOrder, options?: RpcOptions): UnaryCall<MsgCancelBinaryOptionsOrder, MsgCancelBinaryOptionsOrderResponse>;
    /**
     * BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of
     * binary options limit orders.
     *
     * @generated from protobuf rpc: BatchCancelBinaryOptionsOrders
     */
    batchCancelBinaryOptionsOrders(input: MsgBatchCancelBinaryOptionsOrders, options?: RpcOptions): UnaryCall<MsgBatchCancelBinaryOptionsOrders, MsgBatchCancelBinaryOptionsOrdersResponse>;
    /**
     * SubaccountTransfer defines a method for transfer between subaccounts
     *
     * @generated from protobuf rpc: SubaccountTransfer
     */
    subaccountTransfer(input: MsgSubaccountTransfer, options?: RpcOptions): UnaryCall<MsgSubaccountTransfer, MsgSubaccountTransferResponse>;
    /**
     * ExternalTransfer defines a method for transfer between external accounts
     *
     * @generated from protobuf rpc: ExternalTransfer
     */
    externalTransfer(input: MsgExternalTransfer, options?: RpcOptions): UnaryCall<MsgExternalTransfer, MsgExternalTransferResponse>;
    /**
     * LiquidatePosition defines a method for liquidating a position
     *
     * @generated from protobuf rpc: LiquidatePosition
     */
    liquidatePosition(input: MsgLiquidatePosition, options?: RpcOptions): UnaryCall<MsgLiquidatePosition, MsgLiquidatePositionResponse>;
    /**
     * BatchLiquidatePositions defines a method for liquidating multiple positions
     * in a best-effort manner
     *
     * @generated from protobuf rpc: BatchLiquidatePositions
     */
    batchLiquidatePositions(input: MsgBatchLiquidatePositions, options?: RpcOptions): UnaryCall<MsgBatchLiquidatePositions, MsgBatchLiquidatePositionsResponse>;
    /**
     * EmergencySettleMarket defines a method for emergency settling a market
     *
     * @generated from protobuf rpc: EmergencySettleMarket
     */
    emergencySettleMarket(input: MsgEmergencySettleMarket, options?: RpcOptions): UnaryCall<MsgEmergencySettleMarket, MsgEmergencySettleMarketResponse>;
    /**
     * OffsetPosition defines a method for offsetting a position
     *
     * @generated from protobuf rpc: OffsetPosition
     */
    offsetPosition(input: MsgOffsetPosition, options?: RpcOptions): UnaryCall<MsgOffsetPosition, MsgOffsetPositionResponse>;
    /**
     * IncreasePositionMargin defines a method for increasing margin of a position
     *
     * @generated from protobuf rpc: IncreasePositionMargin
     */
    increasePositionMargin(input: MsgIncreasePositionMargin, options?: RpcOptions): UnaryCall<MsgIncreasePositionMargin, MsgIncreasePositionMarginResponse>;
    /**
     * DecreasePositionMargin defines a method for decreasing margin of a position
     *
     * @generated from protobuf rpc: DecreasePositionMargin
     */
    decreasePositionMargin(input: MsgDecreasePositionMargin, options?: RpcOptions): UnaryCall<MsgDecreasePositionMargin, MsgDecreasePositionMarginResponse>;
    /**
     * RewardsOptOut defines a method for opting out of rewards
     *
     * @generated from protobuf rpc: RewardsOptOut
     */
    rewardsOptOut(input: MsgRewardsOptOut, options?: RpcOptions): UnaryCall<MsgRewardsOptOut, MsgRewardsOptOutResponse>;
    /**
     * AdminUpdateBinaryOptionsMarket defines method for updating a binary options
     * market by admin
     *
     * @generated from protobuf rpc: AdminUpdateBinaryOptionsMarket
     */
    adminUpdateBinaryOptionsMarket(input: MsgAdminUpdateBinaryOptionsMarket, options?: RpcOptions): UnaryCall<MsgAdminUpdateBinaryOptionsMarket, MsgAdminUpdateBinaryOptionsMarketResponse>;
    /**
     * @generated from protobuf rpc: UpdateParams
     */
    updateParams(input: MsgUpdateParams, options?: RpcOptions): UnaryCall<MsgUpdateParams, MsgUpdateParamsResponse>;
    /**
     * UpdateSpotMarket modifies certain spot market fields (admin only)
     *
     * @generated from protobuf rpc: UpdateSpotMarket
     */
    updateSpotMarket(input: MsgUpdateSpotMarket, options?: RpcOptions): UnaryCall<MsgUpdateSpotMarket, MsgUpdateSpotMarketResponse>;
    /**
     * UpdateDerivativeMarket modifies certain derivative market fields (admin
     * only)
     *
     * @generated from protobuf rpc: UpdateDerivativeMarket
     */
    updateDerivativeMarket(input: MsgUpdateDerivativeMarket, options?: RpcOptions): UnaryCall<MsgUpdateDerivativeMarket, MsgUpdateDerivativeMarketResponse>;
    /**
     * @generated from protobuf rpc: AuthorizeStakeGrants
     */
    authorizeStakeGrants(input: MsgAuthorizeStakeGrants, options?: RpcOptions): UnaryCall<MsgAuthorizeStakeGrants, MsgAuthorizeStakeGrantsResponse>;
    /**
     * @generated from protobuf rpc: ActivateStakeGrant
     */
    activateStakeGrant(input: MsgActivateStakeGrant, options?: RpcOptions): UnaryCall<MsgActivateStakeGrant, MsgActivateStakeGrantResponse>;
    /**
     * @generated from protobuf rpc: BatchExchangeModification
     */
    batchExchangeModification(input: MsgBatchExchangeModification, options?: RpcOptions): UnaryCall<MsgBatchExchangeModification, MsgBatchExchangeModificationResponse>;
    /**
     * @generated from protobuf rpc: LaunchSpotMarket
     */
    launchSpotMarket(input: MsgSpotMarketLaunch, options?: RpcOptions): UnaryCall<MsgSpotMarketLaunch, MsgSpotMarketLaunchResponse>;
    /**
     * @generated from protobuf rpc: LaunchPerpetualMarket
     */
    launchPerpetualMarket(input: MsgPerpetualMarketLaunch, options?: RpcOptions): UnaryCall<MsgPerpetualMarketLaunch, MsgPerpetualMarketLaunchResponse>;
    /**
     * @generated from protobuf rpc: LaunchExpiryFuturesMarket
     */
    launchExpiryFuturesMarket(input: MsgExpiryFuturesMarketLaunch, options?: RpcOptions): UnaryCall<MsgExpiryFuturesMarketLaunch, MsgExpiryFuturesMarketLaunchResponse>;
    /**
     * @generated from protobuf rpc: LaunchBinaryOptionsMarket
     */
    launchBinaryOptionsMarket(input: MsgBinaryOptionsMarketLaunch, options?: RpcOptions): UnaryCall<MsgBinaryOptionsMarketLaunch, MsgBinaryOptionsMarketLaunchResponse>;
    /**
     * @generated from protobuf rpc: BatchSpendCommunityPool
     */
    batchSpendCommunityPool(input: MsgBatchCommunityPoolSpend, options?: RpcOptions): UnaryCall<MsgBatchCommunityPoolSpend, MsgBatchCommunityPoolSpendResponse>;
    /**
     * @generated from protobuf rpc: SpotMarketParamUpdate
     */
    spotMarketParamUpdate(input: MsgSpotMarketParamUpdate, options?: RpcOptions): UnaryCall<MsgSpotMarketParamUpdate, MsgSpotMarketParamUpdateResponse>;
    /**
     * @generated from protobuf rpc: DerivativeMarketParamUpdate
     */
    derivativeMarketParamUpdate(input: MsgDerivativeMarketParamUpdate, options?: RpcOptions): UnaryCall<MsgDerivativeMarketParamUpdate, MsgDerivativeMarketParamUpdateResponse>;
    /**
     * @generated from protobuf rpc: BinaryOptionsMarketParamUpdate
     */
    binaryOptionsMarketParamUpdate(input: MsgBinaryOptionsMarketParamUpdate, options?: RpcOptions): UnaryCall<MsgBinaryOptionsMarketParamUpdate, MsgBinaryOptionsMarketParamUpdateResponse>;
    /**
     * @generated from protobuf rpc: ForceSettleMarket
     */
    forceSettleMarket(input: MsgMarketForcedSettlement, options?: RpcOptions): UnaryCall<MsgMarketForcedSettlement, MsgMarketForcedSettlementResponse>;
    /**
     * @generated from protobuf rpc: LaunchTradingRewardCampaign
     */
    launchTradingRewardCampaign(input: MsgTradingRewardCampaignLaunch, options?: RpcOptions): UnaryCall<MsgTradingRewardCampaignLaunch, MsgTradingRewardCampaignLaunchResponse>;
    /**
     * @generated from protobuf rpc: EnableExchange
     */
    enableExchange(input: MsgExchangeEnable, options?: RpcOptions): UnaryCall<MsgExchangeEnable, MsgExchangeEnableResponse>;
    /**
     * @generated from protobuf rpc: UpdateTradingRewardCampaign
     */
    updateTradingRewardCampaign(input: MsgTradingRewardCampaignUpdate, options?: RpcOptions): UnaryCall<MsgTradingRewardCampaignUpdate, MsgTradingRewardCampaignUpdateResponse>;
    /**
     * @generated from protobuf rpc: UpdateTradingRewardPendingPoints
     */
    updateTradingRewardPendingPoints(input: MsgTradingRewardPendingPointsUpdate, options?: RpcOptions): UnaryCall<MsgTradingRewardPendingPointsUpdate, MsgTradingRewardPendingPointsUpdateResponse>;
    /**
     * @generated from protobuf rpc: UpdateFeeDiscount
     */
    updateFeeDiscount(input: MsgFeeDiscount, options?: RpcOptions): UnaryCall<MsgFeeDiscount, MsgFeeDiscountResponse>;
    /**
     * @generated from protobuf rpc: UpdateAtomicMarketOrderFeeMultiplierSchedule
     */
    updateAtomicMarketOrderFeeMultiplierSchedule(input: MsgAtomicMarketOrderFeeMultiplierSchedule, options?: RpcOptions): UnaryCall<MsgAtomicMarketOrderFeeMultiplierSchedule, MsgAtomicMarketOrderFeeMultiplierScheduleResponse>;
    /**
     * MsgCancelPostOnlyMode defines a message to turn off the post-only mode
     *
     * @generated from protobuf rpc: CancelPostOnlyMode
     */
    cancelPostOnlyMode(input: MsgCancelPostOnlyMode, options?: RpcOptions): UnaryCall<MsgCancelPostOnlyMode, MsgCancelPostOnlyModeResponse>;
    /**
     * MsgActivatePostOnlyMode defines a message to turn on the post-only mode for
     * a number of blocks
     *
     * @generated from protobuf rpc: ActivatePostOnlyMode
     */
    activatePostOnlyMode(input: MsgActivatePostOnlyMode, options?: RpcOptions): UnaryCall<MsgActivatePostOnlyMode, MsgActivatePostOnlyModeResponse>;
    /**
     * LiquidateCrossMarginPool atomically closes all positions in a cross-margin
     * pool, netting surplus from profitable positions against deficits before
     * touching the insurance fund.
     *
     * @generated from protobuf rpc: LiquidateCrossMarginPool
     */
    liquidateCrossMarginPool(input: MsgLiquidateCrossMarginPool, options?: RpcOptions): UnaryCall<MsgLiquidateCrossMarginPool, MsgLiquidateCrossMarginPoolResponse>;
    /**
     * UpdateSubaccountRiskProfile allows a user (subject to eligibility & safety
     * gates) to set the subaccount's risk profile (e.g. opt into cross-margin).
     *
     * @generated from protobuf rpc: UpdateSubaccountRiskProfile
     */
    updateSubaccountRiskProfile(input: MsgUpdateSubaccountRiskProfile, options?: RpcOptions): UnaryCall<MsgUpdateSubaccountRiskProfile, MsgUpdateSubaccountRiskProfileResponse>;
}
/**
 * Msg defines the exchange Msg service.
 *
 * @generated from protobuf service injective.exchange.v2.Msg
 */
export class MsgClient implements IMsgClient, ServiceInfo {
    typeName = Msg.typeName;
    methods = Msg.methods;
    options = Msg.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * Deposit defines a method for transferring coins from the sender's bank
     * balance into the subaccount's exchange deposits
     *
     * @generated from protobuf rpc: Deposit
     */
    deposit(input: MsgDeposit, options?: RpcOptions): UnaryCall<MsgDeposit, MsgDepositResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgDeposit, MsgDepositResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Withdraw defines a method for withdrawing coins from a subaccount's
     * deposits to the user's bank balance
     *
     * @generated from protobuf rpc: Withdraw
     */
    withdraw(input: MsgWithdraw, options?: RpcOptions): UnaryCall<MsgWithdraw, MsgWithdrawResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgWithdraw, MsgWithdrawResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * InstantSpotMarketLaunch defines method for creating a spot market by paying
     * listing fee without governance
     *
     * @generated from protobuf rpc: InstantSpotMarketLaunch
     */
    instantSpotMarketLaunch(input: MsgInstantSpotMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantSpotMarketLaunch, MsgInstantSpotMarketLaunchResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgInstantSpotMarketLaunch, MsgInstantSpotMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * InstantPerpetualMarketLaunch defines a method for creating a new perpetual
     * futures market by paying listing fee without governance
     *
     * @generated from protobuf rpc: InstantPerpetualMarketLaunch
     */
    instantPerpetualMarketLaunch(input: MsgInstantPerpetualMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantPerpetualMarketLaunch, MsgInstantPerpetualMarketLaunchResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgInstantPerpetualMarketLaunch, MsgInstantPerpetualMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry
     * futures market by paying listing fee without governance
     *
     * @generated from protobuf rpc: InstantExpiryFuturesMarketLaunch
     */
    instantExpiryFuturesMarketLaunch(input: MsgInstantExpiryFuturesMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantExpiryFuturesMarketLaunch, MsgInstantExpiryFuturesMarketLaunchResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgInstantExpiryFuturesMarketLaunch, MsgInstantExpiryFuturesMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * CreateSpotLimitOrder defines a method for creating a new spot limit order.
     *
     * @generated from protobuf rpc: CreateSpotLimitOrder
     */
    createSpotLimitOrder(input: MsgCreateSpotLimitOrder, options?: RpcOptions): UnaryCall<MsgCreateSpotLimitOrder, MsgCreateSpotLimitOrderResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCreateSpotLimitOrder, MsgCreateSpotLimitOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * BatchCreateSpotLimitOrder defines a method for creating a new batch of spot
     * limit orders.
     *
     * @generated from protobuf rpc: BatchCreateSpotLimitOrders
     */
    batchCreateSpotLimitOrders(input: MsgBatchCreateSpotLimitOrders, options?: RpcOptions): UnaryCall<MsgBatchCreateSpotLimitOrders, MsgBatchCreateSpotLimitOrdersResponse> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchCreateSpotLimitOrders, MsgBatchCreateSpotLimitOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * CreateSpotMarketOrder defines a method for creating a new spot market
     * order.
     *
     * @generated from protobuf rpc: CreateSpotMarketOrder
     */
    createSpotMarketOrder(input: MsgCreateSpotMarketOrder, options?: RpcOptions): UnaryCall<MsgCreateSpotMarketOrder, MsgCreateSpotMarketOrderResponse> {
        const method = this.methods[7], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCreateSpotMarketOrder, MsgCreateSpotMarketOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MsgCancelSpotOrder defines a method for cancelling a spot order.
     *
     * @generated from protobuf rpc: CancelSpotOrder
     */
    cancelSpotOrder(input: MsgCancelSpotOrder, options?: RpcOptions): UnaryCall<MsgCancelSpotOrder, MsgCancelSpotOrderResponse> {
        const method = this.methods[8], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCancelSpotOrder, MsgCancelSpotOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * BatchCancelSpotOrders defines a method for cancelling a batch of spot
     * orders in a given market.
     *
     * @generated from protobuf rpc: BatchCancelSpotOrders
     */
    batchCancelSpotOrders(input: MsgBatchCancelSpotOrders, options?: RpcOptions): UnaryCall<MsgBatchCancelSpotOrders, MsgBatchCancelSpotOrdersResponse> {
        const method = this.methods[9], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchCancelSpotOrders, MsgBatchCancelSpotOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * BatchUpdateOrders defines a method for updating a batch of orders.
     *
     * @generated from protobuf rpc: BatchUpdateOrders
     */
    batchUpdateOrders(input: MsgBatchUpdateOrders, options?: RpcOptions): UnaryCall<MsgBatchUpdateOrders, MsgBatchUpdateOrdersResponse> {
        const method = this.methods[10], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchUpdateOrders, MsgBatchUpdateOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * PrivilegedExecuteContract defines a method for executing a Cosmwasm
     * contract from the exchange module with privileged capabilities.
     *
     * @generated from protobuf rpc: PrivilegedExecuteContract
     */
    privilegedExecuteContract(input: MsgPrivilegedExecuteContract, options?: RpcOptions): UnaryCall<MsgPrivilegedExecuteContract, MsgPrivilegedExecuteContractResponse> {
        const method = this.methods[11], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgPrivilegedExecuteContract, MsgPrivilegedExecuteContractResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * CreateDerivativeLimitOrder defines a method for creating a new derivative
     * limit order.
     *
     * @generated from protobuf rpc: CreateDerivativeLimitOrder
     */
    createDerivativeLimitOrder(input: MsgCreateDerivativeLimitOrder, options?: RpcOptions): UnaryCall<MsgCreateDerivativeLimitOrder, MsgCreateDerivativeLimitOrderResponse> {
        const method = this.methods[12], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCreateDerivativeLimitOrder, MsgCreateDerivativeLimitOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * BatchCreateDerivativeLimitOrders defines a method for creating a new batch
     * of derivative limit orders.
     *
     * @generated from protobuf rpc: BatchCreateDerivativeLimitOrders
     */
    batchCreateDerivativeLimitOrders(input: MsgBatchCreateDerivativeLimitOrders, options?: RpcOptions): UnaryCall<MsgBatchCreateDerivativeLimitOrders, MsgBatchCreateDerivativeLimitOrdersResponse> {
        const method = this.methods[13], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchCreateDerivativeLimitOrders, MsgBatchCreateDerivativeLimitOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MsgCreateDerivativeLimitOrder defines a method for creating a new
     * derivative market order.
     *
     * @generated from protobuf rpc: CreateDerivativeMarketOrder
     */
    createDerivativeMarketOrder(input: MsgCreateDerivativeMarketOrder, options?: RpcOptions): UnaryCall<MsgCreateDerivativeMarketOrder, MsgCreateDerivativeMarketOrderResponse> {
        const method = this.methods[14], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCreateDerivativeMarketOrder, MsgCreateDerivativeMarketOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MsgCancelDerivativeOrder defines a method for cancelling a derivative
     * order.
     *
     * @generated from protobuf rpc: CancelDerivativeOrder
     */
    cancelDerivativeOrder(input: MsgCancelDerivativeOrder, options?: RpcOptions): UnaryCall<MsgCancelDerivativeOrder, MsgCancelDerivativeOrderResponse> {
        const method = this.methods[15], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCancelDerivativeOrder, MsgCancelDerivativeOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of
     * derivative limit orders.
     *
     * @generated from protobuf rpc: BatchCancelDerivativeOrders
     */
    batchCancelDerivativeOrders(input: MsgBatchCancelDerivativeOrders, options?: RpcOptions): UnaryCall<MsgBatchCancelDerivativeOrders, MsgBatchCancelDerivativeOrdersResponse> {
        const method = this.methods[16], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchCancelDerivativeOrders, MsgBatchCancelDerivativeOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * InstantBinaryOptionsMarketLaunch defines method for creating a binary
     * options market by paying listing fee without governance
     *
     * @generated from protobuf rpc: InstantBinaryOptionsMarketLaunch
     */
    instantBinaryOptionsMarketLaunch(input: MsgInstantBinaryOptionsMarketLaunch, options?: RpcOptions): UnaryCall<MsgInstantBinaryOptionsMarketLaunch, MsgInstantBinaryOptionsMarketLaunchResponse> {
        const method = this.methods[17], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgInstantBinaryOptionsMarketLaunch, MsgInstantBinaryOptionsMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * CreateBinaryOptionsLimitOrder defines a method for creating a new binary
     * options limit order.
     *
     * @generated from protobuf rpc: CreateBinaryOptionsLimitOrder
     */
    createBinaryOptionsLimitOrder(input: MsgCreateBinaryOptionsLimitOrder, options?: RpcOptions): UnaryCall<MsgCreateBinaryOptionsLimitOrder, MsgCreateBinaryOptionsLimitOrderResponse> {
        const method = this.methods[18], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCreateBinaryOptionsLimitOrder, MsgCreateBinaryOptionsLimitOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * CreateBinaryOptionsMarketOrder defines a method for creating a new binary
     * options market order.
     *
     * @generated from protobuf rpc: CreateBinaryOptionsMarketOrder
     */
    createBinaryOptionsMarketOrder(input: MsgCreateBinaryOptionsMarketOrder, options?: RpcOptions): UnaryCall<MsgCreateBinaryOptionsMarketOrder, MsgCreateBinaryOptionsMarketOrderResponse> {
        const method = this.methods[19], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCreateBinaryOptionsMarketOrder, MsgCreateBinaryOptionsMarketOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MsgCancelBinaryOptionsOrder defines a method for cancelling a binary
     * options order.
     *
     * @generated from protobuf rpc: CancelBinaryOptionsOrder
     */
    cancelBinaryOptionsOrder(input: MsgCancelBinaryOptionsOrder, options?: RpcOptions): UnaryCall<MsgCancelBinaryOptionsOrder, MsgCancelBinaryOptionsOrderResponse> {
        const method = this.methods[20], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCancelBinaryOptionsOrder, MsgCancelBinaryOptionsOrderResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of
     * binary options limit orders.
     *
     * @generated from protobuf rpc: BatchCancelBinaryOptionsOrders
     */
    batchCancelBinaryOptionsOrders(input: MsgBatchCancelBinaryOptionsOrders, options?: RpcOptions): UnaryCall<MsgBatchCancelBinaryOptionsOrders, MsgBatchCancelBinaryOptionsOrdersResponse> {
        const method = this.methods[21], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchCancelBinaryOptionsOrders, MsgBatchCancelBinaryOptionsOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * SubaccountTransfer defines a method for transfer between subaccounts
     *
     * @generated from protobuf rpc: SubaccountTransfer
     */
    subaccountTransfer(input: MsgSubaccountTransfer, options?: RpcOptions): UnaryCall<MsgSubaccountTransfer, MsgSubaccountTransferResponse> {
        const method = this.methods[22], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgSubaccountTransfer, MsgSubaccountTransferResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * ExternalTransfer defines a method for transfer between external accounts
     *
     * @generated from protobuf rpc: ExternalTransfer
     */
    externalTransfer(input: MsgExternalTransfer, options?: RpcOptions): UnaryCall<MsgExternalTransfer, MsgExternalTransferResponse> {
        const method = this.methods[23], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgExternalTransfer, MsgExternalTransferResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * LiquidatePosition defines a method for liquidating a position
     *
     * @generated from protobuf rpc: LiquidatePosition
     */
    liquidatePosition(input: MsgLiquidatePosition, options?: RpcOptions): UnaryCall<MsgLiquidatePosition, MsgLiquidatePositionResponse> {
        const method = this.methods[24], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgLiquidatePosition, MsgLiquidatePositionResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * BatchLiquidatePositions defines a method for liquidating multiple positions
     * in a best-effort manner
     *
     * @generated from protobuf rpc: BatchLiquidatePositions
     */
    batchLiquidatePositions(input: MsgBatchLiquidatePositions, options?: RpcOptions): UnaryCall<MsgBatchLiquidatePositions, MsgBatchLiquidatePositionsResponse> {
        const method = this.methods[25], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchLiquidatePositions, MsgBatchLiquidatePositionsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * EmergencySettleMarket defines a method for emergency settling a market
     *
     * @generated from protobuf rpc: EmergencySettleMarket
     */
    emergencySettleMarket(input: MsgEmergencySettleMarket, options?: RpcOptions): UnaryCall<MsgEmergencySettleMarket, MsgEmergencySettleMarketResponse> {
        const method = this.methods[26], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgEmergencySettleMarket, MsgEmergencySettleMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * OffsetPosition defines a method for offsetting a position
     *
     * @generated from protobuf rpc: OffsetPosition
     */
    offsetPosition(input: MsgOffsetPosition, options?: RpcOptions): UnaryCall<MsgOffsetPosition, MsgOffsetPositionResponse> {
        const method = this.methods[27], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgOffsetPosition, MsgOffsetPositionResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * IncreasePositionMargin defines a method for increasing margin of a position
     *
     * @generated from protobuf rpc: IncreasePositionMargin
     */
    increasePositionMargin(input: MsgIncreasePositionMargin, options?: RpcOptions): UnaryCall<MsgIncreasePositionMargin, MsgIncreasePositionMarginResponse> {
        const method = this.methods[28], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgIncreasePositionMargin, MsgIncreasePositionMarginResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * DecreasePositionMargin defines a method for decreasing margin of a position
     *
     * @generated from protobuf rpc: DecreasePositionMargin
     */
    decreasePositionMargin(input: MsgDecreasePositionMargin, options?: RpcOptions): UnaryCall<MsgDecreasePositionMargin, MsgDecreasePositionMarginResponse> {
        const method = this.methods[29], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgDecreasePositionMargin, MsgDecreasePositionMarginResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * RewardsOptOut defines a method for opting out of rewards
     *
     * @generated from protobuf rpc: RewardsOptOut
     */
    rewardsOptOut(input: MsgRewardsOptOut, options?: RpcOptions): UnaryCall<MsgRewardsOptOut, MsgRewardsOptOutResponse> {
        const method = this.methods[30], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgRewardsOptOut, MsgRewardsOptOutResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * AdminUpdateBinaryOptionsMarket defines method for updating a binary options
     * market by admin
     *
     * @generated from protobuf rpc: AdminUpdateBinaryOptionsMarket
     */
    adminUpdateBinaryOptionsMarket(input: MsgAdminUpdateBinaryOptionsMarket, options?: RpcOptions): UnaryCall<MsgAdminUpdateBinaryOptionsMarket, MsgAdminUpdateBinaryOptionsMarketResponse> {
        const method = this.methods[31], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgAdminUpdateBinaryOptionsMarket, MsgAdminUpdateBinaryOptionsMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: UpdateParams
     */
    updateParams(input: MsgUpdateParams, options?: RpcOptions): UnaryCall<MsgUpdateParams, MsgUpdateParamsResponse> {
        const method = this.methods[32], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgUpdateParams, MsgUpdateParamsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * UpdateSpotMarket modifies certain spot market fields (admin only)
     *
     * @generated from protobuf rpc: UpdateSpotMarket
     */
    updateSpotMarket(input: MsgUpdateSpotMarket, options?: RpcOptions): UnaryCall<MsgUpdateSpotMarket, MsgUpdateSpotMarketResponse> {
        const method = this.methods[33], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgUpdateSpotMarket, MsgUpdateSpotMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * UpdateDerivativeMarket modifies certain derivative market fields (admin
     * only)
     *
     * @generated from protobuf rpc: UpdateDerivativeMarket
     */
    updateDerivativeMarket(input: MsgUpdateDerivativeMarket, options?: RpcOptions): UnaryCall<MsgUpdateDerivativeMarket, MsgUpdateDerivativeMarketResponse> {
        const method = this.methods[34], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgUpdateDerivativeMarket, MsgUpdateDerivativeMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: AuthorizeStakeGrants
     */
    authorizeStakeGrants(input: MsgAuthorizeStakeGrants, options?: RpcOptions): UnaryCall<MsgAuthorizeStakeGrants, MsgAuthorizeStakeGrantsResponse> {
        const method = this.methods[35], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgAuthorizeStakeGrants, MsgAuthorizeStakeGrantsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: ActivateStakeGrant
     */
    activateStakeGrant(input: MsgActivateStakeGrant, options?: RpcOptions): UnaryCall<MsgActivateStakeGrant, MsgActivateStakeGrantResponse> {
        const method = this.methods[36], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgActivateStakeGrant, MsgActivateStakeGrantResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: BatchExchangeModification
     */
    batchExchangeModification(input: MsgBatchExchangeModification, options?: RpcOptions): UnaryCall<MsgBatchExchangeModification, MsgBatchExchangeModificationResponse> {
        const method = this.methods[37], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchExchangeModification, MsgBatchExchangeModificationResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: LaunchSpotMarket
     */
    launchSpotMarket(input: MsgSpotMarketLaunch, options?: RpcOptions): UnaryCall<MsgSpotMarketLaunch, MsgSpotMarketLaunchResponse> {
        const method = this.methods[38], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgSpotMarketLaunch, MsgSpotMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: LaunchPerpetualMarket
     */
    launchPerpetualMarket(input: MsgPerpetualMarketLaunch, options?: RpcOptions): UnaryCall<MsgPerpetualMarketLaunch, MsgPerpetualMarketLaunchResponse> {
        const method = this.methods[39], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgPerpetualMarketLaunch, MsgPerpetualMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: LaunchExpiryFuturesMarket
     */
    launchExpiryFuturesMarket(input: MsgExpiryFuturesMarketLaunch, options?: RpcOptions): UnaryCall<MsgExpiryFuturesMarketLaunch, MsgExpiryFuturesMarketLaunchResponse> {
        const method = this.methods[40], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgExpiryFuturesMarketLaunch, MsgExpiryFuturesMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: LaunchBinaryOptionsMarket
     */
    launchBinaryOptionsMarket(input: MsgBinaryOptionsMarketLaunch, options?: RpcOptions): UnaryCall<MsgBinaryOptionsMarketLaunch, MsgBinaryOptionsMarketLaunchResponse> {
        const method = this.methods[41], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBinaryOptionsMarketLaunch, MsgBinaryOptionsMarketLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: BatchSpendCommunityPool
     */
    batchSpendCommunityPool(input: MsgBatchCommunityPoolSpend, options?: RpcOptions): UnaryCall<MsgBatchCommunityPoolSpend, MsgBatchCommunityPoolSpendResponse> {
        const method = this.methods[42], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBatchCommunityPoolSpend, MsgBatchCommunityPoolSpendResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SpotMarketParamUpdate
     */
    spotMarketParamUpdate(input: MsgSpotMarketParamUpdate, options?: RpcOptions): UnaryCall<MsgSpotMarketParamUpdate, MsgSpotMarketParamUpdateResponse> {
        const method = this.methods[43], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgSpotMarketParamUpdate, MsgSpotMarketParamUpdateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DerivativeMarketParamUpdate
     */
    derivativeMarketParamUpdate(input: MsgDerivativeMarketParamUpdate, options?: RpcOptions): UnaryCall<MsgDerivativeMarketParamUpdate, MsgDerivativeMarketParamUpdateResponse> {
        const method = this.methods[44], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgDerivativeMarketParamUpdate, MsgDerivativeMarketParamUpdateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: BinaryOptionsMarketParamUpdate
     */
    binaryOptionsMarketParamUpdate(input: MsgBinaryOptionsMarketParamUpdate, options?: RpcOptions): UnaryCall<MsgBinaryOptionsMarketParamUpdate, MsgBinaryOptionsMarketParamUpdateResponse> {
        const method = this.methods[45], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgBinaryOptionsMarketParamUpdate, MsgBinaryOptionsMarketParamUpdateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: ForceSettleMarket
     */
    forceSettleMarket(input: MsgMarketForcedSettlement, options?: RpcOptions): UnaryCall<MsgMarketForcedSettlement, MsgMarketForcedSettlementResponse> {
        const method = this.methods[46], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgMarketForcedSettlement, MsgMarketForcedSettlementResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: LaunchTradingRewardCampaign
     */
    launchTradingRewardCampaign(input: MsgTradingRewardCampaignLaunch, options?: RpcOptions): UnaryCall<MsgTradingRewardCampaignLaunch, MsgTradingRewardCampaignLaunchResponse> {
        const method = this.methods[47], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgTradingRewardCampaignLaunch, MsgTradingRewardCampaignLaunchResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: EnableExchange
     */
    enableExchange(input: MsgExchangeEnable, options?: RpcOptions): UnaryCall<MsgExchangeEnable, MsgExchangeEnableResponse> {
        const method = this.methods[48], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgExchangeEnable, MsgExchangeEnableResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: UpdateTradingRewardCampaign
     */
    updateTradingRewardCampaign(input: MsgTradingRewardCampaignUpdate, options?: RpcOptions): UnaryCall<MsgTradingRewardCampaignUpdate, MsgTradingRewardCampaignUpdateResponse> {
        const method = this.methods[49], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgTradingRewardCampaignUpdate, MsgTradingRewardCampaignUpdateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: UpdateTradingRewardPendingPoints
     */
    updateTradingRewardPendingPoints(input: MsgTradingRewardPendingPointsUpdate, options?: RpcOptions): UnaryCall<MsgTradingRewardPendingPointsUpdate, MsgTradingRewardPendingPointsUpdateResponse> {
        const method = this.methods[50], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgTradingRewardPendingPointsUpdate, MsgTradingRewardPendingPointsUpdateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: UpdateFeeDiscount
     */
    updateFeeDiscount(input: MsgFeeDiscount, options?: RpcOptions): UnaryCall<MsgFeeDiscount, MsgFeeDiscountResponse> {
        const method = this.methods[51], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgFeeDiscount, MsgFeeDiscountResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: UpdateAtomicMarketOrderFeeMultiplierSchedule
     */
    updateAtomicMarketOrderFeeMultiplierSchedule(input: MsgAtomicMarketOrderFeeMultiplierSchedule, options?: RpcOptions): UnaryCall<MsgAtomicMarketOrderFeeMultiplierSchedule, MsgAtomicMarketOrderFeeMultiplierScheduleResponse> {
        const method = this.methods[52], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgAtomicMarketOrderFeeMultiplierSchedule, MsgAtomicMarketOrderFeeMultiplierScheduleResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MsgCancelPostOnlyMode defines a message to turn off the post-only mode
     *
     * @generated from protobuf rpc: CancelPostOnlyMode
     */
    cancelPostOnlyMode(input: MsgCancelPostOnlyMode, options?: RpcOptions): UnaryCall<MsgCancelPostOnlyMode, MsgCancelPostOnlyModeResponse> {
        const method = this.methods[53], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgCancelPostOnlyMode, MsgCancelPostOnlyModeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MsgActivatePostOnlyMode defines a message to turn on the post-only mode for
     * a number of blocks
     *
     * @generated from protobuf rpc: ActivatePostOnlyMode
     */
    activatePostOnlyMode(input: MsgActivatePostOnlyMode, options?: RpcOptions): UnaryCall<MsgActivatePostOnlyMode, MsgActivatePostOnlyModeResponse> {
        const method = this.methods[54], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgActivatePostOnlyMode, MsgActivatePostOnlyModeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * LiquidateCrossMarginPool atomically closes all positions in a cross-margin
     * pool, netting surplus from profitable positions against deficits before
     * touching the insurance fund.
     *
     * @generated from protobuf rpc: LiquidateCrossMarginPool
     */
    liquidateCrossMarginPool(input: MsgLiquidateCrossMarginPool, options?: RpcOptions): UnaryCall<MsgLiquidateCrossMarginPool, MsgLiquidateCrossMarginPoolResponse> {
        const method = this.methods[55], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgLiquidateCrossMarginPool, MsgLiquidateCrossMarginPoolResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * UpdateSubaccountRiskProfile allows a user (subject to eligibility & safety
     * gates) to set the subaccount's risk profile (e.g. opt into cross-margin).
     *
     * @generated from protobuf rpc: UpdateSubaccountRiskProfile
     */
    updateSubaccountRiskProfile(input: MsgUpdateSubaccountRiskProfile, options?: RpcOptions): UnaryCall<MsgUpdateSubaccountRiskProfile, MsgUpdateSubaccountRiskProfileResponse> {
        const method = this.methods[56], opt = this._transport.mergeOptions(options);
        return stackIntercept<MsgUpdateSubaccountRiskProfile, MsgUpdateSubaccountRiskProfileResponse>("unary", this._transport, method, opt, input);
    }
}
