@openfin/node-adapter 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.
@@ -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.Fin['InterApplicationBus']['Channel'];
2037
2156
 
2038
- declare type Channel_3 = OpenFin.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.Fin['InterApplicationBus']['Channel'];
2039
2176
 
2040
2177
  declare type ChannelAction = OpenFin.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
  };
@@ -3451,6 +3613,103 @@ declare type ConstWindowOptions = {
3451
3613
  viewVisibility?: ViewVisibilityOptions;
3452
3614
  };
3453
3615
 
3616
+ declare interface Container extends EventEmitter_2 {
3617
+ /**
3618
+ * The current width of the container in pixel
3619
+ */
3620
+ width: number;
3621
+
3622
+ /**
3623
+ * The current height of the container in pixel
3624
+ */
3625
+ height: number;
3626
+
3627
+ /**
3628
+ * A reference to the component-item that controls this container
3629
+ */
3630
+ parent: ContentItem;
3631
+
3632
+ /**
3633
+ * A reference to the tab that controls this container. Will initially be null
3634
+ * (and populated once a tab event has been fired).
3635
+ */
3636
+ tab: Tab;
3637
+
3638
+ /**
3639
+ * The current title of the container
3640
+ */
3641
+ title: string;
3642
+
3643
+ /*
3644
+ * A reference to the GoldenLayout instance this container belongs to
3645
+ */
3646
+ layoutManager: GoldenLayout_2;
3647
+
3648
+ /**
3649
+ * True if the item is currently hidden
3650
+ */
3651
+ isHidden: boolean;
3652
+
3653
+ /**
3654
+ * Overwrites the components state with the provided value. To only change parts of the componentState see
3655
+ * extendState below. This is the main mechanism for saving the state of a component. This state will be the
3656
+ * value of componentState when layout.toConfig() is called and will be passed back to the component's
3657
+ * constructor function. It will also be used when the component is opened in a new window.
3658
+ * @param state A serialisable object
3659
+ */
3660
+ setState(state: any): void;
3661
+
3662
+ /**
3663
+ * The same as setState but does not emit 'stateChanged' event
3664
+ * @param {serialisable} state
3665
+ */
3666
+ setStateSkipEvent(state: any): void;
3667
+
3668
+ /**
3669
+ * This is similar to setState, but merges the provided state into the current one, rather than overwriting it.
3670
+ * @param state A serialisable object
3671
+ */
3672
+ extendState(state: any): void;
3673
+
3674
+ /**
3675
+ * Returns the current state.
3676
+ */
3677
+ getState(): any;
3678
+
3679
+ /**
3680
+ * Returns the container's inner element as a jQuery element
3681
+ */
3682
+ getElement(): JQuery;
3683
+
3684
+ /**
3685
+ * hides the container or returns false if hiding it is not possible
3686
+ */
3687
+ hide(): boolean;
3688
+
3689
+ /**
3690
+ * shows the container or returns false if showing it is not possible
3691
+ */
3692
+ show(): boolean;
3693
+
3694
+ /**
3695
+ * Sets the container to the specified size or returns false if that's not possible
3696
+ * @param width the new width in pixel
3697
+ * @param height the new height in pixel
3698
+ */
3699
+ setSize(width: number, height: number): boolean;
3700
+
3701
+ /**
3702
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3703
+ * @param title the new title
3704
+ */
3705
+ setTitle(title: string): void;
3706
+
3707
+ /**
3708
+ * Closes the container or returns false if that is not possible
3709
+ */
3710
+ close(): boolean;
3711
+ }
3712
+
3454
3713
  declare type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
3455
3714
 
3456
3715
  /**
@@ -3521,6 +3780,218 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3521
3780
  disposition: string;
3522
3781
  };
3523
3782
 
3783
+ declare interface ContentItem extends EventEmitter_2 {
3784
+ instance: any;
3785
+ header: any;
3786
+ _splitter: any;
3787
+ /**
3788
+ * This items configuration in its current state
3789
+ */
3790
+ config: ItemConfigType;
3791
+
3792
+ /**
3793
+ * The type of the item. Can be row, column, stack, component or root
3794
+ */
3795
+ type: ItemType;
3796
+
3797
+ /**
3798
+ * An array of items that are children of this item
3799
+ */
3800
+ contentItems: ContentItem[];
3801
+
3802
+ container: Container;
3803
+ /**
3804
+ * The item that is this item's parent (or null if the item is root)
3805
+ */
3806
+ parent: ContentItem;
3807
+
3808
+ /**
3809
+ * A String or array of identifiers if provided in the configuration
3810
+ */
3811
+ id: string;
3812
+
3813
+ /**
3814
+ * True if the item had been initialised
3815
+ */
3816
+ isInitialised: boolean;
3817
+
3818
+ /**
3819
+ * True if the item is maximised
3820
+ */
3821
+ isMaximised: boolean;
3822
+
3823
+ /**
3824
+ * True if the item is the layout's root item
3825
+ */
3826
+ isRoot: boolean;
3827
+
3828
+ /**
3829
+ * True if the item is a row
3830
+ */
3831
+ isRow: boolean;
3832
+
3833
+ /**
3834
+ * True if the item is a column
3835
+ */
3836
+ isColumn: boolean;
3837
+
3838
+ /**
3839
+ * True if the item is a stack
3840
+ */
3841
+ isStack: boolean;
3842
+
3843
+ /**
3844
+ * True if the item is a component
3845
+ */
3846
+ isComponent: boolean;
3847
+
3848
+ /**
3849
+ * A reference to the layoutManager that controls this item
3850
+ */
3851
+ layoutManager: any;
3852
+
3853
+ /**
3854
+ * The item's outer element
3855
+ */
3856
+ element: JQuery;
3857
+
3858
+ /**
3859
+ * The item's inner element. Can be the same as the outer element.
3860
+ */
3861
+ childElementContainer: Container;
3862
+
3863
+ /**
3864
+ * Adds an item as a child to this item. If the item is already a part of a layout it will be removed
3865
+ * from its original position before adding it to this item.
3866
+ * @param itemOrItemConfig A content item (or tree of content items) or an ItemConfiguration to create the item from
3867
+ * @param index last index An optional index that determines at which position the new item should be added. Default: last index.
3868
+ */
3869
+ addChild(itemOrItemConfig: ContentItem | ItemConfigType, index?: number): void;
3870
+
3871
+ /**
3872
+ * Destroys the item and all it's children
3873
+ * @param contentItem The contentItem that should be removed
3874
+ * @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.
3875
+ */
3876
+ removeChild(contentItem: ContentItem, keepChild?: boolean): void;
3877
+
3878
+ /**
3879
+ * The contentItem that should be removed
3880
+ * @param oldChild ContentItem The contentItem that should be removed
3881
+ * @param newChild A content item (or tree of content items) or an ItemConfiguration to create the item from
3882
+ */
3883
+ replaceChild(oldChild: ContentItem, newChild: ContentItem | ItemConfigType): void;
3884
+
3885
+ /**
3886
+ * Updates the items size. To actually assign a new size from within a component, use container.setSize( width, height )
3887
+ */
3888
+ setSize(): void;
3889
+
3890
+ /**
3891
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3892
+ * @param title the new title
3893
+ */
3894
+ setTitle(title: string): void;
3895
+
3896
+ /**
3897
+ * A powerful, yet admittedly confusing method to recursively call methods on items in a tree. Usually you wouldn't need
3898
+ * to use it directly, but it's used internally to setSizes, destroy parts of the item tree etc.
3899
+ * @param functionName The name of the method to invoke
3900
+ * @param functionArguments An array of arguments to pass to every function
3901
+ * @param bottomUp If true, the method is invoked on the lowest parts of the tree first and then bubbles upwards. Default: false
3902
+ * @param skipSelf If true, the method will only be invoked on the item's children, but not on the item itself. Default: false
3903
+ */
3904
+ callDownwards(functionName: string, functionArguments?: any[], bottomUp?: boolean, skipSelf?: boolean): void;
3905
+
3906
+ /**
3907
+ * 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.
3908
+ */
3909
+ emitBubblingEvent(name: string): void;
3910
+
3911
+ /**
3912
+ * Convenience method for item.parent.removeChild( item )
3913
+ */
3914
+ remove(): void;
3915
+
3916
+ /**
3917
+ * Removes the item from its current position in the layout and opens it in a window
3918
+ */
3919
+ popout(): BrowserWindow;
3920
+
3921
+ /**
3922
+ * Maximises the item or minimises it if it's already maximised
3923
+ */
3924
+ toggleMaximise(): void;
3925
+
3926
+ /**
3927
+ * Selects the item. Only relevant if settings.selectionEnabled is set to true
3928
+ */
3929
+ select(): void;
3930
+
3931
+ /**
3932
+ * Unselects the item. Only relevant if settings.selectionEnabled is set to true
3933
+ */
3934
+ deselect(): void;
3935
+
3936
+ /**
3937
+ * Returns true if the item has the specified id or false if not
3938
+ * @param id An id to check for
3939
+ */
3940
+ hasId(id: string): boolean;
3941
+
3942
+ /**
3943
+ * Only Stacks have this method! It's the programmatical equivalent of clicking a tab.
3944
+ * @param contentItem The new active content item
3945
+ * @param preventFocus [OpenFin Custom] Indicates to openfin that the view should not be focused when activated.
3946
+ */
3947
+ // (CORE-198)[../docs/golden-layout-changelog.md#CORE-198 stack.setActiveView]
3948
+ setActiveContentItem(contentItem: ContentItem, preventFocus?: boolean): void;
3949
+
3950
+ /**
3951
+ * Only Stacks have this method! Returns the currently selected contentItem.
3952
+ */
3953
+ getActiveContentItem(): ContentItem;
3954
+
3955
+ /**
3956
+ * Adds an id to an item or does nothing if the id is already present
3957
+ * @param id The id to be added
3958
+ */
3959
+ addId(id: string): void;
3960
+
3961
+ /**
3962
+ * Removes an id from an item or throws an error if the id couldn't be found
3963
+ * @param id The id to be removed
3964
+ */
3965
+ removeId(id: string): void;
3966
+
3967
+ /**
3968
+ * Calls filterFunction recursively for every item in the tree. If the function returns true the item is added to the resulting array
3969
+ * @param filterFunction A function that determines whether an item matches certain criteria
3970
+ */
3971
+ getItemsByFilter(filterFunction: (contentItem: ContentItem) => boolean): ContentItem[];
3972
+
3973
+ /**
3974
+ * Returns all items with the specified id.
3975
+ * @param id An id specified in the itemConfig
3976
+ */
3977
+ getItemsById(id: string | string[]): ContentItem[];
3978
+
3979
+ /**
3980
+ * Returns all items with the specified type
3981
+ * @param type 'row', 'column', 'stack', 'component' or 'root'
3982
+ */
3983
+ getItemsByType(type: string): ContentItem[];
3984
+
3985
+ /**
3986
+ * Returns all instances of the component with the specified componentName
3987
+ * @param componentName a componentName as specified in the itemConfig
3988
+ */
3989
+ getComponentsByName(componentName: string): any;
3990
+
3991
+ _contentAreaDimensions: any;
3992
+ _$getArea: () => any;
3993
+ }
3994
+
3524
3995
  /**
3525
3996
  * Restrict navigation to URLs that match an allowed pattern.
3526
3997
  * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
@@ -3539,12 +4010,26 @@ declare type ContentNavigation = NavigationRules;
3539
4010
  */
