import { type AnyFunction, type DeserializedFunction } from './function'; export type Deserialized = T extends AnyFunction ? DeserializedFunction : T extends Record ? { [K in keyof T]: Deserialized; } : T extends Array ? Array> : T; export interface SerializationPlugin { match: (value: unknown) => boolean; serialize: (value: R) => unknown; } export interface DeserializationPlugin { match: (value: unknown) => boolean; deserialize: (value: V) => R; } export declare function serializeObject(object: unknown, plugins?: SerializationPlugin[]): unknown; export declare function deserializeObject(object: unknown, plugins?: DeserializationPlugin[]): unknown; //# sourceMappingURL=object-serialization.d.ts.map