/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { CatalogCategory, CatalogEntity } from "../../common/catalog";
import type { CatalogEntityOnBeforeRun } from "../../renderer/api/catalog/entity/registry";
import type { Disposer } from "@openlens/utilities";
export declare const catalogCategories: import("../../common/catalog").CatalogCategoryRegistry;
export declare class CatalogEntityRegistry {
    /**
     * Currently active/visible entity
     */
    get activeEntity(): CatalogEntity<import("../../common/catalog").CatalogEntityMetadata, import("../../common/catalog").CatalogEntityStatus, import("../../common/catalog").CatalogEntitySpec> | undefined;
    get entities(): Map<string, CatalogEntity>;
    getById(id: string): CatalogEntity<import("../../common/catalog").CatalogEntityMetadata, import("../../common/catalog").CatalogEntityStatus, import("../../common/catalog").CatalogEntitySpec> | undefined;
    getItemsForApiKind<T extends CatalogEntity>(apiVersion: string, kind: string): T[];
    getItemsForCategory<T extends CatalogEntity>(category: CatalogCategory): T[];
    /**
     * Add a onBeforeRun hook to a catalog entities. If `onBeforeRun` was previously
     * added then it will not be added again.
     * @param onBeforeRun The function to be called with a `CatalogRunEvent`
     * event target will be the catalog entity. onBeforeRun hook can call event.preventDefault()
     * to stop run sequence
     * @returns A function to remove that hook
     */
    addOnBeforeRun(onBeforeRun: CatalogEntityOnBeforeRun): Disposer;
}
export declare const catalogEntities: CatalogEntityRegistry;
export declare const activeCluster: import("mobx").IComputedValue<import("../common-api/catalog").KubernetesCluster<import("../common-api/catalog").KubernetesClusterMetadata, import("../common-api/catalog").KubernetesClusterStatus, import("../common-api/catalog").KubernetesClusterSpec> | null>;
