import BN from "bn.js";
import * as types from "../types";
export interface RebalanceDriftStateFields {
    step: types.RebalanceDriftStepKind;
    lastDriftTimestamp: BN;
    lastMidTick: number;
}
export interface RebalanceDriftStateJSON {
    step: types.RebalanceDriftStepJSON;
    lastDriftTimestamp: string;
    lastMidTick: number;
}
export declare class RebalanceDriftState {
    readonly step: types.RebalanceDriftStepKind;
    readonly lastDriftTimestamp: BN;
    readonly lastMidTick: number;
    constructor(fields: RebalanceDriftStateFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.RebalanceDriftState;
    static toEncodable(fields: RebalanceDriftStateFields): {
        step: {
            Uninitialized: {};
        } | {
            Drifting: {};
        };
        lastDriftTimestamp: BN;
        lastMidTick: number;
    };
    toJSON(): RebalanceDriftStateJSON;
    static fromJSON(obj: RebalanceDriftStateJSON): RebalanceDriftState;
    toEncodable(): {
        step: {
            Uninitialized: {};
        } | {
            Drifting: {};
        };
        lastDriftTimestamp: BN;
        lastMidTick: number;
    };
}
//# sourceMappingURL=RebalanceDriftState.d.ts.map