import BN from "bn.js";
import * as types from "../types";
export interface EmaTwapFields {
    lastUpdateSlot: BN;
    lastUpdateUnixTimestamp: BN;
    currentEma1h: BN;
    /** The sample tracker is a 64 bit number where each bit represents a point in time. */
    updatesTracker1h: BN;
    padding0: BN;
    padding1: Array<BN>;
}
export interface EmaTwapJSON {
    lastUpdateSlot: string;
    lastUpdateUnixTimestamp: string;
    currentEma1h: string;
    /** The sample tracker is a 64 bit number where each bit represents a point in time. */
    updatesTracker1h: string;
    padding0: string;
    padding1: Array<string>;
}
export declare class EmaTwap {
    readonly lastUpdateSlot: BN;
    readonly lastUpdateUnixTimestamp: BN;
    readonly currentEma1h: BN;
    /** The sample tracker is a 64 bit number where each bit represents a point in time. */
    readonly updatesTracker1h: BN;
    readonly padding0: BN;
    readonly padding1: Array<BN>;
    constructor(fields: EmaTwapFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.EmaTwap;
    static toEncodable(fields: EmaTwapFields): {
        lastUpdateSlot: BN;
        lastUpdateUnixTimestamp: BN;
        currentEma1h: BN;
        updatesTracker1h: BN;
        padding0: BN;
        padding1: BN[];
    };
    toJSON(): EmaTwapJSON;
    static fromJSON(obj: EmaTwapJSON): EmaTwap;
    toEncodable(): {
        lastUpdateSlot: BN;
        lastUpdateUnixTimestamp: BN;
        currentEma1h: BN;
        updatesTracker1h: BN;
        padding0: BN;
        padding1: BN[];
    };
}
//# sourceMappingURL=EmaTwap.d.ts.map