import { SerialiseUtil } from "./exports";
import "./UtilString";
export declare function addJsonableType(jsonableType: string): (_Class: any) => any;
/**
 * ############################################################################### #
 * JSON Serialisation functions
 * ###############################################################################
 */
export declare class Jsonable extends SerialiseUtil {
    _tupleType: string;
    protected _rawJonableFields: any;
    static readonly JSON_CLASS_TYPE = "_ct";
    private static readonly JSON_TUPLE_TYPE;
    private static readonly JSON_FIELD_TYPE;
    private static readonly JSON_FIELD_DATA;
    constructor();
    private _isRawJsonableField;
    _fieldNames(): any[];
    equals(other: any): boolean;
    toRestfulJsonDict(): {};
    toJsonDict(): {};
    private _tupleToJsonDict;
    fromJsonDict(jsonDict: {}): any;
    toJsonField(value: any, jsonDict?: {} | null, name?: string | null, useShortNames?: boolean): any;
    fromJsonField(value: any, valueType?: string): any;
}
