import { TypeAnnotation } from './transformer.js'; import { MinimisedTree, ReferentialEqualityAnnotations } from './plainer.js'; export type Class = { new (...args: any[]): any; }; export type PrimitiveJSONValue = string | number | boolean | undefined | null; export type JSONValue = PrimitiveJSONValue | JSONArray | JSONObject; export interface JSONArray extends Array { } export interface JSONObject { [key: string]: JSONValue; } type ClassInstance = any; export type SerializableJSONValue = Symbol | Set | Map | undefined | bigint | Date | ClassInstance | RegExp; export type SuperJSONValue = JSONValue | SerializableJSONValue | SuperJSONArray | SuperJSONObject; export interface SuperJSONArray extends Array { } export interface SuperJSONObject { [key: string]: SuperJSONValue; } export interface SuperJSONResult { json: JSONValue; meta?: { values?: MinimisedTree; referentialEqualities?: ReferentialEqualityAnnotations; v?: number; }; } export {};