syntropylog
Version:
An instance manager with observability for Node.js applications
29 lines (28 loc) • 1.13 kB
TypeScript
/**
* @file src/serialization/SerializationManager.ts
* @description Intelligent serialization manager with auto-detection and adaptive timeouts
*/
import { ISerializer, SerializationResult } from './types';
import { SerializableData, SerializationContextConfig, SerializationMetrics, SanitizationConfig } from '../types';
export interface SerializationManagerConfig {
timeoutMs?: number;
enableMetrics?: boolean;
sanitizeSensitiveData?: boolean;
sanitizationContext?: SanitizationConfig;
}
export declare class SerializationManager {
private pipeline;
private serializationStep;
private sanitizationStep;
private timeoutStep;
private config;
private metrics;
constructor(config?: SerializationManagerConfig);
register(serializer: ISerializer): void;
serialize(data: SerializableData, context?: SerializationContextConfig): Promise<SerializationResult>;
private updateMetrics;
getMetrics(): SerializationMetrics;
resetMetrics(): void;
getRegisteredSerializers(): string[];
getPipelineMetrics(): import("./SerializationPipeline").PipelineMetrics | null;
}