import { FEAGlobals } from "./common"; import { FSBLDesktop } from "./clients/Startup/FSBLDesktop"; import { FEA } from "./FEA"; import { FinsembleWindow } from "./common/FinsembleWindow"; import { DesktopAgent } from "@finos/fdc3"; import { Icon } from "./main"; export * from "./main"; export { Icon }; /** * Declare global variables that are injected either by preloads or by the FSBL library itself. */ declare global { /** * FSBL is declared as "let" because we sometimes set FSBL.debug to true. * This is type FSBLDesktop though in freestanding apps and services this isn't accurate. * Use of ambient types should be avoided in those use cases. FSBL is added through * the finsemble-desktop-api-preload (FSBL.js) that is preloaded by Launcher. */ let FSBL: typeof FEAGlobals.FSBL; /** * The fin object is injected by FEA. Sometimes it's referred to as e2o. */ const fin: typeof FEAGlobals.fin; /** * finsembleWindow is created on the fly by the FSBL client API initialization code. */ const finsembleWindow: typeof FEAGlobals.finsembleWindow; /** * fdc3 is created on the fly by FSBLDesktop. */ const fdc3: typeof FEAGlobals.fdc3; } /** * Wait, didn't we just declare these? Yes, as globals: * * Example * ``` * FSBL.Clients.RouterClient... * ``` * * but they don't exist on the `window` object. These following definitions are necessary to make this work: * * Example * ``` * window.FSBL.Clients.RouterClient... * ``` */ declare global { interface Window { /** * FSBL is declared as "let" because we sometimes set FSBL.debug to true. * This is type FSBLDesktop though in freestanding apps and services this isn't accurate. * Use of ambient types should be avoided in those use cases. FSBL is added through * the finsemble-desktop-api-preload (FSBL.js) that is preloaded by Launcher. */ FSBL: FSBLDesktop; /** * The fin object is injected by FEA. Sometimes it's referred to as e2o. */ fin: FEA; /** * finsembleWindow is created on the fly by the FSBL client API initialization code. */ finsembleWindow: FinsembleWindow; /** * fdc3 is created on the fly by FSBLDesktop. */ fdc3: DesktopAgent; } } //# sourceMappingURL=index.d.ts.map