import { TypeAnnotation } from './transformer.cjs'; import SuperJSON from './index.cjs'; 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, version: number, superJson: SuperJSON): any; export declare function applyReferentialEqualityAnnotations(plain: any, annotations: ReferentialEqualityAnnotations, version: number): 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 {};