3540
4011
  declare type ContentRedirect = NavigationRules;
3541
4012
 
4013
+ declare interface Context {
4014
+ id?: { [key: string]: string };
4015
+ name?: string;
4016
+ type: string;
4017
+ }
4018
+
4019
+ declare interface Context_2 {
4020
+ id?: { [key: string]: string };
4021
+ name?: string;
4022
+ type: string;
4023
+ contextMetadata?: ContextMetadata;
4024
+ metadata?: any;
4025
+ }
4026
+
3542
4027
  /**
3543
4028
  * Data passed between entities and applications.
3544
4029
  *
3545
4030
  * @interface
3546
4031
  */
3547
- declare type Context = {
4032
+ declare type Context_3 = {
3548
4033
  /**
3549
4034
  * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
3550
4035
  */
@@ -3564,7 +4049,7 @@ declare type Context = {
3564
4049
  /**
3565
4050
  * @interface
3566
4051
  */
3567
- declare type ContextForIntent<MetadataType = any> = Context & {
4052
+ declare type ContextForIntent<MetadataType = any> = Context_3 & {
3568
4053
  metadata?: MetadataType;
3569
4054
  };
3570
4055
 
@@ -3580,19 +4065,23 @@ declare type ContextGroupInfo = {
3580
4065
  /**
3581
4066
  * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
3582
4067
  */
3583
- displayMetadata?: DisplayMetadata;
4068
+ displayMetadata?: DisplayMetadata_3;
3584
4069
  };
3585
4070
 
3586
4071
  declare type ContextGroupStates = {
3587
4072
  [key: string]: {
3588
- [key: string]: Context;
4073
+ [key: string]: Context_3;
3589
4074
  };
3590
4075
  };
3591
4076
 
4077
+ declare type ContextHandler = (context: Context) => void;
4078
+
4079
+ declare type ContextHandler_2 = (context: Context_2, metadata?: ContextMetadata) => void;
4080
+
3592
4081
  /**
3593
4082
  * Subscription function for addContextHandler.
3594
4083
  */
3595
- declare type ContextHandler = (context: Context) => void;
4084
+ declare type ContextHandler_3 = (context: Context_3) => void;
3596
4085
 
3597
4086
  /**
3598
4087
  * Configure the context menu when right-clicking on a window.
@@ -3631,6 +4120,20 @@ declare type ContextMenuSettings = {
3631
4120
  reload?: boolean;
3632
4121
  };
3633
4122
 
4123
+ /**
4124
+ * Metadata relating to a context or intent and context received through the
4125
+ * `addContextListener` and `addIntentListener` functions.
4126
+ *
4127
+ * @experimental Introduced in FDC3 2.0 and may be refined by further changes outside the normal FDC3 versioning policy.
4128
+ */
4129
+ declare interface ContextMetadata {
4130
+ /** Identifier for the app instance that sent the context and/or intent.
4131
+ *
4132
+ * @experimental
4133
+ */
4134
+ readonly source: AppIdentifier;
4135
+ }
4136
+
3634
4137
  /**
3635
4138
  * @interface
3636
4139
  */
@@ -3793,6 +4296,45 @@ declare type DefaultDomainSettingsRule = {
3793
4296
  };
3794
4297
  };
3795
4298
 
4299
+ declare interface DesktopAgent {
4300
+ open(app: TargetApp, context?: Context): Promise<void>;
4301
+ findIntent(intent: string, context?: Context): Promise<AppIntent>;
4302
+ findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
4303
+ broadcast(context: Context): void;
4304
+ raiseIntent(intent: string, context: Context, app?: TargetApp): Promise<IntentResolution>;
4305
+ raiseIntentForContext(context: Context, app?: TargetApp): Promise<IntentResolution>;
4306
+ addIntentListener(intent: string, handler: ContextHandler): Listener;
4307
+ joinChannel(channelId: string): Promise<void>;
4308
+ leaveCurrentChannel(): Promise<void>;
4309
+ getInfo(): ImplementationMetadata;
4310
+ addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
4311
+ getOrCreateChannel(channelId: string): Promise<Channel_3>;
4312
+ getSystemChannels(): Promise<SystemChannel[]>;
4313
+ getCurrentChannel(): Promise<Channel_3 | null>;
4314
+ }
4315
+
4316
+ declare interface DesktopAgent_2 {
4317
+ open(app: AppIdentifier | TargetApp, context?: Context_2): Promise<AppIdentifier>;
4318
+ findIntent(intent: string, context?: Context_2, resultType?: string): Promise<AppIntent_2>;
4319
+ findIntentsByContext(context: Context_2, resultType?: string): Promise<Array<AppIntent_2>>;
4320
+ findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
4321
+ broadcast(context: Context_2): Promise<void>;
4322
+ raiseIntent(intent: string, context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4323
+ raiseIntentForContext(context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4324
+ addIntentListener(intent: string, handler: IntentHandler): Promise<Listener_2>;
4325
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
4326
+ getUserChannels(): Promise<Array<SystemChannel>>;
4327
+ joinUserChannel(channelId: string): Promise<void>;
4328
+ getOrCreateChannel(channelId: string): Promise<Channel_4>;
4329
+ createPrivateChannel(): Promise<PrivateChannel>;
4330
+ getCurrentChannel(): Promise<Channel_3 | null>;
4331
+ leaveCurrentChannel(): Promise<void>;
4332
+ getInfo(): Promise<ImplementationMetadata_2>;
4333
+ getAppMetadata(app: AppIdentifier): Promise<AppMetadata_2>;
4334
+ getSystemChannels(): Promise<Array<SystemChannel>>;
4335
+ joinChannel(channelId: string): Promise<void>;
4336
+ }
4337
+
3796
4338
  /**
3797
4339
  * Generated when the desktop icon is clicked while it's already running.
3798
4340
  * @interface
@@ -3833,6 +4375,46 @@ declare type DidFinishLoadEvent = NamedEvent & {
3833
4375
  type: 'did-finish-load';
3834
4376
  };
3835
4377
 
4378
+ declare interface Dimensions {
4379
+ /**
4380
+ * The width of the borders between the layout items in pixel. Please note: The actual draggable area is wider
4381
+ * than the visible one, making it safe to set this to small values without affecting usability.
4382
+ * Default: 5
4383
+ */
4384
+ borderWidth?: number;
4385
+
4386
+ /**
4387
+ * The minimum height an item can be resized to (in pixel).
4388
+ * Default: 10
4389
+ */
4390
+ minItemHeight?: number;
4391
+
4392
+ /**
4393
+ * The minimum width an item can be resized to (in pixel).
4394
+ * Default: 10
4395
+ */
4396
+ minItemWidth?: number;
4397
+
4398
+ /**
4399
+ * The height of the header elements in pixel. This can be changed, but your theme's header css needs to be
4400
+ * adjusted accordingly.
4401
+ * Default: 20
4402
+ */
4403
+ headerHeight?: number;
4404
+
4405
+ /**
4406
+ * The width of the element that appears when an item is dragged (in pixel).
4407
+ * Default: 300
4408
+ */
4409
+ dragProxyWidth?: number;
4410
+
4411
+ /**
4412
+ * The height of the element that appears when an item is dragged (in pixel).
4413
+ * Default: 200
4414
+ */
4415
+ dragProxyHeight?: number;
4416
+ }
4417
+
3836
4418
  /**
3837
4419
  * @interface
3838
4420
  */
@@ -3865,12 +4447,52 @@ declare type DisabledMovementBoundsChangingEvent = BoundsChangeEvent & {
3865
4447
  type: 'disabled-movement-bounds-changing';
3866
4448
  };
3867
4449
 
4450
+ /**
4451
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4452
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4453
+ * this is their meaning.
4454
+ */
4455
+ declare interface DisplayMetadata {
4456
+ /**
4457
+ * A user-readable name for this channel, e.g: `"Red"`
4458
+ */
4459
+ readonly name?: string;
4460
+ /**
4461
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4462
+ */
4463
+ readonly color?: string;
4464
+ /**
4465
+ * A URL of an image that can be used to display this channel
4466
+ */
4467
+ readonly glyph?: string;
4468
+ }
4469
+
4470
+ /**
4471
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4472
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4473
+ * this is their meaning.
4474
+ */
4475
+ declare interface DisplayMetadata_2 {
4476
+ /**
4477
+ * A user-readable name for this channel, e.g: `"Red"`
4478
+ */
4479
+ readonly name?: string;
4480
+ /**
4481
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4482
+ */
4483
+ readonly color?: string;
4484
+ /**
4485
+ * A URL of an image that can be used to display this channel
4486
+ */
4487
+ readonly glyph?: string;
4488
+ }
4489
+
3868
4490
  /**
3869
4491
  * The display data for a context group.
3870
4492
  *
3871
4493
  * @interface
3872
4494
  */
3873
- declare type DisplayMetadata = {
4495
+ declare type DisplayMetadata_3 = {
3874
4496
  /**
3875
4497
  * A user-readable name for this context group, e.g: `"Red"`
3876
4498
  */
@@ -3941,6 +4563,8 @@ declare type Dpi = {
3941
4563
  vertical?: number;
3942
4564
  };
3943
4565
 
4566
+ declare interface DragSource {}
4567
+
3944
4568
  /**
3945
4569
  * Generated when a window has been embedded.
3946
4570
  * @interface
@@ -4168,6 +4792,43 @@ declare class EventAggregator extends EmitterMap {
4168
4792
  dispatchEvent: (message: Message<any>) => boolean;
4169
4793
  }
4170
4794
 
4795
+ declare interface EventEmitter_2 {
4796
+ [x: string]: any;
4797
+ /**
4798
+ * Subscribe to an event
4799
+ * @param eventName The name of the event to describe to
4800
+ * @param callback The function that should be invoked when the event occurs
4801
+ * @param context The value of the this pointer in the callback function
4802
+ */
4803
+ on(eventName: string, callback: Function, context?: any): void;
4804
+
4805
+ /**
4806
+ * Notify listeners of an event and pass arguments along
4807
+ * @param eventName The name of the event to emit
4808
+ */
4809
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4810
+
4811
+ /**
4812
+ * Alias for emit
4813
+ */
4814
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4815
+
4816
+ /**
4817
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
4818
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
4819
+ * arguments.
4820
+ * @param eventName The name of the event to unsubscribe from
4821
+ * @param callback The function that should be invoked when the event occurs
4822
+ * @param context The value of the this pointer in the callback function
4823
+ */
4824
+ unbind(eventName: string, callback?: Function, context?: any): void;
4825
+
4826
+ /**
4827
+ * Alias for unbind
4828
+ */
4829
+ off(eventName: string, callback?: Function, context?: any): void;
4830
+ }
4831
+
4171
4832
  /**
4172
4833
  * Handler for an event on an EventEmitter.
4173
4834
  * @remarks Selects the correct type for the event
@@ -4490,6 +5151,13 @@ declare type FaviconUpdatedEvent = NamedEvent & {
4490
5151
  favicons: string[];
4491
5152
  };
4492
5153
 
5154
+ declare namespace FDC3 {
5155
+ export {
5156
+ v1,
5157
+ v2
5158
+ }
5159
+ }
5160
+
4493
5161
  /**
4494
5162
  * @interface
4495
5163
  */
@@ -4704,8 +5372,8 @@ declare type FindInPageResult = {
4704
5372
  /**
4705
5373
  * @interface
4706
5374
  */
4707
- declare type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
4708
- context: Context;
5375
+ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
5376
+ context: Context_3;
4709
5377
  metadata?: MetadataType;
4710
5378
  };
4711
5379
 
@@ -5115,27 +5783,265 @@ declare class GlobalHotkey extends EmitterBase<OpenFin.GlobalHotkeyEvent> {
5115
5783
  * });
5116
5784
  * ```
5117
5785
  */
5118
- isRegistered(hotkey: string): Promise<boolean>;
5119
- }
5786
+ isRegistered(hotkey: string): Promise<boolean>;
5787
+ }
5788
+
5789
+ /**
5790
+ * [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
5791
+ * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5792
+ * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
5793
+ */
5794
+ declare type GlobalHotkeyEvent = {
5795
+ topic: 'global-hotkey';
5796
+ hotkey: 'string';
5797
+ } & (RegisteredEvent | UnregisteredEvent);
5798
+
5799
+ declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5800
+
5801
+ declare namespace GlobalHotkeyEvents {
5802
+ export {
5803
+ RegisteredEvent,
5804
+ UnregisteredEvent,
5805
+ GlobalHotkeyEvent
5806
+ }
5807
+ }
5808
+
5809
+ declare namespace GoldenLayout {
5810
+ export {
5811
+ GoldenLayout_2 as GoldenLayout,
5812
+ ItemConfigType,
5813
+ Settings,
5814
+ Dimensions,
5815
+ Labels,
5816
+ ItemType,
5817
+ ItemConfig,
5818
+ ComponentConfig,
5819
+ ReactComponentConfig,
5820
+ Config,
5821
+ ContentItem,
5822
+ Container,
5823
+ DragSource,
5824
+ BrowserWindow,
5825
+ Header,
5826
+ Tab,
5827
+ EventEmitter_2 as EventEmitter
5828
+ }
5829
+ }
5830
+
5831
+ declare class GoldenLayout_2 implements EventEmitter_2 {
5832
+ /**
5833
+ * The topmost item in the layout item tree. In browser terms: Think of the GoldenLayout instance as window
5834
+ * object and of goldenLayout.root as the document.
5835
+ */
5836
+ root: ContentItem;
5837
+
5838
+ /**
5839
+ * A reference to the (jQuery) DOM element containing the layout
5840
+ */
5841
+ container: JQuery;
5842
+
5843
+ /**
5844
+ * True once the layout item tree has been created and the initialised event has been fired
5845
+ */
5846
+ isInitialised: boolean;
5847
+
5848
+ /**
5849
+ * A reference to the current, extended top level config.
5850
+ *
5851
+ * Don't rely on this object for state saving / serialisation. Use layout.toConfig() instead.
5852
+ */
5853
+ config: Config;
5854
+
5855
+ /**
5856
+ * The currently selected item or null if no item is selected. Only relevant if settings.selectionEnabled is set
5857
+ * to true.
5858
+ */
5859
+ selectedItem: ContentItem;
5860
+
5861
+ /**
5862
+ * The current outer width of the layout in pixels.
5863
+ */
5864
+ width: number;
5865
+
5866
+ /**
5867
+ * The current outer height of the layout in pixels.
5868
+ */
5869
+ height: number;
5870
+
5871
+ /**
5872
+ * An array of BrowserWindow instances
5873
+ */
5874
+ openPopouts: BrowserWindow[];
5875
+
5876
+ /**
5877
+ * True if the layout has been opened as a popout by another layout.
5878
+ */
5879
+ isSubWindow: boolean;
5880
+
5881
+ /**
5882
+ * A singleton instance of EventEmitter that works across windows
5883
+ */
5884
+ eventHub: EventEmitter_2;
5885
+
5886
+ _dragProxy: any;
5887
+
5888
+ dropTargetIndicator: any;
5889
+
5890
+ /**
5891
+ * @param config A GoldenLayout configuration object
5892
+ * @param container The DOM element the layout will be initialised in. Default: document.body
5893
+ */
5894
+ constructor(configuration: Config, container?: Element | HTMLElement | JQuery);
5895
+
5896
+ /*
5897
+ * @param name The name of the component, as referred to by componentName in the component configuration.
5898
+ * @param component A constructor or factory function. Will be invoked with new and two arguments, a
5899
+ * containerobject and a component state
5900
+ */
5901
+ registerComponent(name: String, component: any): void;
5902
+
5903
+ /**
5904
+ * Renders the layout into the container. If init() is called before the document is ready it attaches itself as
5905
+ * a listener to the document and executes once it becomes ready.
5906
+ */
5907
+ init(): void;
5908
+
5909
+ /**
5910
+ * Returns the current state of the layout and its components as a serialisable object.
5911
+ */
5912
+ toConfig(): Config;
5913
+
5914
+ /**
5915
+ * Returns a component that was previously registered with layout.registerComponent().
5916
+ * @param name The name of a previously registered component
5917
+ */
5918
+ getComponent(name: string): any;
5919
+
5920
+ /**
5921
+ * Resizes the layout. If no arguments are provided GoldenLayout measures its container and resizes accordingly.
5922
+ * @param width The outer width the layout should be resized to. Default: The container elements width
5923
+ * @param height The outer height the layout should be resized to. Default: The container elements height
5924
+ */
5925
+ updateSize(width?: number, height?: number): void;
5926
+
5927
+ /**
5928
+ * Destroys the layout. Recursively calls destroy on all components and content items, removes all event
5929
+ * listeners and finally removes itself from the DOM.
5930
+ */
5931
+ destroy(): void;
5932
+
5933
+ /**
5934
+ * Creates a new content item or tree of content items from configuration. Usually you wouldn't call this
5935
+ * directly, but instead use methods like layout.createDragSource(), item.addChild() or item.replaceChild() that
5936
+ * all call this method implicitly.
5937
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5938
+ * @param parent A parent item
5939
+ */
5940
+ createContentItem(
5941
+ itemConfiguration?: ItemConfigType,
5942
+ parent?: ContentItem
5943
+ ): ContentItem;
5944
+
5945
+ /**
5946
+ * Creates a new popout window with configOrContentItem as contents at the position specified in dimensions
5947
+ * @param configOrContentItem The content item or config that will be created in the new window. If a item is
5948
+ * provided its config will be read, if config is provided, only the content key
5949
+ * will be used
5950
+ * @param dimensions A map containing the keys left, top, width and height. Left and top can be negative to
5951
+ * place the window in another screen.
5952
+ * @param parentId The id of the item within the current layout the child window's content will be appended to
5953
+ * when popIn is clicked
5954
+ * @param indexInParent The index at which the child window's contents will be appended to. Default: null
5955
+ */
5956
+ createPopout(
5957
+ configOrContentItem: ItemConfigType | ContentItem,
5958
+ dimensions: {
5959
+ width: number;
5960
+ height: number;
5961
+ left: number;
5962
+ top: number;
5963
+ },
5964
+ parentId?: string,
5965
+ indexInParent?: number
5966
+ ): void;
5967
+
5968
+ /**
5969
+ * Turns a DOM element into a dragSource, meaning that the user can drag the element directly onto the layout
5970
+ * where it turns into a contentItem.
5971
+ * @param element The DOM element that will be turned into a dragSource
5972
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5973
+ * @return the dragSource that was created. This can be used to remove the
5974
+ * dragSource from the layout later.
5975
+ */
5976
+ createDragSource(
5977
+ element: HTMLElement | JQuery,
5978
+ itemConfiguration: ItemConfigType
5979
+ ): DragSource;
5980
+
5981
+ /**
5982
+ * Removes a dragSource from the layout.
5983
+ *
5984
+ * @param dragSource The dragSource to remove
5985
+ */
5986
+ removeDragSource(dragSource: DragSource): void;
5987
+
5988
+ /**
5989
+ * If settings.selectionEnabled is set to true, this allows to select items programmatically.
5990
+ * @param contentItem A ContentItem instance
5991
+ */
5992
+ selectItem(contentItem: ContentItem): void;
5993
+
5994
+ /**
5995
+ * Static method on the GoldenLayout constructor! This method will iterate through a GoldenLayout config object
5996
+ * and replace frequent keys and values with single letter substitutes.
5997
+ * @param config A GoldenLayout configuration object
5998
+ */
5999
+ static minifyConfig(config: any): any;
6000
+
6001
+ /**
6002
+ * Static method on the GoldenLayout constructor! This method will reverse the minifications of minifyConfig.
6003
+ * @param minifiedConfig A minified GoldenLayout configuration object
6004
+ */
6005
+ static unminifyConfig(minifiedConfig: any): any;
6006
+
6007
+ /**
6008
+ * Subscribe to an event
6009
+ * @param eventName The name of the event to describe to
6010
+ * @param callback The function that should be invoked when the event occurs
6011
+ * @param context The value of the this pointer in the callback function
6012
+ */
6013
+ on(eventName: string, callback: Function, context?: any): void;
5120
6014
 
5121
- /**
5122
- * [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
5123
- * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5124
- * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
5125
- */
5126
- declare type GlobalHotkeyEvent = {
5127
- topic: 'global-hotkey';
5128
- hotkey: 'string';
5129
- } & (RegisteredEvent | UnregisteredEvent);
6015
+ /**
6016
+ * Notify listeners of an event and pass arguments along
6017
+ * @param eventName The name of the event to emit
6018
+ */
6019
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
5130
6020
 
5131
- declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
6021
+ /**
6022
+ * Alias for emit
6023
+ */
6024
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
5132
6025
 
5133
- declare namespace GlobalHotkeyEvents {
5134
- export {
5135
- RegisteredEvent,
5136
- UnregisteredEvent,
5137
- GlobalHotkeyEvent
5138
- }
6026
+ /**
6027
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
6028
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
6029
+ * arguments.
6030
+ * @param eventName The name of the event to unsubscribe from
6031
+ * @param callback The function that should be invoked when the event occurs
6032
+ * @param context The value of the this pointer in the callback function
6033
+ */
6034
+ unbind(eventName: string, callback?: Function, context?: any): void;
6035
+
6036
+ /**
6037
+ * Alias for unbind
6038
+ */
6039
+ off(eventName: string, callback?: Function, context?: any): void;
6040
+
6041
+ /**
6042
+ * Internal method that create drop areas on the far edges of window, e.g. far-right of window
6043
+ */
6044
+ _$createRootItemAreas(): void;
5139
6045
  }
5140
6046
 
5141
6047
  /**
@@ -5145,6 +6051,62 @@ declare type GpuInfo = {
5145
6051
  name: string;
5146
6052
  };
5147
6053
 
6054
+ declare interface Header {
6055
+ /**
6056
+ * A reference to the LayoutManager instance
6057
+ */
6058
+ layoutManager: GoldenLayout_2;
6059
+
6060
+ /**
6061
+ * A reference to the Stack this Header belongs to
6062
+ */
6063
+ parent: ContentItem;
6064
+
6065
+ /**
6066
+ * An array of the Tabs within this header
6067
+ */
6068
+ tabs: Tab[];
6069
+
6070
+ /**
6071
+ * The currently selected activeContentItem
6072
+ */
6073
+ activeContentItem: ContentItem;
6074
+
6075
+ /**
6076
+ * The outer (jQuery) DOM element of this Header
6077
+ */
6078
+ element: JQuery;
6079
+
6080
+ /**
6081
+ * The (jQuery) DOM element containing the tabs
6082
+ */
6083
+ tabsContainer: JQuery;
6084
+
6085
+ /**
6086
+ * The (jQuery) DOM element containing the close, maximise and popout button
6087
+ */
6088
+ controlsContainer: JQuery;
6089
+
6090
+ /**
6091
+ * Hides the currently selected contentItem, shows the specified one and highlights its tab.
6092
+ * @param contentItem The content item that will be selected
6093
+ */
6094
+ setActiveContentItem(contentItem: ContentItem): void;
6095
+
6096
+ /**
6097
+ * Creates a new tab and associates it with a content item
6098
+ * @param contentItem The content item the tab will be associated with
6099
+ * @param index A zero based index, specifying the position of the new tab
6100
+ */
6101
+ createTab(contentItem: ContentItem, index?: number): void;
6102
+
6103
+ /**
6104
+ * Finds a tab by its contentItem and removes it
6105
+ * @param contentItem The content item the tab is associated with
6106
+ */
6107
+ removeTab(contentItem: ContentItem): void;
6108
+ }
6109
+
5148
6110
  /**
5149
6111
  * Generated when a View is hidden.
5150
6112
  * @interface
@@ -5230,6 +6192,15 @@ declare type HotkeyEvent = BaseViewEvent & {
5230
6192
  type: 'hotkey';
5231
6193
  };
5232
6194
 
6195
+ declare interface Icon {
6196
+ /** The icon url */
6197
+ readonly src: string;
6198
+ /** The icon dimension, formatted as `<height>x<width>`. */
6199
+ readonly size?: string;
6200
+ /** Icon media type. If not present the Desktop Agent may use the src file extension. */
6201
+ readonly type?: string;
6202
+ }
6203
+
5233
6204
  declare type Identity = OpenFin.Identity;
5234
6205
 
5235
6206
  declare type Identity_2 = OpenFin.Identity;
@@ -5285,6 +6256,17 @@ declare type IdleEvent = {
5285
6256
  isIdle: boolean;
5286
6257
  };
5287
6258
 
6259
+ declare interface Image_2 {
6260
+ /** The image url. */
6261
+ readonly src: string;
6262
+ /** The image dimension, formatted as `<height>x<width>`. */
6263
+ readonly size?: string;
6264
+ /** Image media type. If not present the Desktop Agent may use the src file extension. */
6265
+ readonly type?: string;
6266
+ /** Caption for the image. */
6267
+ readonly label?: string;
6268
+ }
6269
+
5288
6270
  declare type ImageFormatOptions = {
5289
6271
  format: 'dataURL' | 'png' | 'bmp';
5290
6272
  } | {
@@ -5295,15 +6277,57 @@ declare type ImageFormatOptions = {
5295
6277
  quality?: number;
5296
6278
  };
5297
6279
 
6280
+ /**
6281
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6282
+ */
6283
+ declare interface ImplementationMetadata {
6284
+ /** The version number of the FDC3 specification that the implementation provides.
6285
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6286
+ */
6287
+ readonly fdc3Version: string;
6288
+ /** The name of the provider of the FDC3 Desktop Agent Implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6289
+ readonly provider: string;
6290
+ /** The version of the provider of the FDC3 Desktop Agent Implementation (e.g. 5.3.0). */
6291
+ readonly providerVersion?: string;
6292
+ }
6293
+
6294
+ /**
6295
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6296
+ */
6297
+ declare interface ImplementationMetadata_2 {
6298
+ /** The version number of the FDC3 specification that the implementation provides.
6299
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6300
+ */
6301
+ readonly fdc3Version: string;
6302
+ /** The name of the provider of the Desktop Agent implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6303
+ readonly provider: string;
6304
+ /** The version of the provider of the Desktop Agent implementation (e.g. 5.3.0). */
6305
+ readonly providerVersion?: string;
6306
+ /** Metadata indicating whether the Desktop Agent implements optional features of
6307
+ * the Desktop Agent API.
6308
+ */
6309
+ readonly optionalFeatures: {
6310
+ /** Used to indicate whether the exposure of 'originating app metadata' for
6311
+ * context and intent messages is supported by the Desktop Agent. */
6312
+ readonly OriginatingAppMetadata: boolean;
6313
+ /** Used to indicate whether the optional `fdc3.joinUserChannel`,
6314
+ * `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by
6315
+ * the Desktop Agent. */
6316
+ readonly UserChannelMembershipAPIs: boolean;
6317
+ };
6318
+ /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */
6319
+ readonly appMetadata: AppMetadata_2;
6320
+ }
6321
+
5298
6322
  /**
5299
6323
  * @interface
5300
6324
  */
5301
- declare type InfoForIntentOptions<MetadataType = IntentMetadata> = {
6325
+ declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
5302
6326
  /**
5303
6327
  * Name of the intent to get info for.
5304
6328
  */
5305
6329
  name: string;
5306
- context?: Context;
6330
+ context?: Context_3;
5307
6331
  metadata?: MetadataType;
5308
6332
  };
5309
6333
 
@@ -5376,10 +6400,16 @@ declare type InstalledApps_2 = {
5376
6400
  [key: string]: InstallationInfo;
5377
6401
  };
5378
6402
 
6403
+ declare interface Intent {
6404
+ name: string;
6405
+ context: Context_2;
6406
+ metadata: IntentMetadata_2;
6407
+ }
6408
+
5379
6409
  /**
5380
6410
  * Combination of an action and a context that is passed to an application for resolution.
5381
6411
  */
5382
- declare type Intent<MetadataType = IntentMetadata> = {
6412
+ declare type Intent_2<MetadataType = IntentMetadata_3> = {
5383
6413
  /**
5384
6414
  * Name of the intent.
5385
6415
  */
@@ -5387,25 +6417,54 @@ declare type Intent<MetadataType = IntentMetadata> = {
5387
6417
  /**
5388
6418
  * Data associated with the intent.
5389
6419
  */
5390
- context: Context;
6420
+ context: Context_3;
5391
6421
  metadata?: MetadataType;
5392
6422
  };
5393
6423
 
6424
+ declare type IntentHandler = (context: Context_2, metadata?: ContextMetadata) => Promise<IntentResult> | void;
6425
+
5394
6426
  /**
5395
6427
  * Subscription function for registerIntentHandler.
5396
6428
  */
5397
- declare type IntentHandler = (intent: Intent) => void;
6429
+ declare type IntentHandler_2 = (intent: Intent_2) => void;
5398
6430
 
5399
6431
  /**
5400
- * The type used to describe an intent within the platform.
5401
- * @interface
6432
+ * Intent descriptor
5402
6433
  */
5403
- declare type IntentMetadata<TargetType = any> = {
6434
+ declare interface IntentMetadata {
6435
+ /** The unique name of the intent that can be invoked by the raiseIntent call */
6436
+ readonly name: string;
6437
+ /** A friendly display name for the intent that should be used to render UI elements */
6438
+ readonly displayName: string;
6439
+ }
6440
+
6441
+ declare type IntentMetadata_2<TargetType = any> = {
5404
6442
  target?: TargetType;
5405
6443
  resultType?: string;
5406
6444
  intentResolutionResultId?: string;
5407
6445
  };
5408
6446
 
6447
+ /**
6448
+ * The type used to describe an intent within the platform.
6449
+ * @interface
6450
+ */
6451
+ declare type IntentMetadata_3<TargetType = any> = FDC3.v2.IntentMetadata<TargetType>;
6452
+
6453
+ declare interface IntentResolution {
6454
+ source: TargetApp;
6455
+ data?: object;
6456
+ version: string;
6457
+ }
6458
+
6459
+ declare interface IntentResolution_2 {
6460
+ source: AppIdentifier;
6461
+ intent: string;
6462
+ version?: string;
6463
+ getResult(): Promise<IntentResult>;
6464
+ }
6465
+
6466
+ declare type IntentResult = Context_2 | Channel_4 | PrivateChannel;
6467
+
5409
6468
  /**
5410
6469
  * A messaging bus that allows for pub/sub messaging between different applications.
5411
6470
  *
@@ -6010,23 +7069,23 @@ declare class InteropBroker extends Base {
6010
7069
  * @param clientIdentity Identity of the Client making the request.
6011
7070
  */
6012
7071
  fdc3HandleOpen({ app, context }: {
6013
- app: TargetApp | AppIdentifier;
7072
+ app: FDC3.v1.TargetApp | FDC3.v2.AppIdentifier;
6014
7073
  context: OpenFin.Context;
6015
- }, clientIdentity: OpenFin.ClientIdentity): Promise<void | AppIdentifier>;
7074
+ }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2.AppIdentifier>;
6016
7075
  /**
6017
7076
  * Responsible for resolving the fdc3.findInstances call.
6018
7077
  * Must be overridden
6019
7078
  * @param app AppIdentifier that was passed to fdc3.findInstances
6020
7079
  * @param clientIdentity Identity of the Client making the request.
6021
7080
  */
6022
- fdc3HandleFindInstances(app: AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7081
+ fdc3HandleFindInstances(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
6023
7082
  /**
6024
7083
  * Responsible for resolving the fdc3.getAppMetadata call.
6025
7084
  * Must be overridden
6026
7085
  * @param app AppIdentifier that was passed to fdc3.getAppMetadata
6027
7086
  * @param clientIdentity Identity of the Client making the request.
6028
7087
  */
6029
- fdc3HandleGetAppMetadata(app: AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7088
+ fdc3HandleGetAppMetadata(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
6030
7089
  /**
6031
7090
  * This function is called by the Interop Broker whenever a Context handler would fire.
6032
7091
  * For FDC3 2.0 you would need to override this function and add the contextMetadata as
@@ -6796,6 +7855,50 @@ declare class InteropModule extends Base {
6796
7855
  connectSync(name: string, interopConfig?: OpenFin.InteropConfig): InteropClient;
6797
7856
  }
6798
7857
 
7858
+ declare interface ItemConfig {
7859
+ /**
7860
+ * The type of the item. Possible values are 'row', 'column', 'stack', 'component' and 'react-component'.
7861
+ */
7862
+ type: ItemType;
7863
+
7864
+ /**
7865
+ * An array of configurations for items that will be created as children of this item.
7866
+ */
7867
+ content?: ItemConfigType[];
7868
+
7869
+ /**
7870
+ * The width of this item, relative to the other children of its parent in percent
7871
+ */
7872
+ width?: number;
7873
+
7874
+ /**
7875
+ * The height of this item, relative to the other children of its parent in percent
7876
+ */
7877
+ height?: number;
7878
+
7879
+ /**
7880
+ * A String or an Array of Strings. Used to retrieve the item using item.getItemsById()
7881
+ */
7882
+ id?: string | string[];
7883
+
7884
+ /**
7885
+ * Determines if the item is closable. If false, the x on the items tab will be hidden and container.close()
7886
+ * will return false
7887
+ * Default: true
7888
+ */
7889
+ isClosable?: boolean;
7890
+
7891
+ /**
7892
+ * The title of the item as displayed on its tab and on popout windows
7893
+ * Default: componentName or ''
7894
+ */
7895
+ title?: string;
7896
+ }
7897
+
7898
+ declare type ItemConfigType = ItemConfig | ComponentConfig | ReactComponentConfig;
7899
+
7900
+ declare type ItemType = 'row' | 'column' | 'stack' | 'root' | 'component';
7901
+
6799
7902
  /**
6800
7903
  * @interface
6801
7904
  */
@@ -6853,6 +7956,32 @@ declare type JumpListTask = {
6853
7956
  iconIndex?: number;
6854
7957
  };
6855
7958
 
7959
+ declare interface Labels {
7960
+ /**
7961
+ * The tooltip text that appears when hovering over the close icon.
7962
+ * Default: 'close'
7963
+ */
7964
+ close?: string;
7965
+
7966
+ /**
7967
+ * The tooltip text that appears when hovering over the maximise icon.
7968
+ * Default: 'maximise'
7969
+ */
7970
+ maximise?: string;
7971
+
7972
+ /**
7973
+ * The tooltip text that appears when hovering over the minimise icon.
7974
+ * Default: 'minimise'
7975
+ */
7976
+ minimise?: string;
7977
+
7978
+ /**
7979
+ * The tooltip text that appears when hovering over the popout icon.
7980
+ * Default: 'open in new window'
7981
+ */
7982
+ popout?: string;
7983
+ }
7984
+
6856
7985
  export declare function launch(config: ConnectConfig): Promise<number>;
6857
7986
 
6858
7987
  /**
@@ -7094,6 +8223,16 @@ declare class Layout extends Base {
7094
8223
  * ```
7095
8224
  */
7096
8225
  getConfig(): Promise<any>;
8226
+ /**
8227
+ * Retrieves the attached views in current window layout.
8228
+ *
8229
+ * @example
8230
+ * ```js
8231
+ * const layout = fin.Platform.Layout.getCurrentSync();
8232
+ * const views = await layout.getCurrentViews();
8233
+ * ```
8234
+ */
8235
+ getCurrentViews(): Promise<OpenFin.View[]>;
7097
8236
  /**
7098
8237
  * Replaces a Platform window's layout with a new layout.
7099
8238
  *
@@ -7482,6 +8621,7 @@ declare class LayoutManager {
7482
8621
  private setBackgroundImage;
7483
8622
  private setBackgroundImages;
7484
8623
  private getFrameSnapshot;
8624
+ private getCurrentViews;
7485
8625
  private addView;
7486
8626
  private replaceView;
7487
8627
  private removeView;
@@ -7900,7 +9040,21 @@ declare type LayoutRow = LayoutItemConfig & {
7900
9040
  */
7901
9041
  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'>;
7902
9042
 
7903
- declare type Listener<T extends {
9043
+ declare interface Listener {
9044
+ /**
9045
+ * Unsubscribe the listener object.
9046
+ */
9047
+ unsubscribe(): void;
9048
+ }
9049
+
9050
+ declare interface Listener_2 {
9051
+ /**
9052
+ * Unsubscribe the listener object.
9053
+ */
9054
+ unsubscribe(): void;
9055
+ }
9056
+
9057
+ declare type Listener_3<T extends {
7904
9058
  type: string;
7905
9059
  }> = (payload: T) => void;
7906
9060
 
@@ -8651,6 +9805,10 @@ declare type Opacity = TransitionBase & {
8651
9805
  opacity: number;
8652
9806
  };
8653
9807
 
9808
+ declare type OpenExternalPermission = VerboseWebPermission & {
9809
+ protocols: string[];
9810
+ };
9811
+
8654
9812
  declare namespace OpenFin {
8655
9813
  export {
8656
9814
  FinApi,
@@ -8701,11 +9859,11 @@ declare namespace OpenFin {
8701
9859
  ApplicationOptions,
8702
9860
  InteropBrokerOptions,
8703
9861
  ContextGroupInfo,
8704
- DisplayMetadata,
9862
+ DisplayMetadata_3 as DisplayMetadata,
8705
9863
  LegacyWinOptionsInAppOptions,
8706
9864
  Snapshot,
8707
9865
  ContextGroupStates,
8708
- Context,
9866
+ Context_3 as Context,
8709
9867
  MonitorInfo,
8710
9868
  Point,
8711
9869
  PointTopLeft,
@@ -8770,6 +9928,8 @@ declare namespace OpenFin {
8770
9928
  LaunchExternalProcessRule,
8771
9929
  SystemPermissions,
8772
9930
  WebPermission,
9931
+ VerboseWebPermission,
9932
+ OpenExternalPermission,
8773
9933
  Permissions_2 as Permissions,
8774
9934
  PlatformWindowCreationOptions,
8775
9935
  PlatformWindowOptions,
@@ -8874,10 +10034,10 @@ declare namespace OpenFin {
8874
10034
  FileDownloadBehaviorNames,
8875
10035
  FileDownloadSettings,
8876
10036
  DownloadRule,
8877
- ContextHandler,
8878
- Intent,
8879
- IntentMetadata,
8880
- IntentHandler,
10037
+ ContextHandler_3 as ContextHandler,
10038
+ Intent_2 as Intent,
10039
+ IntentMetadata_3 as IntentMetadata,
10040
+ IntentHandler_2 as IntentHandler,
8881
10041
  ContentCreationBehaviorNames,
8882
10042
  MatchPattern,
8883
10043
  ContentCreationRule,
@@ -9036,7 +10196,7 @@ declare class Platform extends EmitterBase<OpenFin.PlatformEvent> {
9036
10196
  /**
9037
10197
  * @internal
9038
10198
  */
9039
- constructor(identity: OpenFin.ApplicationIdentity, channel: Channel_3);
10199
+ constructor(identity: OpenFin.ApplicationIdentity, channel: Channel_5);
9040
10200
  getClient: (identity?: OpenFin.ApplicationIdentity) => Promise<ChannelClient_2>;
9041
10201
  /**
9042
10202
  * Creates a new view and attaches it to a specified target window.
@@ -10793,6 +11953,14 @@ declare type PrintOptions = {
10793
11953
  dpi?: Dpi;
10794
11954
  };
10795
11955
 
11956
+ declare type PrivateChannel = Omit<Channel_4, 'addContextListener'> & {
11957
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
11958
+ onAddContextListener(handler: (contextType?: string) => void): Listener_2;
11959
+ onUnsubscribe(handler: (contextType?: string) => void): Listener_2;
11960
+ onDisconnect(handler: () => void): Listener_2;
11961
+ disconnect(): void;
11962
+ };
11963
+
10796
11964
  /**
10797
11965
  * Strategy to assign views to process affinity by domain.
10798
11966
  *
@@ -11245,6 +12413,18 @@ declare type QueryPermissionResult = {
11245
12413
  rawValue?: unknown;
11246
12414
  };
11247
12415
 
12416
+ declare interface ReactComponentConfig extends ItemConfig {
12417
+ /**
12418
+ * The name of the component as specified in layout.registerComponent. Mandatory if type is 'react-component'
12419
+ */
12420
+ component: string;
12421
+
12422
+ /**
12423
+ * Properties that will be passed to the component and accessible using this.props.
12424
+ */
12425
+ props?: any;
12426
+ }
12427
+
11248
12428
  /**
11249
12429
  * @interface
11250
12430
  */
@@ -11705,23 +12885,114 @@ declare type SessionContextGroup = {
11705
12885
  * A SessionContextGroup instance method for setting a context in the SessionContextGroup.
11706
12886
  * @param context The Context to be set.
11707
12887
  */
11708
- setContext: (context: Context) => Promise<void>;
12888
+ setContext: (context: Context_3) => Promise<void>;
11709
12889
  /**
11710
12890
  * A SessionContextGroup instance method for getting the current context of a certain type.
11711
12891
  * @param type The Context Type to get. If not specified the last contextType set would get used.
11712
12892
  */
11713
- getCurrentContext: (type?: string) => Promise<Context>;
12893
+ getCurrentContext: (type?: string) => Promise<Context_3>;
11714
12894
  /**
11715
12895
  * A SessionContextGroup instance method for adding a handler for context change.
11716
12896
  * @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.
11717
12897
  * @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.
11718
12898
  *
11719
12899
  */
11720
- addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
12900
+ addContextHandler: (handler: ContextHandler_3, contextType?: string) => Promise<{
11721
12901
  unsubscribe: () => void;
11722
12902
  }>;
11723
12903
  };
11724
12904
 
12905
+ declare interface Settings {
12906
+ preventSplitterResize?: boolean;
12907
+
12908
+ newTabButton?: {
12909
+ url?: string;
12910
+ };
12911
+
12912
+ /**
12913
+ * If true, tabs can't be dragged into the window.
12914
+ * Default: false
12915
+ */
12916
+ preventDragIn?: boolean;
12917
+
12918
+ /**
12919
+ * If true, tabs can't be dragged out of the window.
12920
+ * Default: false
12921
+ */
12922
+ preventDragOut?: boolean;
12923
+
12924
+ /**
12925
+ * If true, stack headers are the only areas where tabs can be dropped.
12926
+ * Default: false
12927
+ */
12928
+ constrainDragToHeaders?: boolean;
12929
+ /**
12930
+ * Turns headers on or off. If false, the layout will be displayed with splitters only.
12931
+ * Default: true
12932
+ */
12933
+ hasHeaders?: boolean;
12934
+
12935
+ /**
12936
+ * (Unused in Openfin Platform) Constrains the area in which items can be dragged to the layout's container. Will be set to false
12937
+ * automatically when layout.createDragSource() is called.
12938
+ * Default: true
12939
+ */
12940
+ constrainDragToContainer?: boolean;
12941
+
12942
+ /**
12943
+ * If true, the user can re-arrange the layout by dragging items by their tabs to the desired location.
12944
+ * Default: true
12945
+ */
12946
+ reorderEnabled?: boolean;
12947
+
12948
+ /**
12949
+ * If true, the user can select items by clicking on their header. This sets the value of layout.selectedItem to
12950
+ * the clicked item, highlights its header and the layout emits a 'selectionChanged' event.
12951
+ * Default: false
12952
+ */
12953
+ selectionEnabled?: boolean;
12954
+
12955
+ /**
12956
+ * Decides what will be opened in a new window if the user clicks the popout icon. If true the entire stack will
12957
+ * be transferred to the new window, if false only the active component will be opened.
12958
+ * Default: false
12959
+ */
12960
+ popoutWholeStack?: boolean;
12961
+
12962
+ /**
12963
+ * Specifies if an error is thrown when a popout is blocked by the browser (e.g. by opening it programmatically).
12964
+ * If false, the popout call will fail silently.
12965
+ * Default: true
12966
+ */
12967
+ blockedPopoutsThrowError?: boolean;
12968
+
12969
+ /**
12970
+ * Specifies if all popouts should be closed when the page that created them is closed. Popouts don't have a
12971
+ * strong dependency on their parent and can exist on their own, but can be quite annoying to close by hand. In
12972
+ * addition, any changes made to popouts won't be stored after the parent is closed.
12973
+ * Default: true
12974
+ */
12975
+ closePopoutsOnUnload?: boolean;
12976
+
12977
+ /**
12978
+ * Specifies if the popout icon should be displayed in the header-bar.
12979
+ * Default: true
12980
+ */
12981
+ showPopoutIcon?: boolean;
12982
+
12983
+ /**
12984
+ * Specifies if the maximise icon should be displayed in the header-bar.
12985
+ * Default: true
12986
+ */
12987
+ showMaximiseIcon?: boolean;
12988
+
12989
+ /**
12990
+ * Specifies if the close icon should be displayed in the header-bar.
12991
+ * Default: true
12992
+ */
12993
+ showCloseIcon?: boolean;
12994
+ }
12995
+
11725
12996
  /**
11726
12997
  * @interface
11727
12998
  */
@@ -13470,6 +14741,12 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
13470
14741
  setDomainSettings(domainSettings: OpenFin.DefaultDomainSettings): Promise<void>;
13471
14742
  }
13472
14743
 
14744
+ declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast' | 'getCurrentContext'> & {
14745
+ addContextListener(): Error;
14746
+ broadcast(): Error;
14747
+ getCurrentContext(): Error;
14748
+ };
14749
+
13473
14750
  /**
13474
14751
  * [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
13475
14752
  * discriminated by {@link SystemEvent.type | their type}. Event payloads unique to `System` can be found
@@ -13561,6 +14838,52 @@ declare type SystemShutdownHandler = (shutdownEvent: {
13561
14838
  proceed: () => void;
13562
14839
  }) => void;
13563
14840
 
14841
+ declare interface Tab {
14842
+ _dragListener: EventEmitter_2;
14843
+
14844
+ /**
14845
+ * True if this tab is the selected tab
14846
+ */
14847
+ isActive: boolean;
14848
+
14849
+ /**
14850
+ * A reference to the header this tab is a child of
14851
+ */
14852
+ header: Header;
14853
+
14854
+ /**
14855
+ * A reference to the content item this tab relates to
14856
+ */
14857
+ contentItem: ContentItem;
14858
+
14859
+ /**
14860
+ * The tabs outer (jQuery) DOM element
14861
+ */
14862
+ element: JQuery;
14863
+
14864
+ /**
14865
+ * The (jQuery) DOM element containing the title
14866
+ */
14867
+ titleElement: JQuery;
14868
+
14869
+ /**
14870
+ * The (jQuery) DOM element that closes the tab
14871
+ */
14872
+ closeElement: JQuery;
14873
+
14874
+ /**
14875
+ * Sets the tab's title. Does not affect the contentItem's title!
14876
+ * @param title The new title
14877
+ */
14878
+ setTitle(title: string): void;
14879
+
14880
+ /**
14881
+ * Sets this tab's active state. To programmatically switch tabs, use header.setActiveContentItem( item ) instead.
14882
+ * @param isActive Whether the tab is active
14883
+ */
14884
+ setActive(isActive: boolean): void;
14885
+ }
14886
+
13564
14887
  /**
13565
14888
  * Set of apis used to facilitate tab drag interactions without needing to hide views.
13566
14889
  * @ignore
@@ -13999,13 +15322,13 @@ declare type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-i
13999
15322
  declare interface TypedEventEmitter<Event extends {
14000
15323
  type: string;
14001
15324
  }, EmitterEventType = Event['type']> {
14002
- on<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15325
+ on<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
14003
15326
  type: EventType;
14004
15327
  }>>): this;
14005
- addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15328
+ addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
14006
15329
  type: EventType;
14007
15330
  }>>): this;
14008
- removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15331
+ removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
14009
15332
  type: EventType;
14010
15333
  }>>): this;
14011
15334
  removeAllListeners<EventType extends EmitterEventType>(event?: EmitterEventType): this;
@@ -14076,6 +15399,53 @@ declare type UserMovementEnabledEvent = NamedEvent & {
14076
15399
  type: 'user-movement-enabled';
14077
15400
  };
14078
15401
 
15402
+ declare namespace v1 {
15403
+ export {
15404
+ Listener,
15405
+ AppMetadata,
15406
+ IntentMetadata,
15407
+ AppIntent,
15408
+ DisplayMetadata,
15409
+ ImplementationMetadata,
15410
+ ContextHandler,
15411
+ TargetApp,
15412
+ Context,
15413
+ IntentResolution,
15414
+ Channel_3 as Channel,
15415
+ SystemChannel,
15416
+ DesktopAgent
15417
+ }
15418
+ }
15419
+
15420
+ declare namespace v2 {
15421
+ export {
15422
+ IntentMetadata_2 as IntentMetadata,
15423
+ AppIdentifier,
15424
+ Listener_2 as Listener,
15425
+ AppIntent_2 as AppIntent,
15426
+ ImplementationMetadata_2 as ImplementationMetadata,
15427
+ ContextMetadata,
15428
+ Icon,
15429
+ Image_2 as Image,
15430
+ AppMetadata_2 as AppMetadata,
15431
+ DisplayMetadata_2 as DisplayMetadata,
15432
+ ContextHandler_2 as ContextHandler,
15433
+ IntentHandler,
15434
+ IntentResult,
15435
+ Context_2 as Context,
15436
+ Intent,
15437
+ IntentResolution_2 as IntentResolution,
15438
+ Channel_4 as Channel,
15439
+ PrivateChannel,
15440
+ DesktopAgent_2 as DesktopAgent
15441
+ }
15442
+ }
15443
+
15444
+ declare type VerboseWebPermission = {
15445
+ api: string;
15446
+ enabled: boolean;
15447
+ };
15448
+
14079
15449
  declare type View = OpenFin.View;
14080
15450
 
14081
15451
  /**
@@ -15959,7 +17329,7 @@ declare namespace WebContentsEvents {
15959
17329
  * `clipboard-read`: Request access to read from the clipboard.<br>
15960
17330
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
15961
17331
  */
15962
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
17332
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
15963
17333
 
15964
17334
  /**
15965
17335
  * Object representing headers and their values, where the