import BN from "bn.js";
import * as types from "../types";
export interface RebalanceAutodriftWindowFields {
    stakingRateA: types.PriceFields | null;
    stakingRateB: types.PriceFields | null;
    epoch: BN;
    theoreticalTick: number;
    stratMidTick: number;
}
export interface RebalanceAutodriftWindowJSON {
    stakingRateA: types.PriceJSON | null;
    stakingRateB: types.PriceJSON | null;
    epoch: string;
    theoreticalTick: number;
    stratMidTick: number;
}
export declare class RebalanceAutodriftWindow {
    readonly stakingRateA: types.Price | null;
    readonly stakingRateB: types.Price | null;
    readonly epoch: BN;
    readonly theoreticalTick: number;
    readonly stratMidTick: number;
    constructor(fields: RebalanceAutodriftWindowFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.RebalanceAutodriftWindow;
    static toEncodable(fields: RebalanceAutodriftWindowFields): {
        stakingRateA: {
            value: BN;
            exp: BN;
        } | null;
        stakingRateB: {
            value: BN;
            exp: BN;
        } | null;
        epoch: BN;
        theoreticalTick: number;
        stratMidTick: number;
    };
    toJSON(): RebalanceAutodriftWindowJSON;
    static fromJSON(obj: RebalanceAutodriftWindowJSON): RebalanceAutodriftWindow;
    toEncodable(): {
        stakingRateA: {
            value: BN;
            exp: BN;
        } | null;
        stakingRateB: {
            value: BN;
            exp: BN;
        } | null;
        epoch: BN;
        theoreticalTick: number;
        stratMidTick: number;
    };
}
//# sourceMappingURL=RebalanceAutodriftWindow.d.ts.map