import BN from "bn.js";
import * as types from "../types";
export interface WithdrawalCapsFields {
    configCapacity: BN;
    currentTotal: BN;
    lastIntervalStartTimestamp: BN;
    configIntervalLengthSeconds: BN;
}
export interface WithdrawalCapsJSON {
    configCapacity: string;
    currentTotal: string;
    lastIntervalStartTimestamp: string;
    configIntervalLengthSeconds: string;
}
/** Reserve Withdrawal Caps State */
export declare class WithdrawalCaps {
    readonly configCapacity: BN;
    readonly currentTotal: BN;
    readonly lastIntervalStartTimestamp: BN;
    readonly configIntervalLengthSeconds: BN;
    constructor(fields: WithdrawalCapsFields);
    static layout(property?: string): import("buffer-layout").Layout<unknown>;
    static fromDecoded(obj: any): types.WithdrawalCaps;
    static toEncodable(fields: WithdrawalCapsFields): {
        configCapacity: BN;
        currentTotal: BN;
        lastIntervalStartTimestamp: BN;
        configIntervalLengthSeconds: BN;
    };
    toJSON(): WithdrawalCapsJSON;
    static fromJSON(obj: WithdrawalCapsJSON): WithdrawalCaps;
    toEncodable(): {
        configCapacity: BN;
        currentTotal: BN;
        lastIntervalStartTimestamp: BN;
        configIntervalLengthSeconds: BN;
    };
}
//# sourceMappingURL=WithdrawalCaps.d.ts.map