export default Editor;
/**
 *
 * @constructor
 * @property {List.<Number>} selection represents list of currently selected entities
 * @property {List.<Object>} history list of applied actions
 */
declare function Editor(): void;
declare class Editor {
    processEngine: ProcessEngine;
    toolEngine: ToolEngine;
    selection: List<any>;
    actions: ActionProcessor<this, any>;
    selectionVistualizer: SelectionVisualizer;
    meshLibrary: MeshLibrary;
    /**
     *
     * @type {Map<any, TypeEditor>}
     */
    type_editor_registry: Map<any, TypeEditor>;
    cameraEntity: Entity;
    editorEntitySystem: EditorEntitySystem;
    view: EditorView;
    copyBuffer: any[];
    handlers: {
        keyDown: (event: KeyboardEvent) => void;
    };
    initialize(): void;
    disabledSystems: any[];
    lastTool: any;
    cleanupTasks: any[];
    /**
     * Attempt to focus camera on the entity
     * @param {int} entity
     */
    focusEntity(entity: int): void;
    /**
     *
     * @param {Engine} engine
     */
    attach(engine: Engine): Promise<void>;
    engine: Engine;
    /**
     *
     * @param {Class} systemClass
     */
    disableSystem(systemClass: Class): void;
    restoreDisableSystem(): void;
    detach(): void;
    /**
     *
     * @param {int} entity
     * @returns {boolean}
     */
    isEditorEntity(entity: int): boolean;
}
import { ProcessEngine } from "./process/ProcessEngine.js";
import ToolEngine from './tools/engine/ToolEngine.js';
import List from '../src/core/collection/list/List.js';
import { ActionProcessor } from '../src/core/process/undo/ActionProcessor.js';
import { SelectionVisualizer } from "./SelectionVisualizer.js";
import { MeshLibrary } from "./library/MeshLibrary.js";
import Entity from "../src/engine/ecs/Entity.js";
import EditorEntitySystem from "./ecs/EditorEntitySystem.js";
import EditorView from './view/EditorView.js';
//# sourceMappingURL=Editor.d.ts.map