import { Reflection, Type } from '../models'; import { AbstractComponent } from '../utils'; import { Serializer } from './serializer'; export declare abstract class SerializerComponent extends AbstractComponent { static PRIORITY: number; abstract serializeGroup(instance: unknown): boolean; abstract serializeGroupSymbol: any; readonly priority: number; abstract supports(item: unknown): boolean; abstract toObject(item: T, obj?: any): any; } export declare abstract class ReflectionSerializerComponent extends SerializerComponent { serializeGroup(instance: unknown): boolean; serializeGroupSymbol: typeof Reflection; } export declare abstract class TypeSerializerComponent extends SerializerComponent { serializeGroup(instance: unknown): boolean; serializeGroupSymbol: typeof Type; }