/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { CatalogEntityContextMenuContext, CatalogEntityMetadata, CatalogEntityStatus } from "../catalog";
import { CatalogCategory, CatalogEntity } from "../catalog/catalog-entity";
export type WebLinkStatusPhase = "available" | "unavailable";
export interface WebLinkStatus extends CatalogEntityStatus {
    phase: WebLinkStatusPhase;
}
export interface WebLinkSpec {
    url: string;
}
export declare class WebLink extends CatalogEntity<CatalogEntityMetadata, WebLinkStatus, WebLinkSpec> {
    static readonly apiVersion = "entity.k8slens.dev/v1alpha1";
    static readonly kind = "WebLink";
    readonly apiVersion = "entity.k8slens.dev/v1alpha1";
    readonly kind = "WebLink";
    onRun(): Promise<void>;
    onContextMenuOpen(context: CatalogEntityContextMenuContext): void;
}
export declare class WebLinkCategory extends CatalogCategory {
    readonly apiVersion = "catalog.k8slens.dev/v1alpha1";
    readonly kind = "CatalogCategory";
    metadata: {
        name: string;
        icon: string;
    };
    spec: {
        group: string;
        versions: import("../catalog").CatalogCategoryVersion[];
        names: {
            kind: string;
        };
    };
}
