import { BinaryReader, BinaryWriter } from "../../../binary";
/** PoolType is an enumeration of all supported pool types. */
export declare enum PoolType {
/** Balancer - Balancer is the standard xy=k curve. Its pool model is defined in x/gamm. */
Balancer = 0,
/**
* Stableswap - Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined
* in x/gamm.
*/
Stableswap = 1,
/**
* Concentrated - Concentrated is the pool model specific to concentrated liquidity. It is
* defined in x/concentrated-liquidity.
*/
Concentrated = 2,
/**
* CosmWasm - CosmWasm is the pool model specific to CosmWasm. It is defined in
* x/cosmwasmpool.
*/
CosmWasm = 3,
UNRECOGNIZED = -1
}
export declare const PoolTypeSDKType: typeof PoolType;
export declare const PoolTypeAmino: typeof PoolType;
export declare function poolTypeFromJSON(object: any): PoolType;
export declare function poolTypeToJSON(object: PoolType): string;
/**
* ModuleRouter defines a route encapsulating pool type.
* It is used as the value of a mapping from pool id to the pool type,
* allowing the pool manager to know which module to route swaps to given the
* pool id.
*/
export interface ModuleRoute {
/** pool_type specifies the type of the pool */
poolType: PoolType;
poolId?: bigint;
}
export interface ModuleRouteProtoMsg {
typeUrl: "/osmosis.poolmanager.v1beta1.ModuleRoute";
value: Uint8Array;
}
/**
* ModuleRouter defines a route encapsulating pool type.
* It is used as the value of a mapping from pool id to the pool type,
* allowing the pool manager to know which module to route swaps to given the
* pool id.
*/
export interface ModuleRouteAmino {
/** pool_type specifies the type of the pool */
pool_type?: PoolType;
pool_id?: string;
}
export interface ModuleRouteAminoMsg {
type: "osmosis/poolmanager/module-route";
value: ModuleRouteAmino;
}
/**
* ModuleRouter defines a route encapsulating pool type.
* It is used as the value of a mapping from pool id to the pool type,
* allowing the pool manager to know which module to route swaps to given the
* pool id.
*/
export interface ModuleRouteSDKType {
pool_type: PoolType;
pool_id?: bigint;
}
export declare const ModuleRoute: {
typeUrl: string;
aminoType: string;
is(o: any): o is ModuleRoute;
isSDK(o: any): o is ModuleRouteSDKType;
isAmino(o: any): o is ModuleRouteAmino;
encode(message: ModuleRoute, writer?: BinaryWriter): BinaryWriter;
decode(input: BinaryReader | Uint8Array, length?: number): ModuleRoute;
fromPartial(object: Partial<ModuleRoute>): ModuleRoute;
fromAmino(object: ModuleRouteAmino): ModuleRoute;
toAmino(message: ModuleRoute): ModuleRouteAmino;
fromAminoMsg(object: ModuleRouteAminoMsg): ModuleRoute;
toAminoMsg(message: ModuleRoute): ModuleRouteAminoMsg;
fromProtoMsg(message: ModuleRouteProtoMsg): ModuleRoute;
toProto(message: ModuleRoute): Uint8Array;
toProtoMsg(message: ModuleRoute): ModuleRouteProtoMsg;
};