import { HDict, HNamespace } from 'haystack-core';
import { AppView, AppViewType } from '../app/AppView';
/**
 * Return the remote URLs to load for the application.
 *
 * @param app The application def.
 * @param ui The UI def.
 * @returns The remote URLs to load.
 */
export declare function getRemoteUrls(app: HDict, ui: HDict): string[];
/**
 * The remote application view that's backed by defs.
 */
export declare class RemoteAppView implements AppView {
    #private;
    /**
     * The associated app view ids for this app view.
     *
     * This is used by a sidebar that should only show when another main app view is showing.
     */
    associatedAppViewIds: string[];
    /**
     * Constructs a new remote app view.
     *
     * @param app The def dict for the app.
     * @param ui The def dict for the ui.
     * @param namespace The defs namespace.
     */
    constructor(app: HDict, ui: HDict, namespace: HNamespace);
    get type(): AppViewType;
    get category(): string;
    get hidden(): boolean;
    get podName(): string;
    get resourcesUrls(): string[];
    get iconPath(): string | undefined;
    get reactComponentPath(): string | undefined;
    get webComponentPath(): string | undefined;
    get webComponentLoaderPath(): string | undefined;
    /**
     * Load all resources required by the view.
     */
    loadResources: () => Promise<void>;
    /**
     * Returns true if the path is for a react component.
     *
     * @param path The path to test.
     * @returns True if this points to a react component.
     */
    isReactComponent(path: string): boolean;
}
