export declare class CreateSplinterAndInject {
    finsembleConfig: any;
    eventInterruptors: any;
    manifest: any;
    stackedWindowManager: any;
    isWindows: boolean | undefined;
    constructor(manifest: any, stackedWindowManager: any);
    windowServiceChannelName(channelTopic: any): string;
    bindAllFunctions(): void;
    /**
     * NOTE: This function is not currently used, but keeping as a prototype for matching URLs to automatically map window.open(url) to a FDC3 app name.
     * Return the matching component type.  If the new window's URL has a component definition with the same URL, then assume the component definition is the correct one
     * and use its component type.  If no match is found, return "unknown-component-type".
     *
     * @private
     * @param {*} url the url to find a match for in the component map
     * @param {*} components map of all components configured in Finsemble
     * @returns {(any | null)}
     * @memberof CreateSplinterAndInject
     */
    private matchingComponentConfigByURL;
    /**
     * NOTE: This function is not currently used, but keeping as a prototype to update options using an existing component config (in combination with matchingComponentConfigByURL).
     * For the externally opened window, fill in essential option properties using a matching component from config.
     * For example, the correct component type must be set for FDC3 to find the corresponding appD entry in the InteropService.
     *
     * @private
     * @param {*} windowOptions the window options to be updated
     * @param {*} matchingComponentConfig the matching component
     * @returns {*} updated window options
     * @memberof CreateSplinterAndInject
     */
    private updateOptionsWithMatchingComponentConfig;
    /**
     * This method gets called when someone calls `window.open`. We capture an event bubbled up from
     * FEA, and then 'appropriate' that window so that all of the finsemble stuff will work with it.
     * This method makes sure the window can participate in finsemble things. Without a wrap that
     * the windowService knows of, it won't be able to do anything.
     */
    addExternallyOpenedWindow({ appUUID, name, windowType, components }: {
        appUUID: any;
        name: any;
        windowType?: string | undefined;
        components: any;
    }): Promise<import("../types").FSBLWindow>;
    createWindow(params: any, callback?: Function): Promise<void>;
    getWindowIdentifier(params: any, callback: any): Promise<void>;
    doSpawn(windowDescriptor: any): Promise<{
        err: any;
        windowIdentifier: any;
    }>;
    spawnExternalWindow(windowDescriptor: any): Promise<{
        err: any;
        data: any;
    }>;
    spawnWebWindow(windowDescriptor: any): Promise<{
        err: any;
        data: any;
    }>;
    spawnWebApplication(componentConfig: any): Promise<{
        err: any;
        data: any;
    }>;
    compileWebApplicationDescriptor(componentConfig: any): any;
    spawnStackedWindow(componentConfig: any, cb?: Function): Promise<{
        err: any;
        data: any;
    }>;
}
//# sourceMappingURL=createSplinterAndInject.d.ts.map