import { PureValueClone } from "./PureValueClone.js"; export declare const TRANSFORM_MARKER_VERSION = 1; export declare function markEscapedApplicationMarker(value: object): void; export type TransformMarker = { ___perfectWS: typeof TRANSFORM_MARKER_VERSION; ___type: string; [key: PropertyKey]: any; }; export declare function createTransformMarker>(typeName: string, data: T): TransformMarker & T; export declare function isGeneratedTransformMarker(value: object): boolean; export declare function isTransformMarker(data: any, typeName: string): data is TransformMarker; export type SerializationRegistration = { commit?: () => void; rollback?: () => void; }; export declare class SerializationTransaction { private _registrations; private _settled; add(registration: SerializationRegistration): void; get hasRegistrations(): boolean; commit(): void; rollback(): void; } export declare function transformReceivedDeserializeType(data: any, typeName: string, transformData: (data: any) => any, maxDepth?: number, validate?: (data: TransformMarker) => boolean): any; type TransformSendRecursiveOptions = { maxDepth?: number; transformData: (data: any) => any | null; processingDataType?: (data: any) => boolean; walkTransformed?: boolean; }; export declare function transformReceivedRecursive(obj: any, { transformData, processingDataType, maxDepth }: TransformSendRecursiveOptions): any; /** * Clone the original object and transform it recursively. */ export declare function transformSendRecursive(pureValueClone: PureValueClone, { transformData, processingDataType, maxDepth, walkTransformed, }: TransformSendRecursiveOptions): void; export {};