import { Scene } from '../../scene/scene';
import { World } from '../../ecs/index';
import { Game } from '..';
import { Component } from '../../ecs/component';
import { System } from '../../ecs/system';
import { Entity } from '../../ecs/entity';
import { Query } from '../../ecs/query';
import { SceneManager } from '../../scene/manager';
export declare class ECSScene implements Scene {
    instance: Game;
    id: string;
    world: World;
    running: boolean;
    data: any;
    constructor(instance: Game);
    update(): void;
    updateDraw(): boolean;
    onActivate(manager: SceneManager): void;
    onDeactivate(): void;
    onSwitch(): void;
    createEntity(components: Array<Component<any>>): Entity;
    createComponent<T>(props: T): Component<T>;
    createSystem(systemExecutor: Function): void;
    addSystem(system: System): void;
    addEntity(entity: Entity): void;
    removeEntity(entity: Entity): void;
    createQuery(include: Array<Component<any>>, exclude: Array<Component<any>>): Query;
    extendEntity(entity: Entity, components: Array<Component<any>>): Entity;
}
