import { IClassRef } from './IClassRef';
import { IEntityRef } from './IEntityRef';
import { ISerializeOptions } from '../lib/serializer/ISerializeOptions';
import { IUnserializeOptions } from '../lib/serializer/IUnserializeOptions';
export declare function supportsSerialize(x: any): x is ISerializeSupport;
export declare function supportsUnserialize(x: any): x is ISerializeSupport;
export declare function supportsSerialization(x: any): x is ISerializeSupport;
export interface ISerializeSupport {
    serialize?(options?: ISerializeOptions): Promise<any>;
    unserialize?(data: any, options?: IUnserializeOptions): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]>;
}
