export interface IEntitySource { toSource(): any; } export type EntitySource = { source: (data: any) => any; }; export type EntityObject = IEntitySource & EntitySource & { attrs: T; }; /** * will track changes */ export declare class EntityState { /** * store cloned attributes */ original: any; /** * store attributes ref */ current: any; constructor(attrs: any); changes(): void; cloneOriginal(): void; clone(): void; } /** * use for typecasting and self validation */ export declare class EntitySchema { } export declare class EntitySchemaManager { } export declare class EntityCollection extends Array { } export declare class EntityComposer { }