import BN from "bn.js";
import * as types from "../types";
import * as borsh from "@coral-xyz/borsh";
export type UniformFields = {
    currentBinIndex: number;
    lowerBinIndex: number;
    upperBinIndex: number;
    amountXtoDeposit: BN;
    amountYtoDeposit: BN;
    xCurrentBin: BN;
    yCurrentBin: BN;
};
export type UniformValue = {
    currentBinIndex: number;
    lowerBinIndex: number;
    upperBinIndex: number;
    amountXtoDeposit: BN;
    amountYtoDeposit: BN;
    xCurrentBin: BN;
    yCurrentBin: BN;
};
export interface UniformJSON {
    kind: "Uniform";
    value: {
        currentBinIndex: number;
        lowerBinIndex: number;
        upperBinIndex: number;
        amountXtoDeposit: string;
        amountYtoDeposit: string;
        xCurrentBin: string;
        yCurrentBin: string;
    };
}
export declare class Uniform {
    static readonly discriminator = 0;
    static readonly kind = "Uniform";
    readonly discriminator = 0;
    readonly kind = "Uniform";
    readonly value: UniformValue;
    constructor(value: UniformFields);
    toJSON(): UniformJSON;
    toEncodable(): {
        Uniform: {
            currentBinIndex: number;
            lowerBinIndex: number;
            upperBinIndex: number;
            amountXToDeposit: BN;
            amountYToDeposit: BN;
            xCurrentBin: BN;
            yCurrentBin: BN;
        };
    };
}
export type CurrentTickFields = [number];
export type CurrentTickValue = [number];
export interface CurrentTickJSON {
    kind: "CurrentTick";
    value: [number];
}
export declare class CurrentTick {
    static readonly discriminator = 1;
    static readonly kind = "CurrentTick";
    readonly discriminator = 1;
    readonly kind = "CurrentTick";
    readonly value: CurrentTickValue;
    constructor(value: CurrentTickFields);
    toJSON(): CurrentTickJSON;
    toEncodable(): {
        CurrentTick: {
            _0: number;
        };
    };
}
export declare function fromDecoded(obj: any): types.BinAddLiquidityStrategyKind;
export declare function fromJSON(obj: types.BinAddLiquidityStrategyJSON): types.BinAddLiquidityStrategyKind;
export declare function layout(property?: string): borsh.EnumLayout<unknown>;
//# sourceMappingURL=BinAddLiquidityStrategy.d.ts.map