UNPKG

tav-media

Version:

Cross platform media editing framework

38 lines (37 loc) 1.61 kB
interface IMap<T> { [key: string]: T; } export declare type TAVClass = new () => TAVObject; export declare class TAVObject { private static classes; private static instances; static parse<T extends TAVObject>(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<void>; release(): void; protected doPrepare(): Promise<void>; protected invalidated(): void; } export declare function isTAVObject(source: unknown, classes: IMap<TAVClass>): 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<T extends TAVObject>(source: unknown, classes: IMap<TAVClass>, instances: IMap<TAVObject>): 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 {};