export declare type JsonValuePrimitive = string | number | boolean | null; export interface JsonValueObject { [name: string]: JsonValue; } export interface JsonValueArray extends Array { } export declare type JsonValue = JsonValuePrimitive | JsonValueObject | JsonValueArray; export interface ParameterlessConstructor { name?: string; new (): T; } export interface IDynamicObject { constructor: Function; [name: string]: any; } export interface IGenerateOptions { keyToPreserveUnknownJSON?: string; } export interface IParseOptions extends IGenerateOptions { runConstructor?: boolean; }