import { Constructor, DoValueMetaData, ObjectWithType } from '../../index';
export declare class DataObjectSerializer implements ObjectWithType {
    id: string;
    objectType: string;
    protected _cycleDetector: DoSerializerCycleDetector;
    serialize(value: any, valueMetaData?: DoValueMetaData): any;
    protected _serializeObject(value: any, metaData?: DoValueMetaData): any;
    protected _convertFieldValue(proto: object, fieldName: string, value: any): any;
    protected _writeJsonType(target: any, constructor: Constructor): void;
}
export declare class DoSerializerCycleDetector {
    protected _stack: any[];
    protected _attributeNames: string[];
    push(value: any): void;
    pop(value: any): void;
    contains(value: any): boolean;
    pushAttributeName(attributeName: string): void;
    popAttributeName(attributeName: string): void;
    protected _canHaveChildren(value: any): boolean;
}
//# sourceMappingURL=DataObjectSerializer.d.ts.map