import { type ComponentCtor, type ComponentSchema, type ComponentType } from "./Component.js";
export declare class ComponentRegistry {
    private nextId;
    private readonly byCtor;
    private readonly byName;
    register<T extends object>(ctor: ComponentCtor<T>, schema?: ComponentSchema): ComponentType<T>;
    get<T extends object>(ctor: ComponentCtor<T>): ComponentType<T> | undefined;
    require<T extends object>(ctor: ComponentCtor<T>): ComponentType<T>;
    getByName(name: string): ComponentType | undefined;
    list(): ComponentType[];
}
//# sourceMappingURL=ComponentRegistry.d.ts.map