import type { IInterfaceDescriptor } from '../engine/reflection/IInterfaceDescriptor';
export interface IServiceMeta {
    name: string;
    mount: string;
    iface?: IInterfaceDescriptor;
    tag?: string;
    metadata?: Record<string, unknown>;
}
export declare class ServiceRegistry {
    private services;
    register(service: IServiceMeta): void;
    unregister(name: string): boolean;
    getByName(name: string): IServiceMeta | undefined;
    getByMount(mount: string): IServiceMeta | undefined;
    getByTag(tag: string): IServiceMeta[];
    getByInterface(interfaceName: string): IServiceMeta[];
    listAll(): IServiceMeta[];
    has(name: string): boolean;
    clear(): void;
    get size(): number;
}
//# sourceMappingURL=ServiceRegistry.d.ts.map