import * as plugins from './smartjson.plugins.js'; import * as bufferhandling from './bufferhandling.js'; interface JsonObject { [key: string]: any; } /** * allows you to parse a json */ export declare const parse: typeof bufferhandling.parse; export declare const parseJsonL: (jsonlData: string) => JsonObject[]; export declare const stringifyJsonL: (items: any[]) => string; /** * stableOneWayStringify * - Produces a stable, deterministic JSON string * - Handles circular references without throwing (replaces cycles) * - Safe for hashing/comparisons ("one-way"; not intended for round-trips) */ export declare const stableOneWayStringify: (objArg: any, simpleOrderArray?: string[], optionsArg?: plugins.IStableJsonTypes["Options"]) => string; /** * * @param objArg * @param optionsArg */ export declare const stringify: (objArg: any, simpleOrderArray?: string[], optionsArg?: plugins.IStableJsonTypes["Options"]) => string; export declare const stringifyPretty: (objectArg: any) => string; export declare const stringifyBase64: (...args: Parameters) => string; export declare const parseBase64: (base64JsonStringArg: string) => any; export declare class Smartjson { /** * enfolds data from an object */ static enfoldFromObject(this: T, objectArg: any): InstanceType; /** * enfold from json */ static enfoldFromJson(this: T, jsonArg: string): InstanceType; saveableProperties: string[]; /** * folds a class into an object */ foldToObject(): { [key: string]: any; }; private foldToObjectInternal; /** * folds a class into an object */ foldToJson(): string; } /** * Decorator that marks a property as foldable (TC39 Stage 3 decorator) * Use with the `accessor` keyword: @foldDec() accessor myProp: string; */ export declare const foldDec: () => (_value: ClassAccessorDecoratorTarget, context: ClassAccessorDecoratorContext) => ClassAccessorDecoratorResult | void; export declare const deepEqualObjects: (object1: any, object2: any) => boolean; export declare const deepEqualJsonLStrings: (jsonLString1: string, jsonLString2: string) => boolean; export {};