import BN from "bn.js";
import * as types from "../types";
export interface LiquidityParameterByWeightFields {
    /** 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;
    /** Liquidity distribution to each bins */
    binLiquidityDist: Array<types.BinLiquidityDistributionByWeightFields>;
}
export interface LiquidityParameterByWeightJSON {
    /** 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;
    /** Liquidity distribution to each bins */
    binLiquidityDist: Array<types.BinLiquidityDistributionByWeightJSON>;
}
export declare class LiquidityParameterByWeight {
    /** 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;
    /** Liquidity distribution to each bins */
    readonly binLiquidityDist: Array<types.BinLiquidityDistributionByWeight>;
    constructor(fields: LiquidityParameterByWeightFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.LiquidityParameterByWeight;
    static toEncodable(fields: LiquidityParameterByWeightFields): {
        amountX: BN;
        amountY: BN;
        activeId: number;
        maxActiveBinSlippage: number;
        binLiquidityDist: {
            binId: number;
            weight: number;
        }[];
    };
    toJSON(): LiquidityParameterByWeightJSON;
    static fromJSON(obj: LiquidityParameterByWeightJSON): LiquidityParameterByWeight;
    toEncodable(): {
        amountX: BN;
        amountY: BN;
        activeId: number;
        maxActiveBinSlippage: number;
        binLiquidityDist: {
            binId: number;
            weight: number;
        }[];
    };
}
//# sourceMappingURL=LiquidityParameterByWeight.d.ts.map