import { RpcBaseData } from '../rpc-base';
/**
 * RPC shell navigate request name and version.
 */
export declare class RpcShellNavigateKey {
    static command: string;
    static version: string;
}
/**
 * Rpc Shell navigate data.
 */
export interface RpcShellNavigate extends RpcBaseData {
    /**
     * the solution definition.
     */
    solution?: {
        /**
         * the solution module name.
         */
        moduleName: string;
        /**
         * the entry point name of the solution module.
         * (if not specified, take the default entry point.)
         */
        entryPointName?: string;
    };
    /**
     * the tool definition.
     */
    tool?: {
        /**
         * the tool module name.
         */
        moduleName: string;
        /**
         * the entry point name of the tool module.
         * (if not specified, take the default entry point.)
         */
        entryPointName?: string;
        /**
         * the tool url.
         */
        nestedUrl?: string;
        /**
         * the query parameters.
         */
        queryParams?: {
            [key: string]: any;
        };
        /**
         * the fragment string.
         */
        fragment?: string;
    };
    /**
     * the connection definition.
     * (if not specified, take the current connection.)
     */
    connection?: {
        /**
         * the connection name.
         */
        name: string;
        /**
         * the connection type.
         */
        type: string;
    };
    /**
     * The connection settings definition
     * This is the connection settings tool at the bottom of the tools list
     */
    connectionSettings?: {
        /**
         * the settings tab urlName.
         */
        tabUrlName?: string;
    };
    /**
     * The gateway settings definition
     * This is the gateway settings found in the app bar
     */
    settings?: {
        /**
         * the settings name.
         */
        name: string;
        /**
         * the nested settings' url.
         * this include optional parameters.
         */
        nestedUrlAndOptions?: string;
    };
    /**
     * the nested tool's url within the toolModule/toolName.
     * this include optional parameters.
     */
    toolNestedUrlAndOptions?: string;
    /**
     * the navigate next call.
     */
    navigateNext?: string;
    /**
     * the flag indicating to force reloading browser after navigate.
     */
    reload?: boolean;
    /**
     * Settings for when navigating as a popout. If provided will open the new navigation in a new popout window
     */
    popoutOptions?: {
        /**
         * the popout shell configuration (will be merged with application wide configuration for this popout instance only)
         */
        configuration?: MsftSme.EnvironmentConfiguration;
    };
    /**
     * the flag indicating navigation to a completely new tab.
     */
    newTab?: boolean;
}
/**
 * Rpc Shell navigate result.
 */
export interface RpcShellNavigateResult {
    /**
     * result status of navigation.
     */
    status: boolean;
}
