export declare class LookupRegistry {
    private static $self;
    private namespace;
    private _entries;
    constructor(namespace: string);
    getNamespace(): string;
    static reset(namespace?: string): void;
    static $(namespace?: string): LookupRegistry;
    list(context: string): any[];
    add<T>(context: string, entry: T): T;
    remove<T>(context: string, search: any): T[];
    filter<T>(context: string, search: (x: any) => boolean): T[];
    find<T>(context: string, search: (x: any) => boolean): T;
    /**
     * return lookup registry namespaces
     */
    static getRegistryNamespaces(): string[];
    /**
     * return lookup registries
     */
    static getLookupRegistries(): LookupRegistry[];
    /**
     * search in all registries
     *
     * @param context
     * @param search
     */
    static find<T>(context: string, search: any): T;
    /**
     * filter over all registries
     *
     * @param context
     * @param search
     */
    static filter<T>(context: string, search: any): T[];
}
