import BN from "bn.js";
import * as types from "../types";
export interface LiquidityParameterByStrategyFields {
    /** Amount of X token to deposit */
    amountX: BN;
    /** Amount of Y token to deposit */
    amountY: BN;
    /** Active bin that integrator observe off-chain */
    activeId: number;
    /** max active bin slippage allowed */
    maxActiveBinSlippage: number;
    /** strategy parameters */
    strategyParameters: types.StrategyParametersFields;
}
export interface LiquidityParameterByStrategyJSON {
    /** Amount of X token to deposit */
    amountX: string;
    /** Amount of Y token to deposit */
    amountY: string;
    /** Active bin that integrator observe off-chain */
    activeId: number;
    /** max active bin slippage allowed */
    maxActiveBinSlippage: number;
    /** strategy parameters */
    strategyParameters: types.StrategyParametersJSON;
}
export declare class LiquidityParameterByStrategy {
    /** Amount of X token to deposit */
    readonly amountX: BN;
    /** Amount of Y token to deposit */
    readonly amountY: BN;
    /** Active bin that integrator observe off-chain */
    readonly activeId: number;
    /** max active bin slippage allowed */
    readonly maxActiveBinSlippage: number;
    /** strategy parameters */
    readonly strategyParameters: types.StrategyParameters;
    constructor(fields: LiquidityParameterByStrategyFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.LiquidityParameterByStrategy;
    static toEncodable(fields: LiquidityParameterByStrategyFields): {
        amountX: BN;
        amountY: BN;
        activeId: number;
        maxActiveBinSlippage: number;
        strategyParameters: {
            minBinId: number;
            maxBinId: number;
            strategyType: {
                SpotOneSide: {};
            } | {
                CurveOneSide: {};
            } | {
                BidAskOneSide: {};
            } | {
                SpotBalanced: {};
            } | {
                CurveBalanced: {};
            } | {
                BidAskBalanced: {};
            } | {
                SpotImBalanced: {};
            } | {
                CurveImBalanced: {};
            } | {
                BidAskImBalanced: {};
            };
            parameteres: number[];
        };
    };
    toJSON(): LiquidityParameterByStrategyJSON;
    static fromJSON(obj: LiquidityParameterByStrategyJSON): LiquidityParameterByStrategy;
    toEncodable(): {
        amountX: BN;
        amountY: BN;
        activeId: number;
        maxActiveBinSlippage: number;
        strategyParameters: {
            minBinId: number;
            maxBinId: number;
            strategyType: {
                SpotOneSide: {};
            } | {
                CurveOneSide: {};
            } | {
                BidAskOneSide: {};
            } | {
                SpotBalanced: {};
            } | {
                CurveBalanced: {};
            } | {
                BidAskBalanced: {};
            } | {
                SpotImBalanced: {};
            } | {
                CurveImBalanced: {};
            } | {
                BidAskImBalanced: {};
            };
            parameteres: number[];
        };
    };
}
//# sourceMappingURL=LiquidityParameterByStrategy.d.ts.map