export declare enum DataType { Null = 0, Float32 = 1, Float64 = 2, Int32 = 3, Int16 = 4, Int8 = 5, Uint32 = 6, Uint16 = 7, Uint8 = 8, String = 9, Bool = 10, Object = 11, Float16 = 12 } export declare class TypeMetaProperty { key: string; datatype: DataType; isArray: boolean; pclass?: TypeMetaClass; constructor(key: string, datatype: DataType, isary?: boolean, pclass?: any); } export declare class TypeMetaClass { prototype: any; properties: TypeMetaProperty[]; private m_needSort; addProperty(k: string, t: DataType, isary?: boolean): void; sortProperty(): this | undefined; } export declare function SerializeField(type: DataType, array?: boolean, ptype?: any): (target: any, key: string) => void; export declare class TypeReflector { static meta: TypeMetaClass[]; static register(proto: any, property: string, type: DataType, array?: boolean, ptype?: any): void; static getMetaClass(prototype: any): TypeMetaClass | null; } export declare function BinarySerialize(obj: T, type?: { new(): T; }): ArrayBuffer; export declare function BinaryDeserialize(type: { new(): T; }, databuffer: ArrayBuffer): T | null;