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