import { type ComponentCtor } from "./Component.js";
import { type Entity } from "./Entity.js";
import { type World } from "./World.js";
export type EntityRef = Entity | {
    readonly tempId: number;
};
export declare class CommandBuffer {
    private nextTempId;
    private readonly commands;
    createEntity(): EntityRef;
    destroyEntity(entity: EntityRef): void;
    add<T extends object>(entity: EntityRef, ctor: ComponentCtor<T>, component: T): void;
    remove<T extends object>(entity: EntityRef, ctor: ComponentCtor<T>): void;
    flush(world: World): Entity[];
}
//# sourceMappingURL=CommandBuffer.d.ts.map