@openfin/core 34.78.19 → 34.78.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/mock.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  /// <reference types="jquery" />
2
2
  /// <reference types="node" />
3
3
 
4
- import { AppIdentifier } from 'fdc3v2/dist/api/AppIdentifier';
5
- import type { AppMetadata } from 'fdc3v1/dist/api/AppMetadata';
6
4
  import { EventEmitter } from 'events';
7
5
 
8
6
  /**
@@ -138,6 +136,31 @@ declare type AppAssetRequest = {
138
136
  alias: string;
139
137
  };
140
138
 
139
+ declare interface AppIdentifier {
140
+ /** The unique application identifier located within a specific application directory instance. An example of an appId might be 'app@sub.root' */
141
+ readonly appId: string;
142
+ /** An optional instance identifier, indicating that this object represents a specific instance of the application described. */
143
+ readonly instanceId?: string;
144
+ }
145
+
146
+ /**
147
+ * An interface that relates an intent to apps
148
+ */
149
+ declare interface AppIntent {
150
+ readonly intent: IntentMetadata;
151
+ readonly apps: Array<AppMetadata>;
152
+ }
153
+
154
+ /**
155
+ * An interface that relates an intent to apps
156
+ */
157
+ declare interface AppIntent_2 {
158
+ /** Details of the intent whose relationship to resolving applications is being described. */
159
+ readonly intent: IntentMetadata_2;
160
+ /** Details of applications that can resolve the intent. */
161
+ readonly apps: Array<AppMetadata_2>;
162
+ }
163
+
141
164
  /**
142
165
  * An object representing an application. Allows the developer to create,
143
166
  * execute, show/close an application as well as listen to {@link OpenFin.ApplicationEvents application events}.
@@ -1353,6 +1376,60 @@ declare type ApplySnapshotPayload = {
1353
1376
  options?: ApplySnapshotOptions;
1354
1377
  };
1355
1378
 
1379
+ /**
1380
+ * App definition as provided by the application directory
1381
+ */
1382
+ declare interface AppMetadata {
1383
+ /** The unique app name that can be used with the open and raiseIntent calls. */
1384
+ readonly name: string;
1385
+ /** The unique application identifier located within a specific application directory instance. An example of an appId might be 'app@sub.root' */
1386
+ readonly appId?: string;
1387
+ /** The Version of the application. */
1388
+ readonly version?: string;
1389
+ /** A more user-friendly application title that can be used to render UI elements */
1390
+ readonly title?: string;
1391
+ /** A tooltip for the application that can be used to render UI elements */
1392
+ readonly tooltip?: string;
1393
+ /** A longer, multi-paragraph description for the application that could include markup */
1394
+ readonly description?: string;
1395
+ /** A list of icon URLs for the application that can be used to render UI elements */
1396
+ readonly icons?: Array<string>;
1397
+ /** A list of image URLs for the application that can be used to render UI elements */
1398
+ readonly images?: Array<string>;
1399
+ }
1400
+
1401
+ /**
1402
+ * Extends an `AppIdentifier`, describing an application or instance of an application, with additional descriptive metadata that is usually provided by an FDC3 App Directory that the desktop agent connects to.
1403
+ *
1404
+ * The additional information from an app directory can aid in rendering UI elements, such as a launcher menu or resolver UI. This includes a title, description, tooltip and icon and screenshot URLs.
1405
+ *
1406
+ * Note that as `AppMetadata` instances are also `AppIdentifiers` they may be passed to the `app` argument of `fdc3.open`, `fdc3.raiseIntent` etc.
1407
+ */
1408
+ declare interface AppMetadata_2 extends AppIdentifier {
1409
+ /**
1410
+ The 'friendly' app name.
1411
+ This field was used with the `open` and `raiseIntent` calls in FDC3 <2.0, which now require an `AppIdentifier` wth `appId` set.
1412
+ Note that for display purposes the `title` field should be used, if set, in preference to this field.
1413
+ */
1414
+ readonly name?: string;
1415
+ /** The Version of the application. */
1416
+ readonly version?: string;
1417
+ /** An optional set of, implementation specific, metadata fields that can be used to disambiguate instances, such as a window title or screen position. Must only be set if `instanceId` is set. */
1418
+ readonly instanceMetadata?: Record<string, any>;
1419
+ /** A more user-friendly application title that can be used to render UI elements */
1420
+ readonly title?: string;
1421
+ /** A tooltip for the application that can be used to render UI elements */
1422
+ readonly tooltip?: string;
1423
+ /** A longer, multi-paragraph description for the application that could include markup */
1424
+ readonly description?: string;
1425
+ /** A list of icon URLs for the application that can be used to render UI elements */
1426
+ readonly icons?: Array<Icon>;
1427
+ /** Images representing the app in common usage scenarios that can be used to render UI elements */
1428
+ readonly screenshots?: Array<Image_2>;
1429
+ /** The type of output returned for any intent specified during resolution. May express a particular context type (e.g. "fdc3.instrument"), channel (e.g. "channel") or a channel that will receive a specified type (e.g. "channel<fdc3.instrument>"). */
1430
+ readonly resultType?: string | null;
1431
+ }
1432
+
1356
1433
  /**
1357
1434
  * @interface
1358
1435
  */
@@ -1763,6 +1840,48 @@ declare type BoundsChangingEvent = BoundsChangeEvent & {
1763
1840
  type: 'bounds-changing';
1764
1841
  };
1765
1842
 
1843
+ declare interface BrowserWindow {
1844
+ /**
1845
+ * True if the window has been opened and its GoldenLayout instance initialised.
1846
+ */
1847
+ isInitialised: boolean;
1848
+
1849
+ /**
1850
+ * Creates a window configuration object from the Popout.
1851
+ */
1852
+ toConfig(): {
1853
+ dimensions: {
1854
+ width: number;
1855
+ height: number;
1856
+ left: number;
1857
+ top: number;
1858
+ };
1859
+ content: Config;
1860
+ parentId: string;
1861
+ indexInParent: number;
1862
+ };
1863
+
1864
+ /**
1865
+ * Returns the GoldenLayout instance from the child window
1866
+ */
1867
+ getGlInstance(): GoldenLayout_2;
1868
+
1869
+ /**
1870
+ * Returns the native Window object
1871
+ */
1872
+ getWindow(): Window;
1873
+
1874
+ /**
1875
+ * Closes the popout
1876
+ */
1877
+ close(): void;
1878
+
1879
+ /**
1880
+ * Returns the popout to its original position as specified in parentId and indexInParent
1881
+ */
1882
+ popIn(): void;
1883
+ }
1884
+
1766
1885
  /**
1767
1886
  * Configuration for page capture.
1768
1887
  *
@@ -2035,7 +2154,25 @@ declare class Channel extends EmitterBase<ChannelEvent> {
2035
2154
 
2036
2155
  declare type Channel_2 = OpenFin_2.Fin['InterApplicationBus']['Channel'];
2037
2156
 
2038
- declare type Channel_3 = OpenFin_2.Fin['InterApplicationBus']['Channel'];
2157
+ declare interface Channel_3 {
2158
+ id: string;
2159
+ type: string;
2160
+ displayMetadata?: DisplayMetadata;
2161
+ broadcast(context: Context): void;
2162
+ getCurrentContext(contextType?: string): Promise<Context | null>;
2163
+ addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
2164
+ }
2165
+
2166
+ declare interface Channel_4 {
2167
+ readonly id: string;
2168
+ readonly type: 'user' | 'app' | 'private';
2169
+ readonly displayMetadata?: DisplayMetadata_2;
2170
+ broadcast(context: Context_2): Promise<void>;
2171
+ getCurrentContext(contextType?: string): Promise<Context_2 | null>;
2172
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Listener_2 & Promise<Listener_2>;
2173
+ }
2174
+
2175
+ declare type Channel_5 = OpenFin_2.Fin['InterApplicationBus']['Channel'];
2039
2176
 
2040
2177
  declare type ChannelAction = OpenFin_2.ChannelAction;
2041
2178
 
@@ -3157,6 +3294,31 @@ declare class CombinedStrategy<A, B> implements ChannelStrategy<OnlyIfCompatible
3157
3294
  close(): Promise<void>;
3158
3295
  }
3159
3296
 
3297
+ declare interface ComponentConfig extends ItemConfig {
3298
+ /**
3299
+ * The name of the component as specified in layout.registerComponent. Mandatory if type is 'component'.
3300
+ */
3301
+ componentName: string;
3302
+
3303
+ /**
3304
+ * A serialisable object. Will be passed to the component constructor function and will be the value returned by
3305
+ * container.getState().
3306
+ */
3307
+ componentState?: any;
3308
+ }
3309
+
3310
+ declare interface Config {
3311
+ settings?: Settings;
3312
+ dimensions?: Dimensions;
3313
+ labels?: Labels;
3314
+ content?: ItemConfigType[];
3315
+ /**
3316
+ * (Only on layout config object)
3317
+ * Id of the currently maximised content item
3318
+ */
3319
+ maximisedItemId?: string;
3320
+ }
3321
+
3160
3322
  declare type ConfigWithRuntime = BaseConfig & {
3161
3323
  runtime: RuntimeConfig;
3162
3324
  };
