import { AuthenticationToken } from "../Interop/types";
import { RouterTransportSettings } from "../routerClientInstance";
/**
 * This is startup data that is passed to FSBL.startApp(). This is a public interface
 * used in freestanding mode.
 */
export declare type StartupData = {
    /**
     * If the windowName is provided then it will be used, otherwise the document's url
     * will be used as the window name. The window name will not change if the document navigates to another url.
     */
    windowName?: string;
    /**
     * If the webContentsName is provided then it will be used, otherwise the windowName will be used.
     * When running under FEA, the webContentsName can be different from the windowName depending on whether
     * the window is a BrowserviewWindow (titlebar) or a BrowserView.
     */
    webContentsName?: string;
    /**
     * Required: The name of the app. This will be used to match up to an AppD entry in Finsemble's appd.json
     * (lookup by appId or name). If no app name is provided then the app will be treated anonymously.
     */
    appName?: string;
    /**
     * A key for creating digital signatures may be generated for an app using Finsemble's SmartDesktop designer.
     * That key can be provided here so that Finsemble can verify the app's identify. Verified apps can participate
     * in advanced FDC3 interop (such as DIAM).
     */
    digitalSigningKey?: JsonWebKey;
    /**
     * IAC (FinsembleTransport) is used by default. If an address is not provided then Finsemble will use the
     * default address of http://127.0.0.1:3375.
     */
    routerAddress?: string;
};
/**
 * Freestanding apps do not need to pass in windowName or authentication, but FSBL entry points are
 * required to derive these values when not provided by the app's code. The CompleteStartupData type
 * ensures that FSBL entry points set these values.
 *
 * > Note that the app's name can be found in authenticationToken.meta.name.
 */
export declare type CompleteStartupData = {
    windowName: string;
    webContentsName: string;
    authenticationToken: AuthenticationToken;
    routerConfig?: RouterTransportSettings;
};
//# sourceMappingURL=types.d.ts.map