import { Bitset } from "./Bitset.js";
import { type ComponentCtor } from "./Component.js";
import { ComponentRegistry } from "./ComponentRegistry.js";
import { type Entity } from "./Entity.js";
export declare class ComponentStore {
    private readonly registry;
    private readonly stores;
    private readonly signatures;
    constructor(registry: ComponentRegistry);
    add<T extends object>(entity: Entity, ctor: ComponentCtor<T>, component: T): void;
    remove<T extends object>(entity: Entity, ctor: ComponentCtor<T>): boolean;
    get<T extends object>(entity: Entity, ctor: ComponentCtor<T>): T | undefined;
    has<T extends object>(entity: Entity, ctor: ComponentCtor<T>): boolean;
    deleteEntity(entity: Entity): void;
    signature(entity: Entity): Bitset;
    entries<T extends object>(ctor: ComponentCtor<T>): [Entity, T][];
    entitiesWith<T extends object>(ctor: ComponentCtor<T>): Entity[];
    private storeFor;
    private signatureFor;
}
//# sourceMappingURL=ComponentStore.d.ts.map