UNPKG

mosx

Version:

Multiview observable state management engine

35 lines (34 loc) 1.39 kB
import { MosxTracker, IMosxTracker, IMosxTrackerParams } from "./internal"; import { DefinitionType } from "./decorators"; declare const mosx: unique symbol; export interface IMeta { type?: string; props?: IMetaProperty[]; hidden?: boolean; } export interface IMetaProperty { key: string; type: DefinitionType; hidden?: boolean; getter?: boolean; } export declare abstract class Mosx { static $mx: IMeta; private [mosx]; constructor(owner?: Mosx, tags?: string | string[]); static [Symbol.hasInstance](instance: any): any; static inject(target: any, owner?: any, tags?: string | string[]): Mosx; static new(Class: new (...args: any[]) => any, parent?: any, tags?: any): (...args: any[]) => any; static isParent(target: any, parent: any): boolean; static getParent(target: any): Mosx | null; static setParent(target: any, owner?: any): void; static getSnapshot(target: any, tags?: string | string[], spy?: boolean): any; static createTracker<T>(target: T, params?: IMosxTrackerParams): IMosxTracker<T>; static getTracker(target: any): MosxTracker | null; static getTags(target: any): Set<string> | null; static addTag(target: any, tags: string | string[]): void; static deleteTag(target: any, id: string): void; static meta(target: any): IMeta; static destroy(target: any): void; } export {};