/**
 * This module is responsible for deriving the RouterConfig. Freestanding apps can pass their
 * RouterConfig into FSBL.startApp(). When not passed in, the RouterConfig should default to the IAC
 * for freestanding apps.
 *
 * When runnning in FEA, the router config is obtained from the system manifest.
 */
import { RouterConfig, RouterTransportSettings } from "../../clients/routerClientInstance";
/**
 * Returns the recommended transport given the configurations in the system manifest. The transport depends
 * on whether this window is running in the same domain as the router service (by checking the finsemble.moduleRoot entry in
 * the system manifest).
 */
export declare const getRecommendedTransport: (systemManifest: any) => any;
declare type GetRouterConfigParams = {
    windowName: string;
    systemManifest?: any;
    transportSettings?: RouterTransportSettings;
};
/**
 * Retrieves a router configuration given a windowName, optional transportSettings and optional systemManifest.
 * If a systemManifest is provided (e.g. FSBLDesktop) then the router config from the manifest will be used
 * otherwise it will default to using IAC (FinsembleTransport). The default IAC port of 127.0.0.1:3376 will
 * be used unless transportSettings is passed in to override it.
 */
export declare const getRouterConfig: ({ windowName, systemManifest, transportSettings, }: GetRouterConfigParams) => RouterConfig;
/** Converts System.Window.getCurrent().getOptions() into a simple aync call */
export declare const getSystemStartupData: () => Promise<any>;
/**
 * Returns a system manifest that has been run through the config resolver to replace
 * variables with absolute paths (e.g. $applicationRoot, $moduleRoot)
 */
export declare const getManifestFromStartupData: (systemStartupData: any) => any;
export {};
//# sourceMappingURL=RouterConfig.d.ts.map