import Entity from "./Entity";

interface Type<T> extends Function {
    new(...args: any[]): T;
}

export class EntityBlueprint {
    static from(components: any[]): EntityBlueprint

    add<T>(component: T): void

    addJSON<T>(klass: Type<T>, json: any): void

    clear(): void

    build(seed?: object): Entity
}
