import { ExtensionsProvider } from "../host.js"; /** @internal */ interface ExtensionDefinition { name: string; title: string; description: string; icon: string; publisher: string; endpoints: Record; xrInfo: ExtensionInfo; status: string; } /** @internal */ type EndpointDefinition = Record>; /** @internal */ interface ExtensionInfo { supportEmail: string; appId: string; } /** @internal */ interface OperationDefinition { href: string; metadata: OperationMetadata; } /** @internal */ interface OperationMetadata { services: Array; profile: OperationProfile; } /** @internal */ interface OperationProfile { client_id: string; scope: string; } /** @public */ export interface ExtensionRegistryEndpointRegistration { service: string; extensionPoint: string; version: string; } /** @public */ export interface ExtensionRegistryExtensionRegistration extends ExtensionRegistryEndpointRegistration { imsOrg: string; } /** @public */ export interface ExtensionRegistryConnection { baseUrl?: string; apiKey: string; workspace?: string; filter?: (extension: ExtensionDefinition) => boolean; auth: { schema: "Basic" | "Bearer"; imsToken: string; }; } /** @public */ export interface ExtensionRegistryConfig extends ExtensionRegistryExtensionRegistration, ExtensionRegistryConnection { } /** @public */ export declare function fetchExtensionsFromRegistry(config: ExtensionRegistryConfig): Promise>; /** * Create a callback that fetches extensions from the registry. * @public * @deprecated use `createExtensionRegistryAsObjectsProvider()` */ export declare function createExtensionRegistryProvider(config: ExtensionRegistryConfig): ExtensionsProvider; /** * Create a callback that fetches extensions as objects from the registry. * @public */ export declare function createExtensionRegistryAsObjectsProvider(config: ExtensionRegistryConfig): ExtensionsProvider; export {}; //# sourceMappingURL=extension-registry.d.ts.map