export type Json = boolean | number | string | null | JsonArray | JsonMap; export interface JsonMap { [key: string]: Json; } export interface JsonArray extends Array { } export type JsonSerializable = { toJSON(): JsonLike; }; export type JsonLike = boolean | number | string | null | JsonSerializable | Array | { [P in any]: JsonLike; };