import BN from "bn.js";
import * as types from "../types";
export interface VariableParametersFields {
    /**
     * Volatility accumulator measure the number of bin crossed since reference bin ID. Normally (without filter period taken into consideration), reference bin ID is the active bin of last swap.
     * It affects the variable fee rate
     */
    volatilityAccumulator: number;
    /** Volatility reference is decayed volatility accumulator. It is always <= volatility_accumulator */
    volatilityReference: number;
    /** Active bin id of last swap. */
    indexReference: number;
    /** Padding for bytemuck safe alignment */
    padding: Array<number>;
    /** Last timestamp the variable parameters was updated */
    lastUpdateTimestamp: BN;
    /** Padding for bytemuck safe alignment */
    padding1: Array<number>;
}
export interface VariableParametersJSON {
    /**
     * Volatility accumulator measure the number of bin crossed since reference bin ID. Normally (without filter period taken into consideration), reference bin ID is the active bin of last swap.
     * It affects the variable fee rate
     */
    volatilityAccumulator: number;
    /** Volatility reference is decayed volatility accumulator. It is always <= volatility_accumulator */
    volatilityReference: number;
    /** Active bin id of last swap. */
    indexReference: number;
    /** Padding for bytemuck safe alignment */
    padding: Array<number>;
    /** Last timestamp the variable parameters was updated */
    lastUpdateTimestamp: string;
    /** Padding for bytemuck safe alignment */
    padding1: Array<number>;
}
/** Parameters that changes based on dynamic of the market */
export declare class VariableParameters {
    /**
     * Volatility accumulator measure the number of bin crossed since reference bin ID. Normally (without filter period taken into consideration), reference bin ID is the active bin of last swap.
     * It affects the variable fee rate
     */
    readonly volatilityAccumulator: number;
    /** Volatility reference is decayed volatility accumulator. It is always <= volatility_accumulator */
    readonly volatilityReference: number;
    /** Active bin id of last swap. */
    readonly indexReference: number;
    /** Padding for bytemuck safe alignment */
    readonly padding: Array<number>;
    /** Last timestamp the variable parameters was updated */
    readonly lastUpdateTimestamp: BN;
    /** Padding for bytemuck safe alignment */
    readonly padding1: Array<number>;
    constructor(fields: VariableParametersFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.VariableParameters;
    static toEncodable(fields: VariableParametersFields): {
        volatilityAccumulator: number;
        volatilityReference: number;
        indexReference: number;
        padding: number[];
        lastUpdateTimestamp: BN;
        padding1: number[];
    };
    toJSON(): VariableParametersJSON;
    static fromJSON(obj: VariableParametersJSON): VariableParameters;
    toEncodable(): {
        volatilityAccumulator: number;
        volatilityReference: number;
        indexReference: number;
        padding: number[];
        lastUpdateTimestamp: BN;
        padding1: number[];
    };
}
//# sourceMappingURL=VariableParameters.d.ts.map