@itwin/core-frontend
Version:
iTwin.js frontend components
34 lines • 1.25 kB
TypeScript
import type { ExtensionManifest, ExtensionProvider } from "../Extension";
/**
* Required props for a remote extension provider
* @alpha
*/
export interface RemoteExtensionProviderProps {
/** URL where the extension entry point can be loaded from */
jsUrl: string;
/** URL where the manifest (package.json) can be loaded from */
manifestUrl: string;
}
/**
* Implements a "remote" extension.
* Remote extensions are hosted on an external server.
* The execute() and getManifest() methods are used by the ExtensionAdmin to load and execute the extension.
* @alpha
*/
export declare class RemoteExtensionProvider implements ExtensionProvider {
private readonly _props;
/** The name of the server where the extension is hosted. */
readonly hostname: string;
constructor(_props: RemoteExtensionProviderProps);
/**
* Attempts to execute an extension.
* Throws an error if the provided jsUrl is not accessible.
*/
execute(): Promise<string>;
/**
* Attempts to fetch an extension's manifest (package.json) file.
* Throws an error if the provided manifestUrl is not accessible.
*/
getManifest(): Promise<ExtensionManifest>;
}
//# sourceMappingURL=RemoteExtensionProvider.d.ts.map