import * as types from "../types";
export interface RebalanceAutodriftParamsFields {
    initDriftTicksPerEpoch: number;
    ticksBelowMid: number;
    ticksAboveMid: number;
    frontrunMultiplierBps: number;
    stakingRateASource: types.StakingRateSourceKind;
    stakingRateBSource: types.StakingRateSourceKind;
    initDriftDirection: types.DriftDirectionKind;
}
export interface RebalanceAutodriftParamsJSON {
    initDriftTicksPerEpoch: number;
    ticksBelowMid: number;
    ticksAboveMid: number;
    frontrunMultiplierBps: number;
    stakingRateASource: types.StakingRateSourceJSON;
    stakingRateBSource: types.StakingRateSourceJSON;
    initDriftDirection: types.DriftDirectionJSON;
}
export declare class RebalanceAutodriftParams {
    readonly initDriftTicksPerEpoch: number;
    readonly ticksBelowMid: number;
    readonly ticksAboveMid: number;
    readonly frontrunMultiplierBps: number;
    readonly stakingRateASource: types.StakingRateSourceKind;
    readonly stakingRateBSource: types.StakingRateSourceKind;
    readonly initDriftDirection: types.DriftDirectionKind;
    constructor(fields: RebalanceAutodriftParamsFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.RebalanceAutodriftParams;
    static toEncodable(fields: RebalanceAutodriftParamsFields): {
        initDriftTicksPerEpoch: number;
        ticksBelowMid: number;
        ticksAboveMid: number;
        frontrunMultiplierBps: number;
        stakingRateASource: {
            Constant: {};
        } | {
            Scope: {};
        };
        stakingRateBSource: {
            Constant: {};
        } | {
            Scope: {};
        };
        initDriftDirection: {
            Increasing: {};
        } | {
            Decreasing: {};
        };
    };
    toJSON(): RebalanceAutodriftParamsJSON;
    static fromJSON(obj: RebalanceAutodriftParamsJSON): RebalanceAutodriftParams;
    toEncodable(): {
        initDriftTicksPerEpoch: number;
        ticksBelowMid: number;
        ticksAboveMid: number;
        frontrunMultiplierBps: number;
        stakingRateASource: {
            Constant: {};
        } | {
            Scope: {};
        };
        stakingRateBSource: {
            Constant: {};
        } | {
            Scope: {};
        };
        initDriftDirection: {
            Increasing: {};
        } | {
            Decreasing: {};
        };
    };
}
//# sourceMappingURL=RebalanceAutodriftParams.d.ts.map