import BN from "bn.js";
import * as types from "../types";
export interface LiquidityParameterByStrategyOneSideFields {
    /** Amount of X token or Y token to deposit */
    amount: BN;
    /** Active bin that integrator observe off-chain */
    activeId: number;
    /** max active bin slippage allowed */
    maxActiveBinSlippage: number;
    /** strategy parameters */
    strategyParameters: types.StrategyParametersFields;
}
export interface LiquidityParameterByStrategyOneSideJSON {
    /** Amount of X token or Y token to deposit */
    amount: 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 LiquidityParameterByStrategyOneSide {
    /** Amount of X token or Y token to deposit */
    readonly amount: 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: LiquidityParameterByStrategyOneSideFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.LiquidityParameterByStrategyOneSide;
    static toEncodable(fields: LiquidityParameterByStrategyOneSideFields): {
        amount: BN;
        activeId: number;
        maxActiveBinSlippage: number;
        strategyParameters: {
            minBinId: number;
            maxBinId: number;
            strategyType: {
                SpotOneSide: {};
            } | {
                CurveOneSide: {};
            } | {
                BidAskOneSide: {};
            } | {
                SpotBalanced: {};
            } | {
                CurveBalanced: {};
            } | {
                BidAskBalanced: {};
            } | {
                SpotImBalanced: {};
            } | {
                CurveImBalanced: {};
            } | {
                BidAskImBalanced: {};
            };
            parameteres: number[];
        };
    };
    toJSON(): LiquidityParameterByStrategyOneSideJSON;
    static fromJSON(obj: LiquidityParameterByStrategyOneSideJSON): LiquidityParameterByStrategyOneSide;
    toEncodable(): {
        amount: BN;
        activeId: number;
        maxActiveBinSlippage: number;
        strategyParameters: {
            minBinId: number;
            maxBinId: number;
            strategyType: {
                SpotOneSide: {};
            } | {
                CurveOneSide: {};
            } | {
                BidAskOneSide: {};
            } | {
                SpotBalanced: {};
            } | {
                CurveBalanced: {};
            } | {
                BidAskBalanced: {};
            } | {
                SpotImBalanced: {};
            } | {
                CurveImBalanced: {};
            } | {
                BidAskImBalanced: {};
            };
            parameteres: number[];
        };
    };
}
//# sourceMappingURL=LiquidityParameterByStrategyOneSide.d.ts.map