export class ControlContext {
    /**
     * @private
     * @type {EntityComponentDataset}
     */
    private ecd;
    /**
     * @private
     * @type {Entity[]}
     */
    private entities;
    /**
     * @private
     * @type {ControlContextState|number}
     */
    private state;
    /**
     * Should entities be made transient or not, transient entities do not get persisted
     * @private
     * @type {boolean}
     */
    private transientEntities;
    /**
     *
     * @returns {ControlContextState|number}
     */
    getState(): ControlContextState | number;
    /**
     * Do not invoke "build" manually
     * @returns {Entity}
     */
    makeEntity(): Entity;
    /**
     * Initialization method is called once before the context is used for the first time
     * @param {EntityComponentDataset} ecd
     */
    initialize(ecd: EntityComponentDataset): void;
    /**
     * Disposal is done when the context is no longer needed, any used resources should be freed here
     */
    dispose(): void;
    /**
     * Invoked to make context active
     * @throws IllegalStateException
     */
    startup(): void;
    /**
     * Invoked to deactivate context
     * @throws IllegalStateException
     */
    shutdown(): void;
}
import { ControlContextState } from "./ControlContextState.js";
import Entity from "../ecs/Entity.js";
//# sourceMappingURL=ControlContext.d.ts.map