import { TypeAnnotation } from './transformer.js'; import SuperJSON from './index.js'; declare type Tree = InnerNode | Leaf; declare type Leaf = [T]; declare type InnerNode = [T, Record>]; export declare type MinimisedTree = Tree | Record> | undefined; export declare function applyValueAnnotations(plain: any, annotations: MinimisedTree, superJson: SuperJSON): any; export declare function applyReferentialEqualityAnnotations(plain: any, annotations: ReferentialEqualityAnnotations): any; interface Result { transformedValue: any; annotations?: MinimisedTree; } export declare type ReferentialEqualityAnnotations = Record | [string[]] | [string[], Record]; export declare function generateReferentialEqualityAnnotations(identitites: Map, dedupe: boolean): ReferentialEqualityAnnotations | undefined; export declare const walker: (object: any, identities: Map, superJson: SuperJSON, dedupe: boolean, path?: any[], objectsInThisPath?: any[], seenObjects?: Map) => Result; export {};