import * as types from "../types";
export interface StaticParametersFields {
    /** Used for base fee calculation. base_fee_rate = base_factor * bin_step */
    baseFactor: number;
    /** Filter period determine high frequency trading time window. */
    filterPeriod: number;
    /** Decay period determine when the volatile fee start decay / decrease. */
    decayPeriod: number;
    /** Reduction factor controls the volatile fee rate decrement rate. */
    reductionFactor: number;
    /** Used to scale the variable fee component depending on the dynamic of the market */
    variableFeeControl: number;
    /** Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate. */
    maxVolatilityAccumulator: number;
    /** Min bin id supported by the pool based on the configured bin step. */
    minBinId: number;
    /** Max bin id supported by the pool based on the configured bin step. */
    maxBinId: number;
    /** Portion of swap fees retained by the protocol by controlling protocol_share parameter. protocol_swap_fee = protocol_share * total_swap_fee */
    protocolShare: number;
    /** Padding for bytemuck safe alignment */
    padding: Array<number>;
}
export interface StaticParametersJSON {
    /** Used for base fee calculation. base_fee_rate = base_factor * bin_step */
    baseFactor: number;
    /** Filter period determine high frequency trading time window. */
    filterPeriod: number;
    /** Decay period determine when the volatile fee start decay / decrease. */
    decayPeriod: number;
    /** Reduction factor controls the volatile fee rate decrement rate. */
    reductionFactor: number;
    /** Used to scale the variable fee component depending on the dynamic of the market */
    variableFeeControl: number;
    /** Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate. */
    maxVolatilityAccumulator: number;
    /** Min bin id supported by the pool based on the configured bin step. */
    minBinId: number;
    /** Max bin id supported by the pool based on the configured bin step. */
    maxBinId: number;
    /** Portion of swap fees retained by the protocol by controlling protocol_share parameter. protocol_swap_fee = protocol_share * total_swap_fee */
    protocolShare: number;
    /** Padding for bytemuck safe alignment */
    padding: Array<number>;
}
/** Parameter that set by the protocol */
export declare class StaticParameters {
    /** Used for base fee calculation. base_fee_rate = base_factor * bin_step */
    readonly baseFactor: number;
    /** Filter period determine high frequency trading time window. */
    readonly filterPeriod: number;
    /** Decay period determine when the volatile fee start decay / decrease. */
    readonly decayPeriod: number;
    /** Reduction factor controls the volatile fee rate decrement rate. */
    readonly reductionFactor: number;
    /** Used to scale the variable fee component depending on the dynamic of the market */
    readonly variableFeeControl: number;
    /** Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate. */
    readonly maxVolatilityAccumulator: number;
    /** Min bin id supported by the pool based on the configured bin step. */
    readonly minBinId: number;
    /** Max bin id supported by the pool based on the configured bin step. */
    readonly maxBinId: number;
    /** Portion of swap fees retained by the protocol by controlling protocol_share parameter. protocol_swap_fee = protocol_share * total_swap_fee */
    readonly protocolShare: number;
    /** Padding for bytemuck safe alignment */
    readonly padding: Array<number>;
    constructor(fields: StaticParametersFields);
    static layout(property?: string): any;
    static fromDecoded(obj: any): types.StaticParameters;
    static toEncodable(fields: StaticParametersFields): {
        baseFactor: number;
        filterPeriod: number;
        decayPeriod: number;
        reductionFactor: number;
        variableFeeControl: number;
        maxVolatilityAccumulator: number;
        minBinId: number;
        maxBinId: number;
        protocolShare: number;
        padding: number[];
    };
    toJSON(): StaticParametersJSON;
    static fromJSON(obj: StaticParametersJSON): StaticParameters;
    toEncodable(): {
        baseFactor: number;
        filterPeriod: number;
        decayPeriod: number;
        reductionFactor: number;
        variableFeeControl: number;
        maxVolatilityAccumulator: number;
        minBinId: number;
        maxBinId: number;
        protocolShare: number;
        padding: number[];
    };
}
//# sourceMappingURL=StaticParameters.d.ts.map