import { RpcBaseData } from '../rpc-base'; import { RpcRemoteState } from '../rpc-manager'; /** * RPC report request name and version. */ export declare class RpcReportKey { static command: string; static version: string; } /** * Rpc report command data. */ export interface RpcReportData { /** * The relative path to report in the browser url */ path?: string; /** * The relative path originally requested to open. */ beforeRedirectedPath?: string; /** * The data to reports to the shell */ selectablePath?: SelectablePath[]; /** * Whether to replace url, useful for absolute redirecting */ replaceUrl?: boolean; } /** * The interface for the inbound report data with some extra information like remote name and other information */ export interface RpcReportDataInternal extends RpcBaseData, RpcReportData { } /** * Represents each of the items that could be used in a path selector to delve up */ export interface SelectablePath { /** * The string to display for each delve level bar */ label: string; /** * The path to which this selectable path item will navigate to */ path: string; } /** * Interface that indicates the status of the RPC remote endpoint */ export interface RpcRemoteStatusData { /** * The status of the remote RPC endpoint */ status: RpcRemoteState; /** * The sub name of the opened iframe instance. */ subName: string; /** * The entry point to load the iframe as src. */ entryPoint: string; } /** * The RPC report Data object that includes the status of the remote RPC endpoint * that is the source of the message. This interface is used in the RPC endpoint that is receiving * the data. The PRC endpoint sending the data should use RpcReportData instead */ export interface RpcReportDataInbound extends RpcReportDataInternal, RpcRemoteStatusData { }