import { PerpetualFeeParams, PerpetualFeeParamsSDKType } from "./params";
import { PerMarketFeeDiscountParams, PerMarketFeeDiscountParamsSDKType } from "./per_market_fee_discount";
import { StakingTier, StakingTierSDKType } from "./staking_tier";
import * as _m0 from "protobufjs/minimal";
import { DeepPartial } from "../../helpers";
/** MsgUpdatePerpetualFeeParams is the Msg/UpdatePerpetualFeeParams request type. */
export interface MsgUpdatePerpetualFeeParams {
    authority: string;
    /** Defines the parameters to update. All parameters must be supplied. */
    params?: PerpetualFeeParams;
}
/** MsgUpdatePerpetualFeeParams is the Msg/UpdatePerpetualFeeParams request type. */
export interface MsgUpdatePerpetualFeeParamsSDKType {
    authority: string;
    params?: PerpetualFeeParamsSDKType;
}
/**
 * MsgUpdatePerpetualFeeParamsResponse is the Msg/UpdatePerpetualFeeParams
 * response type.
 */
export interface MsgUpdatePerpetualFeeParamsResponse {
}
/**
 * MsgUpdatePerpetualFeeParamsResponse is the Msg/UpdatePerpetualFeeParams
 * response type.
 */
export interface MsgUpdatePerpetualFeeParamsResponseSDKType {
}
/**
 * MsgSetMarketFeeDiscountParams is the Msg/SetMarketFeeDiscountParams
 * request type.
 */
export interface MsgSetMarketFeeDiscountParams {
    /** authority is the address that controls the module */
    authority: string;
    /** The per-market fee discount parameters to create or update */
    params: PerMarketFeeDiscountParams[];
}
/**
 * MsgSetMarketFeeDiscountParams is the Msg/SetMarketFeeDiscountParams
 * request type.
 */
export interface MsgSetMarketFeeDiscountParamsSDKType {
    authority: string;
    params: PerMarketFeeDiscountParamsSDKType[];
}
/**
 * MsgSetMarketFeeDiscountParamsResponse is the
 * Msg/SetMarketFeeDiscountParams response type.
 */
export interface MsgSetMarketFeeDiscountParamsResponse {
}
/**
 * MsgSetMarketFeeDiscountParamsResponse is the
 * Msg/SetMarketFeeDiscountParams response type.
 */
export interface MsgSetMarketFeeDiscountParamsResponseSDKType {
}
/** MsgSetStakingTiers is the Msg/SetStakingTiers request type. */
export interface MsgSetStakingTiers {
    authority: string;
    /** List of Staking tiers */
    stakingTiers: StakingTier[];
}
/** MsgSetStakingTiers is the Msg/SetStakingTiers request type. */
export interface MsgSetStakingTiersSDKType {
    authority: string;
    staking_tiers: StakingTierSDKType[];
}
/** MsgSetStakingTiersResponse is the Msg/SetStakingTiers response type. */
export interface MsgSetStakingTiersResponse {
}
/** MsgSetStakingTiersResponse is the Msg/SetStakingTiers response type. */
export interface MsgSetStakingTiersResponseSDKType {
}
export declare const MsgUpdatePerpetualFeeParams: {
    encode(message: MsgUpdatePerpetualFeeParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdatePerpetualFeeParams;
    fromPartial(object: DeepPartial<MsgUpdatePerpetualFeeParams>): MsgUpdatePerpetualFeeParams;
};
export declare const MsgUpdatePerpetualFeeParamsResponse: {
    encode(_: MsgUpdatePerpetualFeeParamsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdatePerpetualFeeParamsResponse;
    fromPartial(_: DeepPartial<MsgUpdatePerpetualFeeParamsResponse>): MsgUpdatePerpetualFeeParamsResponse;
};
export declare const MsgSetMarketFeeDiscountParams: {
    encode(message: MsgSetMarketFeeDiscountParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetMarketFeeDiscountParams;
    fromPartial(object: DeepPartial<MsgSetMarketFeeDiscountParams>): MsgSetMarketFeeDiscountParams;
};
export declare const MsgSetMarketFeeDiscountParamsResponse: {
    encode(_: MsgSetMarketFeeDiscountParamsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetMarketFeeDiscountParamsResponse;
    fromPartial(_: DeepPartial<MsgSetMarketFeeDiscountParamsResponse>): MsgSetMarketFeeDiscountParamsResponse;
};
export declare const MsgSetStakingTiers: {
    encode(message: MsgSetStakingTiers, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetStakingTiers;
    fromPartial(object: DeepPartial<MsgSetStakingTiers>): MsgSetStakingTiers;
};
export declare const MsgSetStakingTiersResponse: {
    encode(_: MsgSetStakingTiersResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetStakingTiersResponse;
    fromPartial(_: DeepPartial<MsgSetStakingTiersResponse>): MsgSetStakingTiersResponse;
};
//# sourceMappingURL=tx.d.ts.map