interface IMap { [key: string]: T; } export declare type TAVClass = new () => TAVObject; export declare class TAVObject { private static classes; private static instances; static parse(source: unknown): T | undefined; static declareType(name: string, class_: TAVClass): void; static getType(name: string): TAVClass; id: string; prepared: boolean; readonly type: string; protected nativeInvalidated: boolean; protected _nativeObject?: any; constructor(id?: string); prepare(): Promise; release(): void; protected doPrepare(): Promise; protected invalidated(): void; } export declare function isTAVObject(source: unknown, classes: IMap): source is TAVObject; interface ObjectRef { target: any; prop: string | number; } export declare class ObjectPlaceholder extends TAVObject { refs: ObjectRef[]; resolve(realValue: unknown): void; } export declare function parseTAVObject(source: unknown, classes: IMap, instances: IMap): TAVObject; export declare function uuid(len?: number): string; export declare function updateNative(_target: any, name: string, descriptor: PropertyDescriptor): void; export declare function updateNativeIfEffect(_target: any, name: string, descriptor: PropertyDescriptor): void; export declare function allowCallNativeAnytime(_target: any, name: string, descriptor: PropertyDescriptor): void; export declare function updateNativeOrMakeInvalidate(_target: any, name: string, descriptor: PropertyDescriptor): void; export {};