@@ -3447,6 +3609,103 @@ declare type ConstWindowOptions = {
3447
3609
  viewVisibility?: ViewVisibilityOptions;
3448
3610
  };
3449
3611
 
3612
+ declare interface Container extends EventEmitter_2 {
3613
+ /**
3614
+ * The current width of the container in pixel
3615
+ */
3616
+ width: number;
3617
+
3618
+ /**
3619
+ * The current height of the container in pixel
3620
+ */
3621
+ height: number;
3622
+
3623
+ /**
3624
+ * A reference to the component-item that controls this container
3625
+ */
3626
+ parent: ContentItem;
3627
+
3628
+ /**
3629
+ * A reference to the tab that controls this container. Will initially be null
3630
+ * (and populated once a tab event has been fired).
3631
+ */
3632
+ tab: Tab;
3633
+
3634
+ /**
3635
+ * The current title of the container
3636
+ */
3637
+ title: string;
3638
+
3639
+ /*
3640
+ * A reference to the GoldenLayout instance this container belongs to
3641
+ */
3642
+ layoutManager: GoldenLayout_2;
3643
+
3644
+ /**
3645
+ * True if the item is currently hidden
3646
+ */
3647
+ isHidden: boolean;
3648
+
3649
+ /**
3650
+ * Overwrites the components state with the provided value. To only change parts of the componentState see
3651
+ * extendState below. This is the main mechanism for saving the state of a component. This state will be the
3652
+ * value of componentState when layout.toConfig() is called and will be passed back to the component's
3653
+ * constructor function. It will also be used when the component is opened in a new window.
3654
+ * @param state A serialisable object
3655
+ */
3656
+ setState(state: any): void;
3657
+
3658
+ /**
3659
+ * The same as setState but does not emit 'stateChanged' event
3660
+ * @param {serialisable} state
3661
+ */
3662
+ setStateSkipEvent(state: any): void;
3663
+
3664
+ /**
3665
+ * This is similar to setState, but merges the provided state into the current one, rather than overwriting it.
3666
+ * @param state A serialisable object
3667
+ */
3668
+ extendState(state: any): void;
3669
+
3670
+ /**
3671
+ * Returns the current state.
3672
+ */
3673
+ getState(): any;
3674
+
3675
+ /**
3676
+ * Returns the container's inner element as a jQuery element
3677
+ */
3678
+ getElement(): JQuery;
3679
+
3680
+ /**
3681
+ * hides the container or returns false if hiding it is not possible
3682
+ */
3683
+ hide(): boolean;
3684
+
3685
+ /**
3686
+ * shows the container or returns false if showing it is not possible
3687
+ */
3688
+ show(): boolean;
3689
+
3690
+ /**
3691
+ * Sets the container to the specified size or returns false if that's not possible
3692
+ * @param width the new width in pixel
3693
+ * @param height the new height in pixel
3694
+ */
3695
+ setSize(width: number, height: number): boolean;
3696
+
3697
+ /**
3698
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3699
+ * @param title the new title
3700
+ */
3701
+ setTitle(title: string): void;
3702
+
3703
+ /**
3704
+ * Closes the container or returns false if that is not possible
3705
+ */
3706
+ close(): boolean;
3707
+ }
3708
+
3450
3709
  declare type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
3451
3710
 
3452
3711
  /**
@@ -3517,6 +3776,218 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3517
3776
  disposition: string;
3518
3777
  };
3519
3778
 
3779
+ declare interface ContentItem extends EventEmitter_2 {
3780
+ instance: any;
3781
+ header: any;
3782
+ _splitter: any;
3783
+ /**
3784
+ * This items configuration in its current state
3785
+ */
3786
+ config: ItemConfigType;
3787
+
3788
+ /**
3789
+ * The type of the item. Can be row, column, stack, component or root
3790
+ */
3791
+ type: ItemType;
3792
+
3793
+ /**
3794
+ * An array of items that are children of this item
3795
+ */
3796
+ contentItems: ContentItem[];
3797
+
3798
+ container: Container;
3799
+ /**
3800
+ * The item that is this item's parent (or null if the item is root)
3801
+ */
3802
+ parent: ContentItem;
3803
+
3804
+ /**
3805
+ * A String or array of identifiers if provided in the configuration
3806
+ */
3807
+ id: string;
3808
+
3809
+ /**
3810
+ * True if the item had been initialised
3811
+ */
3812
+ isInitialised: boolean;
3813
+
3814
+ /**
3815
+ * True if the item is maximised
3816
+ */
3817
+ isMaximised: boolean;
3818
+
3819
+ /**
3820
+ * True if the item is the layout's root item
3821
+ */
3822
+ isRoot: boolean;
3823
+
3824
+ /**
3825
+ * True if the item is a row
3826
+ */
3827
+ isRow: boolean;
3828
+
3829
+ /**
3830
+ * True if the item is a column
3831
+ */
3832
+ isColumn: boolean;
3833
+
3834
+ /**
3835
+ * True if the item is a stack
3836
+ */
3837
+ isStack: boolean;
3838
+
3839
+ /**
3840
+ * True if the item is a component
3841
+ */
3842
+ isComponent: boolean;
3843
+
3844
+ /**
3845
+ * A reference to the layoutManager that controls this item
3846
+ */
3847
+ layoutManager: any;
3848
+
3849
+ /**
3850
+ * The item's outer element
3851
+ */
3852
+ element: JQuery;
3853
+
3854
+ /**
3855
+ * The item's inner element. Can be the same as the outer element.
3856
+ */
3857
+ childElementContainer: Container;
3858
+
3859
+ /**
3860
+ * Adds an item as a child to this item. If the item is already a part of a layout it will be removed
3861
+ * from its original position before adding it to this item.
3862
+ * @param itemOrItemConfig A content item (or tree of content items) or an ItemConfiguration to create the item from
3863
+ * @param index last index An optional index that determines at which position the new item should be added. Default: last index.
3864
+ */
3865
+ addChild(itemOrItemConfig: ContentItem | ItemConfigType, index?: number): void;
3866
+
3867
+ /**
3868
+ * Destroys the item and all it's children
3869
+ * @param contentItem The contentItem that should be removed
3870
+ * @param keepChild If true the item won't be destroyed. (Use cautiosly, if the item isn't destroyed it's up to you to destroy it later). Default: false.
3871
+ */
3872
+ removeChild(contentItem: ContentItem, keepChild?: boolean): void;
3873
+
3874
+ /**
3875
+ * The contentItem that should be removed
3876
+ * @param oldChild ContentItem The contentItem that should be removed
3877
+ * @param newChild A content item (or tree of content items) or an ItemConfiguration to create the item from
3878
+ */
3879
+ replaceChild(oldChild: ContentItem, newChild: ContentItem | ItemConfigType): void;
3880
+
3881
+ /**
3882
+ * Updates the items size. To actually assign a new size from within a component, use container.setSize( width, height )
3883
+ */
3884
+ setSize(): void;
3885
+
3886
+ /**
3887
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3888
+ * @param title the new title
3889
+ */
3890
+ setTitle(title: string): void;
3891
+
3892
+ /**
3893
+ * A powerful, yet admittedly confusing method to recursively call methods on items in a tree. Usually you wouldn't need
3894
+ * to use it directly, but it's used internally to setSizes, destroy parts of the item tree etc.
3895
+ * @param functionName The name of the method to invoke
3896
+ * @param functionArguments An array of arguments to pass to every function
3897
+ * @param bottomUp If true, the method is invoked on the lowest parts of the tree first and then bubbles upwards. Default: false
3898
+ * @param skipSelf If true, the method will only be invoked on the item's children, but not on the item itself. Default: false
3899
+ */
3900
+ callDownwards(functionName: string, functionArguments?: any[], bottomUp?: boolean, skipSelf?: boolean): void;
3901
+
3902
+ /**
3903
+ * Emits an event that bubbles up the item tree until it reaches the root element (and after a delay the layout manager). Useful e.g. for indicating state changes.
3904
+ */
3905
+ emitBubblingEvent(name: string): void;
3906
+
3907
+ /**
3908
+ * Convenience method for item.parent.removeChild( item )
3909
+ */
3910
+ remove(): void;
3911
+
3912
+ /**
3913
+ * Removes the item from its current position in the layout and opens it in a window
3914
+ */
3915
+ popout(): BrowserWindow;
3916
+
3917
+ /**
3918
+ * Maximises the item or minimises it if it's already maximised
3919
+ */
3920
+ toggleMaximise(): void;
3921
+
3922
+ /**
3923
+ * Selects the item. Only relevant if settings.selectionEnabled is set to true
3924
+ */
3925
+ select(): void;
3926
+
3927
+ /**
3928
+ * Unselects the item. Only relevant if settings.selectionEnabled is set to true
3929
+ */
3930
+ deselect(): void;
3931
+
3932
+ /**
3933
+ * Returns true if the item has the specified id or false if not
3934
+ * @param id An id to check for
3935
+ */
3936
+ hasId(id: string): boolean;
3937
+
3938
+ /**
3939
+ * Only Stacks have this method! It's the programmatical equivalent of clicking a tab.
3940
+ * @param contentItem The new active content item
3941
+ * @param preventFocus [OpenFin Custom] Indicates to openfin that the view should not be focused when activated.
3942
+ */
3943
+ // (CORE-198)[../docs/golden-layout-changelog.md#CORE-198 stack.setActiveView]
3944
+ setActiveContentItem(contentItem: ContentItem, preventFocus?: boolean): void;
3945
+
3946
+ /**
3947
+ * Only Stacks have this method! Returns the currently selected contentItem.
3948
+ */
3949
+ getActiveContentItem(): ContentItem;
3950
+
3951
+ /**
3952
+ * Adds an id to an item or does nothing if the id is already present
3953
+ * @param id The id to be added
3954
+ */
3955
+ addId(id: string): void;
3956
+
3957
+ /**
3958
+ * Removes an id from an item or throws an error if the id couldn't be found
3959
+ * @param id The id to be removed
3960
+ */
3961
+ removeId(id: string): void;
3962
+
3963
+ /**
3964
+ * Calls filterFunction recursively for every item in the tree. If the function returns true the item is added to the resulting array
3965
+ * @param filterFunction A function that determines whether an item matches certain criteria
3966
+ */
3967
+ getItemsByFilter(filterFunction: (contentItem: ContentItem) => boolean): ContentItem[];
3968
+
3969
+ /**
3970
+ * Returns all items with the specified id.
3971
+ * @param id An id specified in the itemConfig
3972
+ */
3973
+ getItemsById(id: string | string[]): ContentItem[];
3974
+
3975
+ /**
3976
+ * Returns all items with the specified type
3977
+ * @param type 'row', 'column', 'stack', 'component' or 'root'
3978
+ */
3979
+ getItemsByType(type: string): ContentItem[];
3980
+
3981
+ /**
3982
+ * Returns all instances of the component with the specified componentName
3983
+ * @param componentName a componentName as specified in the itemConfig
3984
+ */
3985
+ getComponentsByName(componentName: string): any;
3986
+
3987
+ _contentAreaDimensions: any;
3988
+ _$getArea: () => any;
3989
+ }
3990
+
3520
3991
  /**
3521
3992
  * Restrict navigation to URLs that match an allowed pattern.
3522
3993
  * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
@@ -3535,12 +4006,26 @@ declare type ContentNavigation = NavigationRules;
3535
4006
  */
