import { Coin, type CoinSDKType } from '../../../cosmos/base/v1beta1/coin.js';
import { Route, type RouteSDKType, Swap, type SwapSDKType } from './swap.js';
import { Algorithm } from './algorithm.js';
import { BinaryReader, BinaryWriter } from '../../../binary.js';
import { type JsonSafe } from '../../../json-safe.js';
export interface MsgWithdrawProtocolFees {
    /** Address of the signer who is requesting the fee withdrawal. */
    signer: string;
    /** Address to which the withdrawn fees will be sent. */
    to: string;
}
export interface MsgWithdrawProtocolFeesProtoMsg {
    typeUrl: '/noble.swap.v1.MsgWithdrawProtocolFees';
    value: Uint8Array;
}
export interface MsgWithdrawProtocolFeesSDKType {
    signer: string;
    to: string;
}
export interface MsgWithdrawProtocolFeesResponse {
}
export interface MsgWithdrawProtocolFeesResponseProtoMsg {
    typeUrl: '/noble.swap.v1.MsgWithdrawProtocolFeesResponse';
    value: Uint8Array;
}
export interface MsgWithdrawProtocolFeesResponseSDKType {
}
export interface MsgWithdrawRewards {
    /** Address of the signer who is requesting the reward withdrawal. */
    signer: string;
}
export interface MsgWithdrawRewardsProtoMsg {
    typeUrl: '/noble.swap.v1.MsgWithdrawRewards';
    value: Uint8Array;
}
export interface MsgWithdrawRewardsSDKType {
    signer: string;
}
export interface MsgWithdrawRewardsResponse {
    /** List of rewards withdrawn by the user. */
    rewards: Coin[];
}
export interface MsgWithdrawRewardsResponseProtoMsg {
    typeUrl: '/noble.swap.v1.MsgWithdrawRewardsResponse';
    value: Uint8Array;
}
export interface MsgWithdrawRewardsResponseSDKType {
    rewards: CoinSDKType[];
}
export interface MsgSwap {
    /** Address of the signer who is initiating the swap. */
    signer: string;
    /** The coin to be swapped. */
    amount: Coin;
    /** The routes through which the swap will occur. */
    routes: Route[];
    /** The minimum amount of tokens expected after the swap. */
    min: Coin;
}
export interface MsgSwapProtoMsg {
    typeUrl: '/noble.swap.v1.MsgSwap';
    value: Uint8Array;
}
export interface MsgSwapSDKType {
    signer: string;
    amount: CoinSDKType;
    routes: RouteSDKType[];
    min: CoinSDKType;
}
export interface MsgSwapResponse {
    /** The resulting amount of tokens after the swap. */
    result: Coin;
    /** Details of each individual swap involved in the process. */
    swaps: Swap[];
}
export interface MsgSwapResponseProtoMsg {
    typeUrl: '/noble.swap.v1.MsgSwapResponse';
    value: Uint8Array;
}
export interface MsgSwapResponseSDKType {
    result: CoinSDKType;
    swaps: SwapSDKType[];
}
export interface MsgPauseByAlgorithm {
    /** Address of the signer who is requesting to pause the pools. */
    signer: string;
    /** The algorithm used by the pools to be paused. */
    algorithm: Algorithm;
}
export interface MsgPauseByAlgorithmProtoMsg {
    typeUrl: '/noble.swap.v1.MsgPauseByAlgorithm';
    value: Uint8Array;
}
export interface MsgPauseByAlgorithmSDKType {
    signer: string;
    algorithm: Algorithm;
}
export interface MsgPauseByAlgorithmResponse {
    /** List of IDs of the paused pools. */
    pausedPools: bigint[];
}
export interface MsgPauseByAlgorithmResponseProtoMsg {
    typeUrl: '/noble.swap.v1.MsgPauseByAlgorithmResponse';
    value: Uint8Array;
}
export interface MsgPauseByAlgorithmResponseSDKType {
    paused_pools: bigint[];
}
export interface MsgPauseByPoolIds {
    /** Address of the signer who is requesting to pause the pools. */
    signer: string;
    /** List of IDs of the pools to be paused. */
    poolIds: bigint[];
}
export interface MsgPauseByPoolIdsProtoMsg {
    typeUrl: '/noble.swap.v1.MsgPauseByPoolIds';
    value: Uint8Array;
}
export interface MsgPauseByPoolIdsSDKType {
    signer: string;
    pool_ids: bigint[];
}
export interface MsgPauseByPoolIdsResponse {
    /** List of IDs of the paused pools. */
    pausedPools: bigint[];
}
export interface MsgPauseByPoolIdsResponseProtoMsg {
    typeUrl: '/noble.swap.v1.MsgPauseByPoolIdsResponse';
    value: Uint8Array;
}
export interface MsgPauseByPoolIdsResponseSDKType {
    paused_pools: bigint[];
}
export interface MsgUnpauseByAlgorithm {
    /** Address of the signer who is requesting to unpause the pools. */
    signer: string;
    /** The algorithm used by the pools to be unpaused. */
    algorithm: Algorithm;
}
export interface MsgUnpauseByAlgorithmProtoMsg {
    typeUrl: '/noble.swap.v1.MsgUnpauseByAlgorithm';
    value: Uint8Array;
}
export interface MsgUnpauseByAlgorithmSDKType {
    signer: string;
    algorithm: Algorithm;
}
export interface MsgUnpauseByAlgorithmResponse {
    /** List of IDs of the unpaused pools. */
    unpausedPools: bigint[];
}
export interface MsgUnpauseByAlgorithmResponseProtoMsg {
    typeUrl: '/noble.swap.v1.MsgUnpauseByAlgorithmResponse';
    value: Uint8Array;
}
export interface MsgUnpauseByAlgorithmResponseSDKType {
    unpaused_pools: bigint[];
}
export interface MsgUnpauseByPoolIds {
    /** Address of the signer who is requesting to unpause the pools. */
    signer: string;
    /** List of IDs of the pools to be unpaused. */
    poolIds: bigint[];
}
export interface MsgUnpauseByPoolIdsProtoMsg {
    typeUrl: '/noble.swap.v1.MsgUnpauseByPoolIds';
    value: Uint8Array;
}
export interface MsgUnpauseByPoolIdsSDKType {
    signer: string;
    pool_ids: bigint[];
}
export interface MsgUnpauseByPoolIdsResponse {
    /** List of IDs of the unpaused pools. */
    unpausedPools: bigint[];
}
export interface MsgUnpauseByPoolIdsResponseProtoMsg {
    typeUrl: '/noble.swap.v1.MsgUnpauseByPoolIdsResponse';
    value: Uint8Array;
}
export interface MsgUnpauseByPoolIdsResponseSDKType {
    unpaused_pools: bigint[];
}
export declare const MsgWithdrawProtocolFees: {
    typeUrl: "/noble.swap.v1.MsgWithdrawProtocolFees";
    encode(message: MsgWithdrawProtocolFees, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawProtocolFees;
    fromJSON(object: any): MsgWithdrawProtocolFees;
    toJSON(message: MsgWithdrawProtocolFees): JsonSafe<MsgWithdrawProtocolFees>;
    fromPartial(object: Partial<MsgWithdrawProtocolFees>): MsgWithdrawProtocolFees;
    fromProtoMsg(message: MsgWithdrawProtocolFeesProtoMsg): MsgWithdrawProtocolFees;
    toProto(message: MsgWithdrawProtocolFees): Uint8Array;
    toProtoMsg(message: MsgWithdrawProtocolFees): MsgWithdrawProtocolFeesProtoMsg;
};
export declare const MsgWithdrawProtocolFeesResponse: {
    typeUrl: "/noble.swap.v1.MsgWithdrawProtocolFeesResponse";
    encode(_: MsgWithdrawProtocolFeesResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawProtocolFeesResponse;
    fromJSON(_: any): MsgWithdrawProtocolFeesResponse;
    toJSON(_: MsgWithdrawProtocolFeesResponse): JsonSafe<MsgWithdrawProtocolFeesResponse>;
    fromPartial(_: Partial<MsgWithdrawProtocolFeesResponse>): MsgWithdrawProtocolFeesResponse;
    fromProtoMsg(message: MsgWithdrawProtocolFeesResponseProtoMsg): MsgWithdrawProtocolFeesResponse;
    toProto(message: MsgWithdrawProtocolFeesResponse): Uint8Array;
    toProtoMsg(message: MsgWithdrawProtocolFeesResponse): MsgWithdrawProtocolFeesResponseProtoMsg;
};
export declare const MsgWithdrawRewards: {
    typeUrl: "/noble.swap.v1.MsgWithdrawRewards";
    encode(message: MsgWithdrawRewards, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawRewards;
    fromJSON(object: any): MsgWithdrawRewards;
    toJSON(message: MsgWithdrawRewards): JsonSafe<MsgWithdrawRewards>;
    fromPartial(object: Partial<MsgWithdrawRewards>): MsgWithdrawRewards;
    fromProtoMsg(message: MsgWithdrawRewardsProtoMsg): MsgWithdrawRewards;
    toProto(message: MsgWithdrawRewards): Uint8Array;
    toProtoMsg(message: MsgWithdrawRewards): MsgWithdrawRewardsProtoMsg;
};
export declare const MsgWithdrawRewardsResponse: {
    typeUrl: "/noble.swap.v1.MsgWithdrawRewardsResponse";
    encode(message: MsgWithdrawRewardsResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgWithdrawRewardsResponse;
    fromJSON(object: any): MsgWithdrawRewardsResponse;
    toJSON(message: MsgWithdrawRewardsResponse): JsonSafe<MsgWithdrawRewardsResponse>;
    fromPartial(object: Partial<MsgWithdrawRewardsResponse>): MsgWithdrawRewardsResponse;
    fromProtoMsg(message: MsgWithdrawRewardsResponseProtoMsg): MsgWithdrawRewardsResponse;
    toProto(message: MsgWithdrawRewardsResponse): Uint8Array;
    toProtoMsg(message: MsgWithdrawRewardsResponse): MsgWithdrawRewardsResponseProtoMsg;
};
export declare const MsgSwap: {
    typeUrl: "/noble.swap.v1.MsgSwap";
    encode(message: MsgSwap, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgSwap;
    fromJSON(object: any): MsgSwap;
    toJSON(message: MsgSwap): JsonSafe<MsgSwap>;
    fromPartial(object: Partial<MsgSwap>): MsgSwap;
    fromProtoMsg(message: MsgSwapProtoMsg): MsgSwap;
    toProto(message: MsgSwap): Uint8Array;
    toProtoMsg(message: MsgSwap): MsgSwapProtoMsg;
};
export declare const MsgSwapResponse: {
    typeUrl: "/noble.swap.v1.MsgSwapResponse";
    encode(message: MsgSwapResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgSwapResponse;
    fromJSON(object: any): MsgSwapResponse;
    toJSON(message: MsgSwapResponse): JsonSafe<MsgSwapResponse>;
    fromPartial(object: Partial<MsgSwapResponse>): MsgSwapResponse;
    fromProtoMsg(message: MsgSwapResponseProtoMsg): MsgSwapResponse;
    toProto(message: MsgSwapResponse): Uint8Array;
    toProtoMsg(message: MsgSwapResponse): MsgSwapResponseProtoMsg;
};
export declare const MsgPauseByAlgorithm: {
    typeUrl: "/noble.swap.v1.MsgPauseByAlgorithm";
    encode(message: MsgPauseByAlgorithm, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgPauseByAlgorithm;
    fromJSON(object: any): MsgPauseByAlgorithm;
    toJSON(message: MsgPauseByAlgorithm): JsonSafe<MsgPauseByAlgorithm>;
    fromPartial(object: Partial<MsgPauseByAlgorithm>): MsgPauseByAlgorithm;
    fromProtoMsg(message: MsgPauseByAlgorithmProtoMsg): MsgPauseByAlgorithm;
    toProto(message: MsgPauseByAlgorithm): Uint8Array;
    toProtoMsg(message: MsgPauseByAlgorithm): MsgPauseByAlgorithmProtoMsg;
};
export declare const MsgPauseByAlgorithmResponse: {
    typeUrl: "/noble.swap.v1.MsgPauseByAlgorithmResponse";
    encode(message: MsgPauseByAlgorithmResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgPauseByAlgorithmResponse;
    fromJSON(object: any): MsgPauseByAlgorithmResponse;
    toJSON(message: MsgPauseByAlgorithmResponse): JsonSafe<MsgPauseByAlgorithmResponse>;
    fromPartial(object: Partial<MsgPauseByAlgorithmResponse>): MsgPauseByAlgorithmResponse;
    fromProtoMsg(message: MsgPauseByAlgorithmResponseProtoMsg): MsgPauseByAlgorithmResponse;
    toProto(message: MsgPauseByAlgorithmResponse): Uint8Array;
    toProtoMsg(message: MsgPauseByAlgorithmResponse): MsgPauseByAlgorithmResponseProtoMsg;
};
export declare const MsgPauseByPoolIds: {
    typeUrl: "/noble.swap.v1.MsgPauseByPoolIds";
    encode(message: MsgPauseByPoolIds, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgPauseByPoolIds;
    fromJSON(object: any): MsgPauseByPoolIds;
    toJSON(message: MsgPauseByPoolIds): JsonSafe<MsgPauseByPoolIds>;
    fromPartial(object: Partial<MsgPauseByPoolIds>): MsgPauseByPoolIds;
    fromProtoMsg(message: MsgPauseByPoolIdsProtoMsg): MsgPauseByPoolIds;
    toProto(message: MsgPauseByPoolIds): Uint8Array;
    toProtoMsg(message: MsgPauseByPoolIds): MsgPauseByPoolIdsProtoMsg;
};
export declare const MsgPauseByPoolIdsResponse: {
    typeUrl: "/noble.swap.v1.MsgPauseByPoolIdsResponse";
    encode(message: MsgPauseByPoolIdsResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgPauseByPoolIdsResponse;
    fromJSON(object: any): MsgPauseByPoolIdsResponse;
    toJSON(message: MsgPauseByPoolIdsResponse): JsonSafe<MsgPauseByPoolIdsResponse>;
    fromPartial(object: Partial<MsgPauseByPoolIdsResponse>): MsgPauseByPoolIdsResponse;
    fromProtoMsg(message: MsgPauseByPoolIdsResponseProtoMsg): MsgPauseByPoolIdsResponse;
    toProto(message: MsgPauseByPoolIdsResponse): Uint8Array;
    toProtoMsg(message: MsgPauseByPoolIdsResponse): MsgPauseByPoolIdsResponseProtoMsg;
};
export declare const MsgUnpauseByAlgorithm: {
    typeUrl: "/noble.swap.v1.MsgUnpauseByAlgorithm";
    encode(message: MsgUnpauseByAlgorithm, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgUnpauseByAlgorithm;
    fromJSON(object: any): MsgUnpauseByAlgorithm;
    toJSON(message: MsgUnpauseByAlgorithm): JsonSafe<MsgUnpauseByAlgorithm>;
    fromPartial(object: Partial<MsgUnpauseByAlgorithm>): MsgUnpauseByAlgorithm;
    fromProtoMsg(message: MsgUnpauseByAlgorithmProtoMsg): MsgUnpauseByAlgorithm;
    toProto(message: MsgUnpauseByAlgorithm): Uint8Array;
    toProtoMsg(message: MsgUnpauseByAlgorithm): MsgUnpauseByAlgorithmProtoMsg;
};
export declare const MsgUnpauseByAlgorithmResponse: {
    typeUrl: "/noble.swap.v1.MsgUnpauseByAlgorithmResponse";
    encode(message: MsgUnpauseByAlgorithmResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgUnpauseByAlgorithmResponse;
    fromJSON(object: any): MsgUnpauseByAlgorithmResponse;
    toJSON(message: MsgUnpauseByAlgorithmResponse): JsonSafe<MsgUnpauseByAlgorithmResponse>;
    fromPartial(object: Partial<MsgUnpauseByAlgorithmResponse>): MsgUnpauseByAlgorithmResponse;
    fromProtoMsg(message: MsgUnpauseByAlgorithmResponseProtoMsg): MsgUnpauseByAlgorithmResponse;
    toProto(message: MsgUnpauseByAlgorithmResponse): Uint8Array;
    toProtoMsg(message: MsgUnpauseByAlgorithmResponse): MsgUnpauseByAlgorithmResponseProtoMsg;
};
export declare const MsgUnpauseByPoolIds: {
    typeUrl: "/noble.swap.v1.MsgUnpauseByPoolIds";
    encode(message: MsgUnpauseByPoolIds, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgUnpauseByPoolIds;
    fromJSON(object: any): MsgUnpauseByPoolIds;
    toJSON(message: MsgUnpauseByPoolIds): JsonSafe<MsgUnpauseByPoolIds>;
    fromPartial(object: Partial<MsgUnpauseByPoolIds>): MsgUnpauseByPoolIds;
    fromProtoMsg(message: MsgUnpauseByPoolIdsProtoMsg): MsgUnpauseByPoolIds;
    toProto(message: MsgUnpauseByPoolIds): Uint8Array;
    toProtoMsg(message: MsgUnpauseByPoolIds): MsgUnpauseByPoolIdsProtoMsg;
};
export declare const MsgUnpauseByPoolIdsResponse: {
    typeUrl: "/noble.swap.v1.MsgUnpauseByPoolIdsResponse";
    encode(message: MsgUnpauseByPoolIdsResponse, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): MsgUnpauseByPoolIdsResponse;
    fromJSON(object: any): MsgUnpauseByPoolIdsResponse;
    toJSON(message: MsgUnpauseByPoolIdsResponse): JsonSafe<MsgUnpauseByPoolIdsResponse>;
    fromPartial(object: Partial<MsgUnpauseByPoolIdsResponse>): MsgUnpauseByPoolIdsResponse;
    fromProtoMsg(message: MsgUnpauseByPoolIdsResponseProtoMsg): MsgUnpauseByPoolIdsResponse;
    toProto(message: MsgUnpauseByPoolIdsResponse): Uint8Array;
    toProtoMsg(message: MsgUnpauseByPoolIdsResponse): MsgUnpauseByPoolIdsResponseProtoMsg;
};
//# sourceMappingURL=tx.d.ts.map