import BN from "bn.js";
import * as types from "../types";
export interface RebalanceDriftParamsFields {
    startMidTick: number;
    ticksBelowMid: number;
    ticksAboveMid: number;
    secondsPerTick: BN;
    direction: types.DriftDirectionKind;
}
export interface RebalanceDriftParamsJSON {
    startMidTick: number;
    ticksBelowMid: number;
    ticksAboveMid: number;
    secondsPerTick: string;
    direction: types.DriftDirectionJSON;
}
export declare class RebalanceDriftParams {
    readonly startMidTick: number;
    readonly ticksBelowMid: number;
    readonly ticksAboveMid: number;
    readonly secondsPerTick: BN;
    readonly direction: types.DriftDirectionKind;
    constructor(fields: RebalanceDriftParamsFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.RebalanceDriftParams;
    static toEncodable(fields: RebalanceDriftParamsFields): {
        startMidTick: number;
        ticksBelowMid: number;
        ticksAboveMid: number;
        secondsPerTick: BN;
        direction: {
            Increasing: {};
        } | {
            Decreasing: {};
        };
    };
    toJSON(): RebalanceDriftParamsJSON;
    static fromJSON(obj: RebalanceDriftParamsJSON): RebalanceDriftParams;
    toEncodable(): {
        startMidTick: number;
        ticksBelowMid: number;
        ticksAboveMid: number;
        secondsPerTick: BN;
        direction: {
            Increasing: {};
        } | {
            Decreasing: {};
        };
    };
}
//# sourceMappingURL=RebalanceDriftParams.d.ts.map