/****************************************************************************** * Copyright (c) 2026 Contributors to the Eclipse Foundation. * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * https://www.eclipse.org/legal/epl-2.0. * * SPDX-License-Identifier: EPL-2.0 *****************************************************************************/ import { FunctionComponent } from 'react'; import { Namespace, Extension, ErrorResult } from '../../extension-registry-types'; /** * Retrieves the full detail for a single extension of a namespace. The caller decides which endpoint * to use, e.g. the public registry API (active extensions only) or the admin API (also returns * inactive/soft-deleted extensions). Receives both the extension `name` and its metadata `url` so the * implementation can use whichever it needs. */ export type FetchNamespaceExtension = (abortController: AbortController, extension: { name: string; url: string; }) => Promise>; /** * Generic list of the extensions published under a namespace. It renders each extension as a card * (inactive extensions are rendered greyed out by the card itself). The extension detail lookup is * injected via {@link FetchNamespaceExtension} so the same component can be reused with different * endpoints on the user and admin surfaces. */ export declare const NamespaceExtensionList: FunctionComponent; export interface NamespaceExtensionListProps { namespace: Namespace; fetchExtension?: FetchNamespaceExtension; canDelete?: boolean; routePrefix: string; } //# sourceMappingURL=namespace-extension-list.d.ts.map