import type * as OpenFin from '../../OpenFin'; import { Base } from '../base'; import { InteropBroker } from './InteropBroker'; import { InteropClient } from './InteropClient'; /** * @PORTED * @typedef { object } InteropConfig * @summary Information relevant to the Interop Broker. * @property {string} [currentContextGroup] Context Group for the client. (green, yellow, red, etc.) * @property {string} [providerId] When provided, automatically connects the client to the specified provider uuid */ /** * Manages creation of Interop Brokers and Interop Clients. These APIs are called under-the-hood in Platforms. * @namespace * @alias Interop */ export default class InteropModule extends Base { /** * Initializes an Interop Broker. This is called under-the-hood for Platforms. * @param { string } name - Name of the Interop Broker. * @param { OverrideCallback } [override] - A callback function that can be used to extend or replace default Interop Broker behavior. * @return {Promise.} * @tutorial Interop.init * @static */ init(name: string, override?: OpenFin.OverrideCallback): Promise; /** * Connects a client to an Interop broker. This is called under-the-hood for Views in a Platform. * @param { string } name - The name of the Interop Broker to connect to. For Platforms, this will default to the uuid of the Platform. * @param { InteropConfig } [interopConfig] - Information relevant to the Interop Broker. Typically a declaration of * what context(s) the entity wants to subscribe to, and the current Context Group of the entity. * @return {InteropClient} * @tutorial Interop.connectSync * @static */ connectSync(name: string, interopConfig?: OpenFin.InteropConfig): InteropClient; }