export type SerializerFn = (value: T, context: SerializerContext) => any; export interface SerializerContext { depth: number; maxDepth: number; path: string[]; seen: WeakSet; } export interface SerializerEntry { type: new (...args: any[]) => T; serializer: SerializerFn; priority: number; } export interface SerializerConfig { maxDepth?: number; circular?: 'error' | 'skip' | 'placeholder'; preserveUndefined?: boolean; } export interface ISerializerRegistry { add(type: new (...args: any[]) => T, serializer: SerializerFn, priority?: number): void; remove(type: new (...args: any[]) => T): boolean; has(type: new (...args: any[]) => T): boolean; serialize(value: any, config?: SerializerConfig): any; getAll(): SerializerEntry[]; } //# sourceMappingURL=serializers.d.ts.map