3536
4007
  declare type ContentRedirect = NavigationRules;
3537
4008
 
4009
+ declare interface Context {
4010
+ id?: { [key: string]: string };
4011
+ name?: string;
4012
+ type: string;
4013
+ }
4014
+
4015
+ declare interface Context_2 {
4016
+ id?: { [key: string]: string };
4017
+ name?: string;
4018
+ type: string;
4019
+ contextMetadata?: ContextMetadata;
4020
+ metadata?: any;
4021
+ }
4022
+
3538
4023
  /**
3539
4024
  * Data passed between entities and applications.
3540
4025
  *
3541
4026
  * @interface
3542
4027
  */
3543
- declare type Context = {
4028
+ declare type Context_3 = {
3544
4029
  /**
3545
4030
  * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
3546
4031
  */
@@ -3560,7 +4045,7 @@ declare type Context = {
3560
4045
  /**
3561
4046
  * @interface
3562
4047
  */
3563
- declare type ContextForIntent<MetadataType = any> = Context & {
4048
+ declare type ContextForIntent<MetadataType = any> = Context_3 & {
3564
4049
  metadata?: MetadataType;
3565
4050
  };
3566
4051
 
@@ -3576,19 +4061,23 @@ declare type ContextGroupInfo = {
3576
4061
  /**
3577
4062
  * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
3578
4063
  */
3579
- displayMetadata?: DisplayMetadata;
4064
+ displayMetadata?: DisplayMetadata_3;
3580
4065
  };
3581
4066
 
3582
4067
  declare type ContextGroupStates = {
3583
4068
  [key: string]: {
3584
- [key: string]: Context;
4069
+ [key: string]: Context_3;
3585
4070
  };
3586
4071
  };
3587
4072
 
4073
+ declare type ContextHandler = (context: Context) => void;
4074
+
4075
+ declare type ContextHandler_2 = (context: Context_2, metadata?: ContextMetadata) => void;
4076
+
3588
4077
  /**
3589
4078
  * Subscription function for addContextHandler.
3590
4079
  */
3591
- declare type ContextHandler = (context: Context) => void;
4080
+ declare type ContextHandler_3 = (context: Context_3) => void;
3592
4081
 
3593
4082
  /**
3594
4083
  * Configure the context menu when right-clicking on a window.
@@ -3627,6 +4116,20 @@ declare type ContextMenuSettings = {
3627
4116
  reload?: boolean;
3628
4117
  };
3629
4118
 
4119
+ /**
4120
+ * Metadata relating to a context or intent and context received through the
4121
+ * `addContextListener` and `addIntentListener` functions.
4122
+ *
4123
+ * @experimental Introduced in FDC3 2.0 and may be refined by further changes outside the normal FDC3 versioning policy.
4124
+ */
4125
+ declare interface ContextMetadata {
4126
+ /** Identifier for the app instance that sent the context and/or intent.
4127
+ *
4128
+ * @experimental
4129
+ */
4130
+ readonly source: AppIdentifier;
4131
+ }
4132
+
3630
4133
  /**
3631
4134
  * @interface
3632
4135
  */
@@ -3789,6 +4292,45 @@ declare type DefaultDomainSettingsRule = {
3789
4292
  };
3790
4293
  };
3791
4294
 
4295
+ declare interface DesktopAgent {
4296
+ open(app: TargetApp, context?: Context): Promise<void>;
4297
+ findIntent(intent: string, context?: Context): Promise<AppIntent>;
4298
+ findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
4299
+ broadcast(context: Context): void;
4300
+ raiseIntent(intent: string, context: Context, app?: TargetApp): Promise<IntentResolution>;
4301
+ raiseIntentForContext(context: Context, app?: TargetApp): Promise<IntentResolution>;
4302
+ addIntentListener(intent: string, handler: ContextHandler): Listener;
4303
+ joinChannel(channelId: string): Promise<void>;
4304
+ leaveCurrentChannel(): Promise<void>;
4305
+ getInfo(): ImplementationMetadata;
4306
+ addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
4307
+ getOrCreateChannel(channelId: string): Promise<Channel_3>;
4308
+ getSystemChannels(): Promise<SystemChannel[]>;
4309
+ getCurrentChannel(): Promise<Channel_3 | null>;
4310
+ }
4311
+
4312
+ declare interface DesktopAgent_2 {
4313
+ open(app: AppIdentifier | TargetApp, context?: Context_2): Promise<AppIdentifier>;
4314
+ findIntent(intent: string, context?: Context_2, resultType?: string): Promise<AppIntent_2>;
4315
+ findIntentsByContext(context: Context_2, resultType?: string): Promise<Array<AppIntent_2>>;
4316
+ findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
4317
+ broadcast(context: Context_2): Promise<void>;
4318
+ raiseIntent(intent: string, context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4319
+ raiseIntentForContext(context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4320
+ addIntentListener(intent: string, handler: IntentHandler): Promise<Listener_2>;
4321
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
4322
+ getUserChannels(): Promise<Array<SystemChannel>>;
4323
+ joinUserChannel(channelId: string): Promise<void>;
4324
+ getOrCreateChannel(channelId: string): Promise<Channel_4>;
4325
+ createPrivateChannel(): Promise<PrivateChannel>;
4326
+ getCurrentChannel(): Promise<Channel_3 | null>;
4327
+ leaveCurrentChannel(): Promise<void>;
4328
+ getInfo(): Promise<ImplementationMetadata_2>;
4329
+ getAppMetadata(app: AppIdentifier): Promise<AppMetadata_2>;
4330
+ getSystemChannels(): Promise<Array<SystemChannel>>;
4331
+ joinChannel(channelId: string): Promise<void>;
4332
+ }
4333
+
3792
4334
  /**
3793
4335
  * Generated when the desktop icon is clicked while it's already running.
3794
4336
  * @interface
@@ -3829,6 +4371,46 @@ declare type DidFinishLoadEvent = NamedEvent & {
3829
4371
  type: 'did-finish-load';
3830
4372
  };
3831
4373
 
4374
+ declare interface Dimensions {
4375
+ /**
4376
+ * The width of the borders between the layout items in pixel. Please note: The actual draggable area is wider
4377
+ * than the visible one, making it safe to set this to small values without affecting usability.
4378
+ * Default: 5
4379
+ */
4380
+ borderWidth?: number;
4381
+
4382
+ /**
4383
+ * The minimum height an item can be resized to (in pixel).
4384
+ * Default: 10
4385
+ */
4386
+ minItemHeight?: number;
4387
+
4388
+ /**
4389
+ * The minimum width an item can be resized to (in pixel).
4390
+ * Default: 10
4391
+ */
4392
+ minItemWidth?: number;
4393
+
4394
+ /**
4395
+ * The height of the header elements in pixel. This can be changed, but your theme's header css needs to be
4396
+ * adjusted accordingly.
4397
+ * Default: 20
4398
+ */
4399
+ headerHeight?: number;
4400
+
4401
+ /**
4402
+ * The width of the element that appears when an item is dragged (in pixel).
4403
+ * Default: 300
4404
+ */
4405
+ dragProxyWidth?: number;
4406
+
4407
+ /**
4408
+ * The height of the element that appears when an item is dragged (in pixel).
4409
+ * Default: 200
4410
+ */
4411
+ dragProxyHeight?: number;
4412
+ }
4413
+
3832
4414
  /**
3833
4415
  * @interface
3834
4416
  */
@@ -3861,12 +4443,52 @@ declare type DisabledMovementBoundsChangingEvent = BoundsChangeEvent & {
3861
4443
  type: 'disabled-movement-bounds-changing';
3862
4444
  };
3863
4445
 
4446
+ /**
4447
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4448
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4449
+ * this is their meaning.
4450
+ */
4451
+ declare interface DisplayMetadata {
4452
+ /**
4453
+ * A user-readable name for this channel, e.g: `"Red"`
4454
+ */
4455
+ readonly name?: string;
4456
+ /**
4457
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4458
+ */
4459
+ readonly color?: string;
4460
+ /**
4461
+ * A URL of an image that can be used to display this channel
4462
+ */
4463
+ readonly glyph?: string;
4464
+ }
4465
+
4466
+ /**
4467
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4468
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4469
+ * this is their meaning.
4470
+ */
4471
+ declare interface DisplayMetadata_2 {
4472
+ /**
4473
+ * A user-readable name for this channel, e.g: `"Red"`
4474
+ */
4475
+ readonly name?: string;
4476
+ /**
4477
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4478
+ */
4479
+ readonly color?: string;
4480
+ /**
4481
+ * A URL of an image that can be used to display this channel
4482
+ */
4483
+ readonly glyph?: string;
4484
+ }
4485
+
3864
4486
  /**
3865
4487
  * The display data for a context group.
3866
4488
  *
3867
4489
  * @interface
3868
4490
  */
3869
- declare type DisplayMetadata = {
4491
+ declare type DisplayMetadata_3 = {
3870
4492
  /**
3871
4493
  * A user-readable name for this context group, e.g: `"Red"`
3872
4494
  */
@@ -3937,6 +4559,8 @@ declare type Dpi = {
3937
4559
  vertical?: number;
3938
4560
  };
3939
4561
 
4562
+ declare interface DragSource {}
4563
+
3940
4564
  /**
3941
4565
  * Generated when a window has been embedded.
3942
4566
  * @interface
@@ -4164,6 +4788,43 @@ declare class EventAggregator extends EmitterMap {
4164
4788
  dispatchEvent: (message: Message<any>) => boolean;
4165
4789
  }
4166
4790
 
4791
+ declare interface EventEmitter_2 {
4792
+ [x: string]: any;
4793
+ /**
4794
+ * Subscribe to an event
4795
+ * @param eventName The name of the event to describe to
4796
+ * @param callback The function that should be invoked when the event occurs
4797
+ * @param context The value of the this pointer in the callback function
4798
+ */
4799
+ on(eventName: string, callback: Function, context?: any): void;
4800
+
4801
+ /**
4802
+ * Notify listeners of an event and pass arguments along
4803
+ * @param eventName The name of the event to emit
4804
+ */
4805
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4806
+
4807
+ /**
4808
+ * Alias for emit
4809
+ */
4810
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4811
+
4812
+ /**
4813
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
4814
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
4815
+ * arguments.
4816
+ * @param eventName The name of the event to unsubscribe from
4817
+ * @param callback The function that should be invoked when the event occurs
4818
+ * @param context The value of the this pointer in the callback function
4819
+ */
4820
+ unbind(eventName: string, callback?: Function, context?: any): void;
4821
+
4822
+ /**
4823
+ * Alias for unbind
4824
+ */
4825
+ off(eventName: string, callback?: Function, context?: any): void;
4826
+ }
4827
+
4167
4828
  /**
4168
4829
  * Handler for an event on an EventEmitter.
4169
4830
  * @remarks Selects the correct type for the event
@@ -4482,6 +5143,13 @@ declare type FaviconUpdatedEvent = NamedEvent & {
4482
5143
  favicons: string[];
4483
5144
  };
4484
5145
 
5146
+ declare namespace FDC3 {
5147
+ export {
5148
+ v1,
5149
+ v2
5150
+ }
5151
+ }
5152
+
4485
5153
  /**
4486
5154
  * @interface
4487
5155
  */
@@ -4674,8 +5342,8 @@ declare type FindInPageResult = {
4674
5342
  /**
4675
5343
  * @interface
4676
5344
  */
4677
- declare type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
4678
- context: Context;
5345
+ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
5346
+ context: Context_3;
4679
5347
  metadata?: MetadataType;
4680
5348
  };
4681
5349
 
@@ -5085,27 +5753,265 @@ declare class GlobalHotkey extends EmitterBase<OpenFin_2.GlobalHotkeyEvent> {
5085
5753
  * });
5086
5754
  * ```
5087
5755
  */
5088
- isRegistered(hotkey: string): Promise<boolean>;
5089
- }
5756
+ isRegistered(hotkey: string): Promise<boolean>;
5757
+ }
5758
+
5759
+ /**
5760
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by {@link GlobalHotkey}. Events are
5761
+ * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5762
+ * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
5763
+ */
5764
+ declare type GlobalHotkeyEvent = {
5765
+ topic: 'global-hotkey';
5766
+ hotkey: 'string';
5767
+ } & (RegisteredEvent | UnregisteredEvent);
5768
+
5769
+ declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5770
+
5771
+ declare namespace GlobalHotkeyEvents {
5772
+ export {
5773
+ RegisteredEvent,
5774
+ UnregisteredEvent,
5775
+ GlobalHotkeyEvent
5776
+ }
5777
+ }
5778
+
5779
+ declare namespace GoldenLayout {
5780
+ export {
5781
+ GoldenLayout_2 as GoldenLayout,
5782
+ ItemConfigType,
5783
+ Settings,
5784
+ Dimensions,
5785
+ Labels,
5786
+ ItemType,
5787
+ ItemConfig,
5788
+ ComponentConfig,
5789
+ ReactComponentConfig,
5790
+ Config,
5791
+ ContentItem,
5792
+ Container,
5793
+ DragSource,
5794
+ BrowserWindow,
5795
+ Header,
5796
+ Tab,
5797
+ EventEmitter_2 as EventEmitter
5798
+ }
5799
+ }
5800
+
5801
+ declare class GoldenLayout_2 implements EventEmitter_2 {
5802
+ /**
5803
+ * The topmost item in the layout item tree. In browser terms: Think of the GoldenLayout instance as window
5804
+ * object and of goldenLayout.root as the document.
5805
+ */
5806
+ root: ContentItem;
5807
+
5808
+ /**
5809
+ * A reference to the (jQuery) DOM element containing the layout
5810
+ */
5811
+ container: JQuery;
5812
+
5813
+ /**
5814
+ * True once the layout item tree has been created and the initialised event has been fired
5815
+ */
5816
+ isInitialised: boolean;
5817
+
5818
+ /**
5819
+ * A reference to the current, extended top level config.
5820
+ *
5821
+ * Don't rely on this object for state saving / serialisation. Use layout.toConfig() instead.
5822
+ */
5823
+ config: Config;
5824
+
5825
+ /**
5826
+ * The currently selected item or null if no item is selected. Only relevant if settings.selectionEnabled is set
5827
+ * to true.
5828
+ */
5829
+ selectedItem: ContentItem;
5830
+
5831
+ /**
5832
+ * The current outer width of the layout in pixels.
5833
+ */
5834
+ width: number;
5835
+
5836
+ /**
5837
+ * The current outer height of the layout in pixels.
5838
+ */
5839
+ height: number;
5840
+
5841
+ /**
5842
+ * An array of BrowserWindow instances
5843
+ */
5844
+ openPopouts: BrowserWindow[];
5845
+
5846
+ /**
5847
+ * True if the layout has been opened as a popout by another layout.
5848
+ */
5849
+ isSubWindow: boolean;
5850
+
5851
+ /**
5852
+ * A singleton instance of EventEmitter that works across windows
5853
+ */
5854
+ eventHub: EventEmitter_2;
5855
+
5856
+ _dragProxy: any;
5857
+
5858
+ dropTargetIndicator: any;
5859
+
5860
+ /**
5861
+ * @param config A GoldenLayout configuration object
5862
+ * @param container The DOM element the layout will be initialised in. Default: document.body
5863
+ */
5864
+ constructor(configuration: Config, container?: Element | HTMLElement | JQuery);
5865
+
5866
+ /*
5867
+ * @param name The name of the component, as referred to by componentName in the component configuration.
5868
+ * @param component A constructor or factory function. Will be invoked with new and two arguments, a
5869
+ * containerobject and a component state
5870
+ */
5871
+ registerComponent(name: String, component: any): void;
5872
+
5873
+ /**
5874
+ * Renders the layout into the container. If init() is called before the document is ready it attaches itself as
5875
+ * a listener to the document and executes once it becomes ready.
5876
+ */
5877
+ init(): void;
5878
+
5879
+ /**
5880
+ * Returns the current state of the layout and its components as a serialisable object.
5881
+ */
5882
+ toConfig(): Config;
5883
+
5884
+ /**
5885
+ * Returns a component that was previously registered with layout.registerComponent().
5886
+ * @param name The name of a previously registered component
5887
+ */
5888
+ getComponent(name: string): any;
5889
+
5890
+ /**
5891
+ * Resizes the layout. If no arguments are provided GoldenLayout measures its container and resizes accordingly.
5892
+ * @param width The outer width the layout should be resized to. Default: The container elements width
5893
+ * @param height The outer height the layout should be resized to. Default: The container elements height
5894
+ */
5895
+ updateSize(width?: number, height?: number): void;
5896
+
5897
+ /**
5898
+ * Destroys the layout. Recursively calls destroy on all components and content items, removes all event
5899
+ * listeners and finally removes itself from the DOM.
5900
+ */
5901
+ destroy(): void;
5902
+
5903
+ /**
5904
+ * Creates a new content item or tree of content items from configuration. Usually you wouldn't call this
5905
+ * directly, but instead use methods like layout.createDragSource(), item.addChild() or item.replaceChild() that
5906
+ * all call this method implicitly.
5907
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5908
+ * @param parent A parent item
5909
+ */
5910
+ createContentItem(
5911
+ itemConfiguration?: ItemConfigType,
5912
+ parent?: ContentItem
5913
+ ): ContentItem;
5914
+
5915
+ /**
5916
+ * Creates a new popout window with configOrContentItem as contents at the position specified in dimensions
5917
+ * @param configOrContentItem The content item or config that will be created in the new window. If a item is
5918
+ * provided its config will be read, if config is provided, only the content key
5919
+ * will be used
5920
+ * @param dimensions A map containing the keys left, top, width and height. Left and top can be negative to
5921
+ * place the window in another screen.
5922
+ * @param parentId The id of the item within the current layout the child window's content will be appended to
5923
+ * when popIn is clicked
5924
+ * @param indexInParent The index at which the child window's contents will be appended to. Default: null
5925
+ */
5926
+ createPopout(
5927
+ configOrContentItem: ItemConfigType | ContentItem,
5928
+ dimensions: {
5929
+ width: number;
5930
+ height: number;
5931
+ left: number;
5932
+ top: number;
5933
+ },
5934
+ parentId?: string,
5935
+ indexInParent?: number
5936
+ ): void;
5937
+
5938
+ /**
5939
+ * Turns a DOM element into a dragSource, meaning that the user can drag the element directly onto the layout
5940
+ * where it turns into a contentItem.
5941
+ * @param element The DOM element that will be turned into a dragSource
5942
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5943
+ * @return the dragSource that was created. This can be used to remove the
5944
+ * dragSource from the layout later.
5945
+ */
5946
+ createDragSource(
5947
+ element: HTMLElement | JQuery,
5948
+ itemConfiguration: ItemConfigType
5949
+ ): DragSource;
5950
+
5951
+ /**
5952
+ * Removes a dragSource from the layout.
5953
+ *
5954
+ * @param dragSource The dragSource to remove
5955
+ */
5956
+ removeDragSource(dragSource: DragSource): void;
5957
+
5958
+ /**
5959
+ * If settings.selectionEnabled is set to true, this allows to select items programmatically.
5960
+ * @param contentItem A ContentItem instance
5961
+ */
5962
+ selectItem(contentItem: ContentItem): void;
5963
+
5964
+ /**
5965
+ * Static method on the GoldenLayout constructor! This method will iterate through a GoldenLayout config object
5966
+ * and replace frequent keys and values with single letter substitutes.
5967
+ * @param config A GoldenLayout configuration object
5968
+ */
5969
+ static minifyConfig(config: any): any;
5970
+
5971
+ /**
5972
+ * Static method on the GoldenLayout constructor! This method will reverse the minifications of minifyConfig.
5973
+ * @param minifiedConfig A minified GoldenLayout configuration object
5974
+ */
5975
+ static unminifyConfig(minifiedConfig: any): any;
5976
+
5977
+ /**
5978
+ * Subscribe to an event
5979
+ * @param eventName The name of the event to describe to
5980
+ * @param callback The function that should be invoked when the event occurs
5981
+ * @param context The value of the this pointer in the callback function
5982
+ */
5983
+ on(eventName: string, callback: Function, context?: any): void;
5090
5984
 
5091
- /**
5092
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by {@link GlobalHotkey}. Events are
5093
- * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5094
- * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
5095
- */
5096
- declare type GlobalHotkeyEvent = {
5097
- topic: 'global-hotkey';
5098
- hotkey: 'string';
5099
- } & (RegisteredEvent | UnregisteredEvent);
5985
+ /**
5986
+ * Notify listeners of an event and pass arguments along
5987
+ * @param eventName The name of the event to emit
5988
+ */
5989
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
5100
5990
 
5101
- declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5991
+ /**
5992
+ * Alias for emit
5993
+ */
5994
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
5102
5995
 
5103
- declare namespace GlobalHotkeyEvents {
5104
- export {
5105
- RegisteredEvent,
5106
- UnregisteredEvent,
5107
- GlobalHotkeyEvent
5108
- }
5996
+ /**
5997
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
5998
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
5999
+ * arguments.
6000
+ * @param eventName The name of the event to unsubscribe from
6001
+ * @param callback The function that should be invoked when the event occurs
6002
+ * @param context The value of the this pointer in the callback function
6003
+ */
6004
+ unbind(eventName: string, callback?: Function, context?: any): void;
6005
+
6006
+ /**
6007
+ * Alias for unbind
6008
+ */
6009
+ off(eventName: string, callback?: Function, context?: any): void;
6010
+
6011
+ /**
6012
+ * Internal method that create drop areas on the far edges of window, e.g. far-right of window
6013
+ */
6014
+ _$createRootItemAreas(): void;
5109
6015
  }
5110
6016
 
5111
6017
  /**
@@ -5115,6 +6021,62 @@ declare type GpuInfo = {
5115
6021
  name: string;
5116
6022
  };
5117
6023
 
6024
+ declare interface Header {
6025
+ /**
6026
+ * A reference to the LayoutManager instance
6027
+ */
6028
+ layoutManager: GoldenLayout_2;
6029
+
6030
+ /**
6031
+ * A reference to the Stack this Header belongs to
6032
+ */
6033
+ parent: ContentItem;
6034
+
6035
+ /**
6036
+ * An array of the Tabs within this header
6037
+ */
6038
+ tabs: Tab[];
6039
+
6040
+ /**
6041
+ * The currently selected activeContentItem
6042
+ */
6043
+ activeContentItem: ContentItem;
6044
+
6045
+ /**
6046
+ * The outer (jQuery) DOM element of this Header
6047
+ */
6048
+ element: JQuery;
6049
+
6050
+ /**
6051
+ * The (jQuery) DOM element containing the tabs
6052
+ */
6053
+ tabsContainer: JQuery;
6054
+
6055
+ /**
6056
+ * The (jQuery) DOM element containing the close, maximise and popout button
6057
+ */
6058
+ controlsContainer: JQuery;
6059
+
6060
+ /**
6061
+ * Hides the currently selected contentItem, shows the specified one and highlights its tab.
6062
+ * @param contentItem The content item that will be selected
6063
+ */
6064
+ setActiveContentItem(contentItem: ContentItem): void;
6065
+
6066
+ /**
6067
+ * Creates a new tab and associates it with a content item
6068
+ * @param contentItem The content item the tab will be associated with
6069
+ * @param index A zero based index, specifying the position of the new tab
6070
+ */
6071
+ createTab(contentItem: ContentItem, index?: number): void;
6072
+
6073
+ /**
6074
+ * Finds a tab by its contentItem and removes it
6075
+ * @param contentItem The content item the tab is associated with
6076
+ */
6077
+ removeTab(contentItem: ContentItem): void;
6078
+ }
6079
+
5118
6080
  /**
5119
6081
  * Generated when a View is hidden.
5120
6082
  * @interface
@@ -5200,6 +6162,15 @@ declare type HotkeyEvent = BaseViewEvent & {
5200
6162
  type: 'hotkey';
5201
6163
  };
5202
6164
 
6165
+ declare interface Icon {
6166
+ /** The icon url */
6167
+ readonly src: string;
6168
+ /** The icon dimension, formatted as `<height>x<width>`. */
6169
+ readonly size?: string;
6170
+ /** Icon media type. If not present the Desktop Agent may use the src file extension. */
6171
+ readonly type?: string;
6172
+ }
6173
+
5203
6174
  declare type Identity = OpenFin_2.Identity;
5204
6175
 
5205
6176
  declare type Identity_2 = OpenFin_2.Identity;
@@ -5255,6 +6226,17 @@ declare type IdleEvent = {
5255
6226
  isIdle: boolean;
5256
6227
  };
5257
6228
 
6229
+ declare interface Image_2 {
6230
+ /** The image url. */
6231
+ readonly src: string;
6232
+ /** The image dimension, formatted as `<height>x<width>`. */
6233
+ readonly size?: string;
6234
+ /** Image media type. If not present the Desktop Agent may use the src file extension. */
6235
+ readonly type?: string;
6236
+ /** Caption for the image. */
6237
+ readonly label?: string;
6238
+ }
6239
+
5258
6240
  declare type ImageFormatOptions = {
5259
6241
  format: 'dataURL' | 'png' | 'bmp';
5260
6242
  } | {
@@ -5265,15 +6247,57 @@ declare type ImageFormatOptions = {
5265
6247
  quality?: number;
5266
6248
  };
5267
6249
 
6250
+ /**
6251
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6252
+ */
6253
+ declare interface ImplementationMetadata {
6254
+ /** The version number of the FDC3 specification that the implementation provides.
6255
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6256
+ */
6257
+ readonly fdc3Version: string;
6258
+ /** The name of the provider of the FDC3 Desktop Agent Implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6259
+ readonly provider: string;
6260
+ /** The version of the provider of the FDC3 Desktop Agent Implementation (e.g. 5.3.0). */
6261
+ readonly providerVersion?: string;
6262
+ }
6263
+
6264
+ /**
6265
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6266
+ */
6267
+ declare interface ImplementationMetadata_2 {
6268
+ /** The version number of the FDC3 specification that the implementation provides.
6269
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6270
+ */
6271
+ readonly fdc3Version: string;
6272
+ /** The name of the provider of the Desktop Agent implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6273
+ readonly provider: string;
6274
+ /** The version of the provider of the Desktop Agent implementation (e.g. 5.3.0). */
6275
+ readonly providerVersion?: string;
6276
+ /** Metadata indicating whether the Desktop Agent implements optional features of
6277
+ * the Desktop Agent API.
6278
+ */
6279
+ readonly optionalFeatures: {
6280
+ /** Used to indicate whether the exposure of 'originating app metadata' for
6281
+ * context and intent messages is supported by the Desktop Agent. */
6282
+ readonly OriginatingAppMetadata: boolean;
6283
+ /** Used to indicate whether the optional `fdc3.joinUserChannel`,
6284
+ * `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by
6285
+ * the Desktop Agent. */
6286
+ readonly UserChannelMembershipAPIs: boolean;
6287
+ };
6288
+ /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */
6289
+ readonly appMetadata: AppMetadata_2;
6290
+ }
6291
+
5268
6292
  /**
5269
6293
  * @interface
5270
6294
  */
5271
- declare type InfoForIntentOptions<MetadataType = IntentMetadata> = {
6295
+ declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
5272
6296
  /**
5273
6297
  * Name of the intent to get info for.
5274
6298
  */
5275
6299
  name: string;
5276
- context?: Context;
6300
+ context?: Context_3;
5277
6301
  metadata?: MetadataType;
5278
6302
  };
5279
6303
 
@@ -5346,10 +6370,16 @@ declare type InstalledApps_2 = {
5346
6370
  [key: string]: InstallationInfo;
5347
6371
  };
5348
6372
 
6373
+ declare interface Intent {
6374
+ name: string;
6375
+ context: Context_2;
6376
+ metadata: IntentMetadata_2;
6377
+ }
6378
+
5349
6379
  /**
5350
6380
  * Combination of an action and a context that is passed to an application for resolution.
5351
6381
  */
5352
- declare type Intent<MetadataType = IntentMetadata> = {
6382
+ declare type Intent_2<MetadataType = IntentMetadata_3> = {
5353
6383
  /**
5354
6384
  * Name of the intent.
5355
6385
  */
@@ -5357,25 +6387,54 @@ declare type Intent<MetadataType = IntentMetadata> = {
5357
6387
  /**
5358
6388
  * Data associated with the intent.
5359
6389
  */
5360
- context: Context;
6390
+ context: Context_3;
5361
6391
  metadata?: MetadataType;
5362
6392
  };
5363
6393
 
6394
+ declare type IntentHandler = (context: Context_2, metadata?: ContextMetadata) => Promise<IntentResult> | void;
6395
+
5364
6396
  /**
5365
6397
  * Subscription function for registerIntentHandler.
5366
6398
  */
5367
- declare type IntentHandler = (intent: Intent) => void;
6399
+ declare type IntentHandler_2 = (intent: Intent_2) => void;
5368
6400
 
5369
6401
  /**
5370
- * The type used to describe an intent within the platform.
5371
- * @interface
6402
+ * Intent descriptor
5372
6403
  */
5373
- declare type IntentMetadata<TargetType = any> = {
6404
+ declare interface IntentMetadata {
6405
+ /** The unique name of the intent that can be invoked by the raiseIntent call */
6406
+ readonly name: string;
6407
+ /** A friendly display name for the intent that should be used to render UI elements */
6408
+ readonly displayName: string;
6409
+ }
6410
+
6411
+ declare type IntentMetadata_2<TargetType = any> = {
5374
6412
  target?: TargetType;
5375
6413
  resultType?: string;
5376
6414
  intentResolutionResultId?: string;
5377
6415
  };
5378
6416
 
6417
+ /**
6418
+ * The type used to describe an intent within the platform.
6419
+ * @interface
6420
+ */
6421
+ declare type IntentMetadata_3<TargetType = any> = FDC3.v2.IntentMetadata<TargetType>;
6422
+
6423
+ declare interface IntentResolution {
6424
+ source: TargetApp;
6425
+ data?: object;
6426
+ version: string;
6427
+ }
6428
+
6429
+ declare interface IntentResolution_2 {
6430
+ source: AppIdentifier;
6431
+ intent: string;
6432
+ version?: string;
6433
+ getResult(): Promise<IntentResult>;
6434
+ }
6435
+
6436
+ declare type IntentResult = Context_2 | Channel_4 | PrivateChannel;
6437
+
5379
6438
  /**
5380
6439
  * A messaging bus that allows for pub/sub messaging between different applications.
5381
6440
  *
@@ -5980,23 +7039,23 @@ declare class InteropBroker extends Base {
5980
7039
  * @param clientIdentity Identity of the Client making the request.
5981
7040
  */
5982
7041
  fdc3HandleOpen({ app, context }: {
5983
- app: TargetApp | AppIdentifier;
7042
+ app: FDC3.v1.TargetApp | FDC3.v2.AppIdentifier;
5984
7043
  context: OpenFin_2.Context;
5985
- }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void | AppIdentifier>;
7044
+ }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void | FDC3.v2.AppIdentifier>;
5986
7045
  /**
5987
7046
  * Responsible for resolving the fdc3.findInstances call.
5988
7047
  * Must be overridden
5989
7048
  * @param app AppIdentifier that was passed to fdc3.findInstances
5990
7049
  * @param clientIdentity Identity of the Client making the request.
5991
7050
  */
5992
- fdc3HandleFindInstances(app: AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
7051
+ fdc3HandleFindInstances(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
5993
7052
  /**
5994
7053
  * Responsible for resolving the fdc3.getAppMetadata call.
5995
7054
  * Must be overridden
5996
7055
  * @param app AppIdentifier that was passed to fdc3.getAppMetadata
5997
7056
  * @param clientIdentity Identity of the Client making the request.
5998
7057
  */
5999
- fdc3HandleGetAppMetadata(app: AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
7058
+ fdc3HandleGetAppMetadata(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
6000
7059
  /**
6001
7060
  * This function is called by the Interop Broker whenever a Context handler would fire.
6002
7061
  * For FDC3 2.0 you would need to override this function and add the contextMetadata as
@@ -6766,6 +7825,50 @@ declare class InteropModule extends Base {
6766
7825
  connectSync(name: string, interopConfig?: OpenFin_2.InteropConfig): InteropClient;
6767
7826
  }
6768
7827
 
7828
+ declare interface ItemConfig {
7829
+ /**
7830
+ * The type of the item. Possible values are 'row', 'column', 'stack', 'component' and 'react-component'.
7831
+ */
7832
+ type: ItemType;
7833
+
7834
+ /**
7835
+ * An array of configurations for items that will be created as children of this item.
7836
+ */
7837
+ content?: ItemConfigType[];
7838
+
7839
+ /**
7840
+ * The width of this item, relative to the other children of its parent in percent
7841
+ */
7842
+ width?: number;
7843
+
7844
+ /**
7845
+ * The height of this item, relative to the other children of its parent in percent
7846
+ */
7847
+ height?: number;
7848
+
7849
+ /**
7850
+ * A String or an Array of Strings. Used to retrieve the item using item.getItemsById()
7851
+ */
7852
+ id?: string | string[];
7853
+
7854
+ /**
7855
+ * Determines if the item is closable. If false, the x on the items tab will be hidden and container.close()
7856
+ * will return false
7857
+ * Default: true
7858
+ */
7859
+ isClosable?: boolean;
7860
+
7861
+ /**
7862
+ * The title of the item as displayed on its tab and on popout windows
7863
+ * Default: componentName or ''
7864
+ */
7865
+ title?: string;
7866
+ }
7867
+
7868
+ declare type ItemConfigType = ItemConfig | ComponentConfig | ReactComponentConfig;
7869
+
7870
+ declare type ItemType = 'row' | 'column' | 'stack' | 'root' | 'component';
7871
+
6769
7872
  /**
6770
7873
  * @interface
6771
7874
  */
@@ -6823,6 +7926,32 @@ declare type JumpListTask = {
6823
7926
  iconIndex?: number;
6824
7927
  };
6825
7928
 
7929
+ declare interface Labels {
7930
+ /**
7931
+ * The tooltip text that appears when hovering over the close icon.
7932
+ * Default: 'close'
7933
+ */
7934
+ close?: string;
7935
+
7936
+ /**
7937
+ * The tooltip text that appears when hovering over the maximise icon.
7938
+ * Default: 'maximise'
7939
+ */
7940
+ maximise?: string;
7941
+
7942
+ /**
7943
+ * The tooltip text that appears when hovering over the minimise icon.
7944
+ * Default: 'minimise'
7945
+ */
7946
+ minimise?: string;
7947
+
7948
+ /**
7949
+ * The tooltip text that appears when hovering over the popout icon.
7950
+ * Default: 'open in new window'
7951
+ */
7952
+ popout?: string;
7953
+ }
7954
+
6826
7955
  /**
6827
7956
  * The LaunchEmitter is an `EventEmitter`. It can listen to app version resolver events.
6828
7957
  *
@@ -7062,6 +8191,16 @@ declare class Layout extends Base {
7062
8191
  * ```
7063
8192
  */
7064
8193
  getConfig(): Promise<any>;
8194
+ /**
8195
+ * Retrieves the attached views in current window layout.
8196
+ *
8197
+ * @example
8198
+ * ```js
8199
+ * const layout = fin.Platform.Layout.getCurrentSync();
8200
+ * const views = await layout.getCurrentViews();
8201
+ * ```
8202
+ */
8203
+ getCurrentViews(): Promise<OpenFin_2.View[]>;
7065
8204
  /**
7066
8205
  * Replaces a Platform window's layout with a new layout.
7067
8206
  *
@@ -7450,6 +8589,7 @@ declare class LayoutManager {
7450
8589
  private setBackgroundImage;
7451
8590
  private setBackgroundImages;
7452
8591
  private getFrameSnapshot;
8592
+ private getCurrentViews;
7453
8593
  private addView;
7454
8594
  private replaceView;
7455
8595
  private removeView;
@@ -7868,7 +9008,21 @@ declare type LayoutRow = LayoutItemConfig & {
7868
9008
  */
7869
9009
  declare type LegacyWinOptionsInAppOptions = Pick<WindowCreationOptions, 'accelerator' | 'alwaysOnTop' | 'api' | 'aspectRatio' | 'autoplayPolicy' | 'autoShow' | 'backgroundColor' | 'contentNavigation' | 'contextMenu' | 'cornerRounding' | 'customData' | 'customRequestHeaders' | 'defaultCentered' | 'defaultHeight' | 'defaultLeft' | 'defaultTop' | 'defaultWidth' | 'frame' | 'hideOnClose' | 'icon' | 'maxHeight' | 'maximizable' | 'maxWidth' | 'minHeight' | 'minimizable' | 'minWidth' | 'opacity' | 'preloadScripts' | 'resizable' | 'resizeRegion' | 'saveWindowState' | 'ignoreSavedWindowState' | 'shadow' | 'showTaskbarIcon' | 'smallWindow' | 'state' | 'taskbarIconGroup' | 'waitForPageLoad' | '_internalWorkspaceData'>;
7870
9010
 
7871
- declare type Listener<T extends {
9011
+ declare interface Listener {
9012
+ /**
9013
+ * Unsubscribe the listener object.
9014
+ */
9015
+ unsubscribe(): void;
9016
+ }
9017
+
9018
+ declare interface Listener_2 {
9019
+ /**
9020
+ * Unsubscribe the listener object.
9021
+ */
9022
+ unsubscribe(): void;
9023
+ }
9024
+
9025
+ declare type Listener_3<T extends {
7872
9026
  type: string;
7873
9027
  }> = (payload: T) => void;
7874
9028
 
@@ -8619,6 +9773,10 @@ declare type Opacity = TransitionBase & {
8619
9773
  opacity: number;
8620
9774
  };
8621
9775
 
9776
+ declare type OpenExternalPermission = VerboseWebPermission & {
9777
+ protocols: string[];
9778
+ };
9779
+
8622
9780
  declare namespace OpenFin_2 {
8623
9781
  export {
8624
9782
  FinApi,
@@ -8669,11 +9827,11 @@ declare namespace OpenFin_2 {
8669
9827
  ApplicationOptions,
8670
9828
  InteropBrokerOptions,
8671
9829
  ContextGroupInfo,
8672
- DisplayMetadata,
9830
+ DisplayMetadata_3 as DisplayMetadata,
8673
9831
  LegacyWinOptionsInAppOptions,
8674
9832
  Snapshot,
8675
9833
  ContextGroupStates,
8676
- Context,
9834
+ Context_3 as Context,
8677
9835
  MonitorInfo,
8678
9836
  Point,
8679
9837
  PointTopLeft,
@@ -8738,6 +9896,8 @@ declare namespace OpenFin_2 {
8738
9896
  LaunchExternalProcessRule,
8739
9897
  SystemPermissions,
8740
9898
  WebPermission,
9899
+ VerboseWebPermission,
9900
+ OpenExternalPermission,
8741
9901
  Permissions_2 as Permissions,
8742
9902
  PlatformWindowCreationOptions,
8743
9903
  PlatformWindowOptions,
@@ -8842,10 +10002,10 @@ declare namespace OpenFin_2 {
8842
10002
  FileDownloadBehaviorNames,
8843
10003
  FileDownloadSettings,
8844
10004
  DownloadRule,
8845
- ContextHandler,
8846
- Intent,
8847
- IntentMetadata,
8848
- IntentHandler,
10005
+ ContextHandler_3 as ContextHandler,
10006
+ Intent_2 as Intent,
10007
+ IntentMetadata_3 as IntentMetadata,
10008
+ IntentHandler_2 as IntentHandler,
8849
10009
  ContentCreationBehaviorNames,
8850
10010
  MatchPattern,
8851
10011
  ContentCreationRule,
@@ -9004,7 +10164,7 @@ declare class Platform extends EmitterBase<OpenFin_2.PlatformEvent> {
9004
10164
  /**
9005
10165
  * @internal
9006
10166
  */
9007
- constructor(identity: OpenFin_2.ApplicationIdentity, channel: Channel_3);
10167
+ constructor(identity: OpenFin_2.ApplicationIdentity, channel: Channel_5);
9008
10168
  getClient: (identity?: OpenFin_2.ApplicationIdentity) => Promise<ChannelClient_2>;
9009
10169
  /**
9010
10170
  * Creates a new view and attaches it to a specified target window.
@@ -10761,6 +11921,14 @@ declare type PrintOptions = {
10761
11921
  dpi?: Dpi;
10762
11922
  };
10763
11923
 
11924
+ declare type PrivateChannel = Omit<Channel_4, 'addContextListener'> & {
11925
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
11926
+ onAddContextListener(handler: (contextType?: string) => void): Listener_2;
11927
+ onUnsubscribe(handler: (contextType?: string) => void): Listener_2;
11928
+ onDisconnect(handler: () => void): Listener_2;
11929
+ disconnect(): void;
11930
+ };
11931
+
10764
11932
  /**
10765
11933
  * Strategy to assign views to process affinity by domain.
10766
11934
  *
@@ -11213,6 +12381,18 @@ declare type QueryPermissionResult = {
11213
12381
  rawValue?: unknown;
11214
12382
  };
11215
12383
 
12384
+ declare interface ReactComponentConfig extends ItemConfig {
12385
+ /**
12386
+ * The name of the component as specified in layout.registerComponent. Mandatory if type is 'react-component'
12387
+ */
12388
+ component: string;
12389
+
12390
+ /**
12391
+ * Properties that will be passed to the component and accessible using this.props.
12392
+ */
12393
+ props?: any;
12394
+ }
12395
+
11216
12396
  /**
11217
12397
  * @interface
11218
12398
  */
@@ -11673,23 +12853,114 @@ declare type SessionContextGroup = {
11673
12853
  * A SessionContextGroup instance method for setting a context in the SessionContextGroup.
11674
12854
  * @param context The Context to be set.
11675
12855
  */
11676
- setContext: (context: Context) => Promise<void>;
12856
+ setContext: (context: Context_3) => Promise<void>;
11677
12857
  /**
11678
12858
  * A SessionContextGroup instance method for getting the current context of a certain type.
11679
12859
  * @param type The Context Type to get. If not specified the last contextType set would get used.
11680
12860
  */
11681
- getCurrentContext: (type?: string) => Promise<Context>;
12861
+ getCurrentContext: (type?: string) => Promise<Context_3>;
11682
12862
  /**
11683
12863
  * A SessionContextGroup instance method for adding a handler for context change.
11684
12864
  * @param handler The callback to be invoked. Is invoked when (a) the context changes or (b) immediately after getting created if the context is already set.
11685
12865
  * @param contextType The context type this handler should listen to. If not specified, a global handler for all context types will get created. Only one global handler is allowed per SessionContextGroup.
11686
12866
  *
11687
12867
  */
11688
- addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
12868
+ addContextHandler: (handler: ContextHandler_3, contextType?: string) => Promise<{
11689
12869
  unsubscribe: () => void;
11690
12870
  }>;
11691
12871
  };
11692
12872
 
12873
+ declare interface Settings {
12874
+ preventSplitterResize?: boolean;
12875
+
12876
+ newTabButton?: {
12877
+ url?: string;
12878
+ };
12879
+
12880
+ /**
12881
+ * If true, tabs can't be dragged into the window.
12882
+ * Default: false
12883
+ */
12884
+ preventDragIn?: boolean;
12885
+
12886
+ /**
12887
+ * If true, tabs can't be dragged out of the window.
12888
+ * Default: false
12889
+ */
12890
+ preventDragOut?: boolean;
12891
+
12892
+ /**
12893
+ * If true, stack headers are the only areas where tabs can be dropped.
12894
+ * Default: false
12895
+ */
12896
+ constrainDragToHeaders?: boolean;
12897
+ /**
12898
+ * Turns headers on or off. If false, the layout will be displayed with splitters only.
12899
+ * Default: true
12900
+ */
12901
+ hasHeaders?: boolean;
12902
+
12903
+ /**
12904
+ * (Unused in Openfin Platform) Constrains the area in which items can be dragged to the layout's container. Will be set to false
12905
+ * automatically when layout.createDragSource() is called.
12906
+ * Default: true
12907
+ */
12908
+ constrainDragToContainer?: boolean;
12909
+
12910
+ /**
12911
+ * If true, the user can re-arrange the layout by dragging items by their tabs to the desired location.
12912
+ * Default: true
12913
+ */
12914
+ reorderEnabled?: boolean;
12915
+
12916
+ /**
12917
+ * If true, the user can select items by clicking on their header. This sets the value of layout.selectedItem to
12918
+ * the clicked item, highlights its header and the layout emits a 'selectionChanged' event.
12919
+ * Default: false
12920
+ */
12921
+ selectionEnabled?: boolean;
12922
+
12923
+ /**
12924
+ * Decides what will be opened in a new window if the user clicks the popout icon. If true the entire stack will
12925
+ * be transferred to the new window, if false only the active component will be opened.
12926
+ * Default: false
12927
+ */
12928
+ popoutWholeStack?: boolean;
12929
+
12930
+ /**
12931
+ * Specifies if an error is thrown when a popout is blocked by the browser (e.g. by opening it programmatically).
12932
+ * If false, the popout call will fail silently.
12933
+ * Default: true
12934
+ */
12935
+ blockedPopoutsThrowError?: boolean;
12936
+
12937
+ /**
12938
+ * Specifies if all popouts should be closed when the page that created them is closed. Popouts don't have a
12939
+ * strong dependency on their parent and can exist on their own, but can be quite annoying to close by hand. In
12940
+ * addition, any changes made to popouts won't be stored after the parent is closed.
12941
+ * Default: true
12942
+ */
12943
+ closePopoutsOnUnload?: boolean;
12944
+
12945
+ /**
12946
+ * Specifies if the popout icon should be displayed in the header-bar.
12947
+ * Default: true
12948
+ */
12949
+ showPopoutIcon?: boolean;
12950
+
12951
+ /**
12952
+ * Specifies if the maximise icon should be displayed in the header-bar.
12953
+ * Default: true
12954
+ */
12955
+ showMaximiseIcon?: boolean;
12956
+
12957
+ /**
12958
+ * Specifies if the close icon should be displayed in the header-bar.
12959
+ * Default: true
12960
+ */
12961
+ showCloseIcon?: boolean;
12962
+ }
12963
+
11693
12964
  /**
11694
12965
  * @interface
11695
12966
  */
@@ -13438,6 +14709,12 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
13438
14709
  setDomainSettings(domainSettings: OpenFin_2.DefaultDomainSettings): Promise<void>;
13439
14710
  }
13440
14711
 
14712
+ declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast' | 'getCurrentContext'> & {
14713
+ addContextListener(): Error;
14714
+ broadcast(): Error;
14715
+ getCurrentContext(): Error;
14716
+ };
14717
+
13441
14718
  /**
13442
14719
  * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link System}. Events are
13443
14720
  * discriminated by {@link SystemEvent.type | their type}. Event payloads unique to `System` can be found
@@ -13529,6 +14806,52 @@ declare type SystemShutdownHandler = (shutdownEvent: {
13529
14806
  proceed: () => void;
13530
14807
  }) => void;
13531
14808
 
14809
+ declare interface Tab {
14810
+ _dragListener: EventEmitter_2;
14811
+
14812
+ /**
14813
+ * True if this tab is the selected tab
14814
+ */
14815
+ isActive: boolean;
14816
+
14817
+ /**
14818
+ * A reference to the header this tab is a child of
14819
+ */
14820
+ header: Header;
14821
+
14822
+ /**
14823
+ * A reference to the content item this tab relates to
14824
+ */
14825
+ contentItem: ContentItem;
14826
+
14827
+ /**
14828
+ * The tabs outer (jQuery) DOM element
14829
+ */
14830
+ element: JQuery;
14831
+
14832
+ /**
14833
+ * The (jQuery) DOM element containing the title
14834
+ */
14835
+ titleElement: JQuery;
14836
+
14837
+ /**
14838
+ * The (jQuery) DOM element that closes the tab
14839
+ */
14840
+ closeElement: JQuery;
14841
+
14842
+ /**
14843
+ * Sets the tab's title. Does not affect the contentItem's title!
14844
+ * @param title The new title
14845
+ */
14846
+ setTitle(title: string): void;
14847
+
14848
+ /**
14849
+ * Sets this tab's active state. To programmatically switch tabs, use header.setActiveContentItem( item ) instead.
14850
+ * @param isActive Whether the tab is active
14851
+ */
14852
+ setActive(isActive: boolean): void;
14853
+ }
14854
+
13532
14855
  /**
13533
14856
  * Set of apis used to facilitate tab drag interactions without needing to hide views.
13534
14857
  * @ignore
@@ -13967,13 +15290,13 @@ declare type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-i
13967
15290
  declare interface TypedEventEmitter<Event extends {
13968
15291
  type: string;
13969
15292
  }, EmitterEventType = Event['type']> {
13970
- on<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15293
+ on<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13971
15294
  type: EventType;
13972
15295
  }>>): this;
13973
- addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15296
+ addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13974
15297
  type: EventType;
13975
15298
  }>>): this;
13976
- removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15299
+ removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13977
15300
  type: EventType;
13978
15301
  }>>): this;
13979
15302
  removeAllListeners<EventType extends EmitterEventType>(event?: EmitterEventType): this;
@@ -14044,6 +15367,53 @@ declare type UserMovementEnabledEvent = NamedEvent & {
14044
15367
  type: 'user-movement-enabled';
14045
15368
  };
14046
15369
 
15370
+ declare namespace v1 {
15371
+ export {
15372
+ Listener,
15373
+ AppMetadata,
15374
+ IntentMetadata,
15375
+ AppIntent,
15376
+ DisplayMetadata,
15377
+ ImplementationMetadata,
15378
+ ContextHandler,
15379
+ TargetApp,
15380
+ Context,
15381
+ IntentResolution,
15382
+ Channel_3 as Channel,
15383
+ SystemChannel,
15384
+ DesktopAgent
15385
+ }
15386
+ }
15387
+
15388
+ declare namespace v2 {
15389
+ export {
15390
+ IntentMetadata_2 as IntentMetadata,
15391
+ AppIdentifier,
15392
+ Listener_2 as Listener,
15393
+ AppIntent_2 as AppIntent,
15394
+ ImplementationMetadata_2 as ImplementationMetadata,
15395
+ ContextMetadata,
15396
+ Icon,
15397
+ Image_2 as Image,
15398
+ AppMetadata_2 as AppMetadata,
15399
+ DisplayMetadata_2 as DisplayMetadata,
15400
+ ContextHandler_2 as ContextHandler,
15401
+ IntentHandler,
15402
+ IntentResult,
15403
+ Context_2 as Context,
15404
+ Intent,
15405
+ IntentResolution_2 as IntentResolution,
15406
+ Channel_4 as Channel,
15407
+ PrivateChannel,
15408
+ DesktopAgent_2 as DesktopAgent
15409
+ }
15410
+ }
15411
+
15412
+ declare type VerboseWebPermission = {
15413
+ api: string;
15414
+ enabled: boolean;
15415
+ };
15416
+
14047
15417
  declare type View = OpenFin_2.View;
14048
15418
 
14049
15419
  /**
@@ -15927,7 +17297,7 @@ declare namespace WebContentsEvents {
15927
17297
  * `clipboard-read`: Request access to read from the clipboard.<br>
15928
17298
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
15929
17299
  */
15930
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17300
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
15931
17301
 
15932
17302
  /**
15933
17303
  * Object representing headers and their values, where the