@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}.
@@ -1347,6 +1370,60 @@ declare type ApplySnapshotPayload = {
1347
1370
  options?: ApplySnapshotOptions;
1348
1371
  };
1349
1372
 
1373
+ /**
1374
+ * App definition as provided by the application directory
1375
+ */
1376
+ declare interface AppMetadata {
1377
+ /** The unique app name that can be used with the open and raiseIntent calls. */
1378
+ readonly name: string;
1379
+ /** The unique application identifier located within a specific application directory instance. An example of an appId might be 'app@sub.root' */
1380
+ readonly appId?: string;
1381
+ /** The Version of the application. */
1382
+ readonly version?: string;
1383
+ /** A more user-friendly application title that can be used to render UI elements */
1384
+ readonly title?: string;
1385
+ /** A tooltip for the application that can be used to render UI elements */
1386
+ readonly tooltip?: string;
1387
+ /** A longer, multi-paragraph description for the application that could include markup */
1388
+ readonly description?: string;
1389
+ /** A list of icon URLs for the application that can be used to render UI elements */
1390
+ readonly icons?: Array<string>;
1391
+ /** A list of image URLs for the application that can be used to render UI elements */
1392
+ readonly images?: Array<string>;
1393
+ }
1394
+
1395
+ /**
1396
+ * 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.
1397
+ *
1398
+ * 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.
1399
+ *
1400
+ * Note that as `AppMetadata` instances are also `AppIdentifiers` they may be passed to the `app` argument of `fdc3.open`, `fdc3.raiseIntent` etc.
1401
+ */
1402
+ declare interface AppMetadata_2 extends AppIdentifier {
1403
+ /**
1404
+ The 'friendly' app name.
1405
+ This field was used with the `open` and `raiseIntent` calls in FDC3 <2.0, which now require an `AppIdentifier` wth `appId` set.
1406
+ Note that for display purposes the `title` field should be used, if set, in preference to this field.
1407
+ */
1408
+ readonly name?: string;
1409
+ /** The Version of the application. */
1410
+ readonly version?: string;
1411
+ /** 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. */
1412
+ readonly instanceMetadata?: Record<string, any>;
1413
+ /** A more user-friendly application title that can be used to render UI elements */
1414
+ readonly title?: string;
1415
+ /** A tooltip for the application that can be used to render UI elements */
1416
+ readonly tooltip?: string;
1417
+ /** A longer, multi-paragraph description for the application that could include markup */
1418
+ readonly description?: string;
1419
+ /** A list of icon URLs for the application that can be used to render UI elements */
1420
+ readonly icons?: Array<Icon>;
1421
+ /** Images representing the app in common usage scenarios that can be used to render UI elements */
1422
+ readonly screenshots?: Array<Image_2>;
1423
+ /** 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>"). */
1424
+ readonly resultType?: string | null;
1425
+ }
1426
+
1350
1427
  /**
1351
1428
  * @interface
1352
1429
  */
@@ -1743,6 +1820,48 @@ declare type BoundsChangingEvent = BoundsChangeEvent & {
1743
1820
  type: 'bounds-changing';
1744
1821
  };
1745
1822
 
1823
+ declare interface BrowserWindow {
1824
+ /**
1825
+ * True if the window has been opened and its GoldenLayout instance initialised.
1826
+ */
1827
+ isInitialised: boolean;
1828
+
1829
+ /**
1830
+ * Creates a window configuration object from the Popout.
1831
+ */
1832
+ toConfig(): {
1833
+ dimensions: {
1834
+ width: number;
1835
+ height: number;
1836
+ left: number;
1837
+ top: number;
1838
+ };
1839
+ content: Config;
1840
+ parentId: string;
1841
+ indexInParent: number;
1842
+ };
1843
+
1844
+ /**
1845
+ * Returns the GoldenLayout instance from the child window
1846
+ */
1847
+ getGlInstance(): GoldenLayout_2;
1848
+
1849
+ /**
1850
+ * Returns the native Window object
1851
+ */
1852
+ getWindow(): Window;
1853
+
1854
+ /**
1855
+ * Closes the popout
1856
+ */
1857
+ close(): void;
1858
+
1859
+ /**
1860
+ * Returns the popout to its original position as specified in parentId and indexInParent
1861
+ */
1862
+ popIn(): void;
1863
+ }
1864
+
1746
1865
  /**
1747
1866
  * Configuration for page capture.
1748
1867
  *
@@ -2008,7 +2127,25 @@ declare class Channel extends EmitterBase<ChannelEvent> {
2008
2127
 
2009
2128
  declare type Channel_2 = OpenFin.Fin['InterApplicationBus']['Channel'];
2010
2129
 
2011
- declare type Channel_3 = OpenFin.Fin['InterApplicationBus']['Channel'];
2130
+ declare interface Channel_3 {
2131
+ id: string;
2132
+ type: string;
2133
+ displayMetadata?: DisplayMetadata;
2134
+ broadcast(context: Context): void;
2135
+ getCurrentContext(contextType?: string): Promise<Context | null>;
2136
+ addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
2137
+ }
2138
+
2139
+ declare interface Channel_4 {
2140
+ readonly id: string;
2141
+ readonly type: 'user' | 'app' | 'private';
2142
+ readonly displayMetadata?: DisplayMetadata_2;
2143
+ broadcast(context: Context_2): Promise<void>;
2144
+ getCurrentContext(contextType?: string): Promise<Context_2 | null>;
2145
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Listener_2 & Promise<Listener_2>;
2146
+ }
2147
+
2148
+ declare type Channel_5 = OpenFin.Fin['InterApplicationBus']['Channel'];
2012
2149
 
2013
2150
  declare type ChannelAction = OpenFin.ChannelAction;
2014
2151
 
@@ -3063,6 +3200,31 @@ declare class CombinedStrategy<A, B> implements ChannelStrategy<OnlyIfCompatible
3063
3200
  close(): Promise<void>;
3064
3201
  }
3065
3202
 
3203
+ declare interface ComponentConfig extends ItemConfig {
3204
+ /**
3205
+ * The name of the component as specified in layout.registerComponent. Mandatory if type is 'component'.
3206
+ */
3207
+ componentName: string;
3208
+
3209
+ /**
3210
+ * A serialisable object. Will be passed to the component constructor function and will be the value returned by
3211
+ * container.getState().
3212
+ */
3213
+ componentState?: any;
3214
+ }
3215
+
3216
+ declare interface Config {
3217
+ settings?: Settings;
3218
+ dimensions?: Dimensions;
3219
+ labels?: Labels;
3220
+ content?: ItemConfigType[];
3221
+ /**
3222
+ * (Only on layout config object)
3223
+ * Id of the currently maximised content item
3224
+ */
3225
+ maximisedItemId?: string;
3226
+ }
3227
+
3066
3228
  declare type ConfigWithRuntime = BaseConfig & {
3067
3229
  runtime: RuntimeConfig;
3068
3230
  };
@@ -3357,6 +3519,103 @@ declare type ConstWindowOptions = {
3357
3519
  viewVisibility?: ViewVisibilityOptions;
3358
3520
  };
3359
3521
 
3522
+ declare interface Container extends EventEmitter_2 {
3523
+ /**
3524
+ * The current width of the container in pixel
3525
+ */
3526
+ width: number;
3527
+
3528
+ /**
3529
+ * The current height of the container in pixel
3530
+ */
3531
+ height: number;
3532
+
3533
+ /**
3534
+ * A reference to the component-item that controls this container
3535
+ */
3536
+ parent: ContentItem;
3537
+
3538
+ /**
3539
+ * A reference to the tab that controls this container. Will initially be null
3540
+ * (and populated once a tab event has been fired).
3541
+ */
3542
+ tab: Tab;
3543
+
3544
+ /**
3545
+ * The current title of the container
3546
+ */
3547
+ title: string;
3548
+
3549
+ /*
3550
+ * A reference to the GoldenLayout instance this container belongs to
3551
+ */
3552
+ layoutManager: GoldenLayout_2;
3553
+
3554
+ /**
3555
+ * True if the item is currently hidden
3556
+ */
3557
+ isHidden: boolean;
3558
+
3559
+ /**
3560
+ * Overwrites the components state with the provided value. To only change parts of the componentState see
3561
+ * extendState below. This is the main mechanism for saving the state of a component. This state will be the
3562
+ * value of componentState when layout.toConfig() is called and will be passed back to the component's
3563
+ * constructor function. It will also be used when the component is opened in a new window.
3564
+ * @param state A serialisable object
3565
+ */
3566
+ setState(state: any): void;
3567
+
3568
+ /**
3569
+ * The same as setState but does not emit 'stateChanged' event
3570
+ * @param {serialisable} state
3571
+ */
3572
+ setStateSkipEvent(state: any): void;
3573
+
3574
+ /**
3575
+ * This is similar to setState, but merges the provided state into the current one, rather than overwriting it.
3576
+ * @param state A serialisable object
3577
+ */
3578
+ extendState(state: any): void;
3579
+
3580
+ /**
3581
+ * Returns the current state.
3582
+ */
3583
+ getState(): any;
3584
+
3585
+ /**
3586
+ * Returns the container's inner element as a jQuery element
3587
+ */
3588
+ getElement(): JQuery;
3589
+
3590
+ /**
3591
+ * hides the container or returns false if hiding it is not possible
3592
+ */
3593
+ hide(): boolean;
3594
+
3595
+ /**
3596
+ * shows the container or returns false if showing it is not possible
3597
+ */
3598
+ show(): boolean;
3599
+
3600
+ /**
3601
+ * Sets the container to the specified size or returns false if that's not possible
3602
+ * @param width the new width in pixel
3603
+ * @param height the new height in pixel
3604
+ */
3605
+ setSize(width: number, height: number): boolean;
3606
+
3607
+ /**
3608
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3609
+ * @param title the new title
3610
+ */
3611
+ setTitle(title: string): void;
3612
+
3613
+ /**
3614
+ * Closes the container or returns false if that is not possible
3615
+ */
3616
+ close(): boolean;
3617
+ }
3618
+
3360
3619
  declare type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
3361
3620
 
3362
3621
  /**
@@ -3427,6 +3686,218 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3427
3686
  disposition: string;
3428
3687
  };
3429
3688
 
3689
+ declare interface ContentItem extends EventEmitter_2 {
3690
+ instance: any;
3691
+ header: any;
3692
+ _splitter: any;
3693
+ /**
3694
+ * This items configuration in its current state
3695
+ */
3696
+ config: ItemConfigType;
3697
+
3698
+ /**
3699
+ * The type of the item. Can be row, column, stack, component or root
3700
+ */
3701
+ type: ItemType;
3702
+
3703
+ /**
3704
+ * An array of items that are children of this item
3705
+ */
3706
+ contentItems: ContentItem[];
3707
+
3708
+ container: Container;
3709
+ /**
3710
+ * The item that is this item's parent (or null if the item is root)
3711
+ */
3712
+ parent: ContentItem;
3713
+
3714
+ /**
3715
+ * A String or array of identifiers if provided in the configuration
3716
+ */
3717
+ id: string;
3718
+
3719
+ /**
3720
+ * True if the item had been initialised
3721
+ */
3722
+ isInitialised: boolean;
3723
+
3724
+ /**
3725
+ * True if the item is maximised
3726
+ */
3727
+ isMaximised: boolean;
3728
+
3729
+ /**
3730
+ * True if the item is the layout's root item
3731
+ */
3732
+ isRoot: boolean;
3733
+
3734
+ /**
3735
+ * True if the item is a row
3736
+ */
3737
+ isRow: boolean;
3738
+
3739
+ /**
3740
+ * True if the item is a column
3741
+ */
3742
+ isColumn: boolean;
3743
+
3744
+ /**
3745
+ * True if the item is a stack
3746
+ */
3747
+ isStack: boolean;
3748
+
3749
+ /**
3750
+ * True if the item is a component
3751
+ */
3752
+ isComponent: boolean;
3753
+
3754
+ /**
3755
+ * A reference to the layoutManager that controls this item
3756
+ */
3757
+ layoutManager: any;
3758
+
3759
+ /**
3760
+ * The item's outer element
3761
+ */
3762
+ element: JQuery;
3763
+
3764
+ /**
3765
+ * The item's inner element. Can be the same as the outer element.
3766
+ */
3767
+ childElementContainer: Container;
3768
+
3769
+ /**
3770
+ * Adds an item as a child to this item. If the item is already a part of a layout it will be removed
3771
+ * from its original position before adding it to this item.
3772
+ * @param itemOrItemConfig A content item (or tree of content items) or an ItemConfiguration to create the item from
3773
+ * @param index last index An optional index that determines at which position the new item should be added. Default: last index.
3774
+ */
3775
+ addChild(itemOrItemConfig: ContentItem | ItemConfigType, index?: number): void;
3776
+
3777
+ /**
3778
+ * Destroys the item and all it's children
3779
+ * @param contentItem The contentItem that should be removed
3780
+ * @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.
3781
+ */
3782
+ removeChild(contentItem: ContentItem, keepChild?: boolean): void;
3783
+
3784
+ /**
3785
+ * The contentItem that should be removed
3786
+ * @param oldChild ContentItem The contentItem that should be removed
3787
+ * @param newChild A content item (or tree of content items) or an ItemConfiguration to create the item from
3788
+ */
3789
+ replaceChild(oldChild: ContentItem, newChild: ContentItem | ItemConfigType): void;
3790
+
3791
+ /**
3792
+ * Updates the items size. To actually assign a new size from within a component, use container.setSize( width, height )
3793
+ */
3794
+ setSize(): void;
3795
+
3796
+ /**
3797
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3798
+ * @param title the new title
3799
+ */
3800
+ setTitle(title: string): void;
3801
+
3802
+ /**
3803
+ * A powerful, yet admittedly confusing method to recursively call methods on items in a tree. Usually you wouldn't need
3804
+ * to use it directly, but it's used internally to setSizes, destroy parts of the item tree etc.
3805
+ * @param functionName The name of the method to invoke
3806
+ * @param functionArguments An array of arguments to pass to every function
3807
+ * @param bottomUp If true, the method is invoked on the lowest parts of the tree first and then bubbles upwards. Default: false
3808
+ * @param skipSelf If true, the method will only be invoked on the item's children, but not on the item itself. Default: false
3809
+ */
3810
+ callDownwards(functionName: string, functionArguments?: any[], bottomUp?: boolean, skipSelf?: boolean): void;
3811
+
3812
+ /**
3813
+ * 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.
3814
+ */
3815
+ emitBubblingEvent(name: string): void;
3816
+
3817
+ /**
3818
+ * Convenience method for item.parent.removeChild( item )
3819
+ */
3820
+ remove(): void;
3821
+
3822
+ /**
3823
+ * Removes the item from its current position in the layout and opens it in a window
3824
+ */
3825
+ popout(): BrowserWindow;
3826
+
3827
+ /**
3828
+ * Maximises the item or minimises it if it's already maximised
3829
+ */
3830
+ toggleMaximise(): void;
3831
+
3832
+ /**
3833
+ * Selects the item. Only relevant if settings.selectionEnabled is set to true
3834
+ */
3835
+ select(): void;
3836
+
3837
+ /**
3838
+ * Unselects the item. Only relevant if settings.selectionEnabled is set to true
3839
+ */
3840
+ deselect(): void;
3841
+
3842
+ /**
3843
+ * Returns true if the item has the specified id or false if not
3844
+ * @param id An id to check for
3845
+ */
3846
+ hasId(id: string): boolean;
3847
+
3848
+ /**
3849
+ * Only Stacks have this method! It's the programmatical equivalent of clicking a tab.
3850
+ * @param contentItem The new active content item
3851
+ * @param preventFocus [OpenFin Custom] Indicates to openfin that the view should not be focused when activated.
3852
+ */
3853
+ // (CORE-198)[../docs/golden-layout-changelog.md#CORE-198 stack.setActiveView]
3854
+ setActiveContentItem(contentItem: ContentItem, preventFocus?: boolean): void;
3855
+
3856
+ /**
3857
+ * Only Stacks have this method! Returns the currently selected contentItem.
3858
+ */
3859
+ getActiveContentItem(): ContentItem;
3860
+
3861
+ /**
3862
+ * Adds an id to an item or does nothing if the id is already present
3863
+ * @param id The id to be added
3864
+ */
3865
+ addId(id: string): void;
3866
+
3867
+ /**
3868
+ * Removes an id from an item or throws an error if the id couldn't be found
3869
+ * @param id The id to be removed
3870
+ */
3871
+ removeId(id: string): void;
3872
+
3873
+ /**
3874
+ * Calls filterFunction recursively for every item in the tree. If the function returns true the item is added to the resulting array
3875
+ * @param filterFunction A function that determines whether an item matches certain criteria
3876
+ */
3877
+ getItemsByFilter(filterFunction: (contentItem: ContentItem) => boolean): ContentItem[];
3878
+
3879
+ /**
3880
+ * Returns all items with the specified id.
3881
+ * @param id An id specified in the itemConfig
3882
+ */
3883
+ getItemsById(id: string | string[]): ContentItem[];
3884
+
3885
+ /**
3886
+ * Returns all items with the specified type
3887
+ * @param type 'row', 'column', 'stack', 'component' or 'root'
3888
+ */
3889
+ getItemsByType(type: string): ContentItem[];
3890
+
3891
+ /**
3892
+ * Returns all instances of the component with the specified componentName
3893
+ * @param componentName a componentName as specified in the itemConfig
3894
+ */
3895
+ getComponentsByName(componentName: string): any;
3896
+
3897
+ _contentAreaDimensions: any;
3898
+ _$getArea: () => any;
3899
+ }
3900
+
3430
3901
  /**
3431
3902
  * Restrict navigation to URLs that match an allowed pattern.
3432
3903
  * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
@@ -3445,12 +3916,26 @@ declare type ContentNavigation = NavigationRules;
3445
3916
  */
3446
3917
  declare type ContentRedirect = NavigationRules;
3447
3918
 
3919
+ declare interface Context {
3920
+ id?: { [key: string]: string };
3921
+ name?: string;
3922
+ type: string;
3923
+ }
3924
+
3925
+ declare interface Context_2 {
3926
+ id?: { [key: string]: string };
3927
+ name?: string;
3928
+ type: string;
3929
+ contextMetadata?: ContextMetadata;
3930
+ metadata?: any;
3931
+ }
3932
+
3448
3933
  /**
3449
3934
  * Data passed between entities and applications.
3450
3935
  *
3451
3936
  * @interface
3452
3937
  */
3453
- declare type Context = {
3938
+ declare type Context_3 = {
3454
3939
  /**
3455
3940
  * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
3456
3941
  */
@@ -3470,7 +3955,7 @@ declare type Context = {
3470
3955
  /**
3471
3956
  * @interface
3472
3957
  */
3473
- declare type ContextForIntent<MetadataType = any> = Context & {
3958
+ declare type ContextForIntent<MetadataType = any> = Context_3 & {
3474
3959
  metadata?: MetadataType;
3475
3960
  };
3476
3961
 
@@ -3486,19 +3971,23 @@ declare type ContextGroupInfo = {
3486
3971
  /**
3487
3972
  * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
3488
3973
  */
3489
- displayMetadata?: DisplayMetadata;
3974
+ displayMetadata?: DisplayMetadata_3;
3490
3975
  };
3491
3976
 
3492
3977
  declare type ContextGroupStates = {
3493
3978
  [key: string]: {
3494
- [key: string]: Context;
3979
+ [key: string]: Context_3;
3495
3980
  };
3496
3981
  };
3497
3982
 
3983
+ declare type ContextHandler = (context: Context) => void;
3984
+
3985
+ declare type ContextHandler_2 = (context: Context_2, metadata?: ContextMetadata) => void;
3986
+
3498
3987
  /**
3499
3988
  * Subscription function for addContextHandler.
3500
3989
  */
3501
- declare type ContextHandler = (context: Context) => void;
3990
+ declare type ContextHandler_3 = (context: Context_3) => void;
3502
3991
 
3503
3992
  /**
3504
3993
  * Configure the context menu when right-clicking on a window.
@@ -3537,6 +4026,20 @@ declare type ContextMenuSettings = {
3537
4026
  reload?: boolean;
3538
4027
  };
3539
4028
 
4029
+ /**
4030
+ * Metadata relating to a context or intent and context received through the
4031
+ * `addContextListener` and `addIntentListener` functions.
4032
+ *
4033
+ * @experimental Introduced in FDC3 2.0 and may be refined by further changes outside the normal FDC3 versioning policy.
4034
+ */
4035
+ declare interface ContextMetadata {
4036
+ /** Identifier for the app instance that sent the context and/or intent.
4037
+ *
4038
+ * @experimental
4039
+ */
4040
+ readonly source: AppIdentifier;
4041
+ }
4042
+
3540
4043
  /**
3541
4044
  * @interface
3542
4045
  */
@@ -3699,6 +4202,45 @@ declare type DefaultDomainSettingsRule = {
3699
4202
  };
3700
4203
  };
3701
4204
 
4205
+ declare interface DesktopAgent {
4206
+ open(app: TargetApp, context?: Context): Promise<void>;
4207
+ findIntent(intent: string, context?: Context): Promise<AppIntent>;
4208
+ findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
4209
+ broadcast(context: Context): void;
4210
+ raiseIntent(intent: string, context: Context, app?: TargetApp): Promise<IntentResolution>;
4211
+ raiseIntentForContext(context: Context, app?: TargetApp): Promise<IntentResolution>;
4212
+ addIntentListener(intent: string, handler: ContextHandler): Listener;
4213
+ joinChannel(channelId: string): Promise<void>;
4214
+ leaveCurrentChannel(): Promise<void>;
4215
+ getInfo(): ImplementationMetadata;
4216
+ addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
4217
+ getOrCreateChannel(channelId: string): Promise<Channel_3>;
4218
+ getSystemChannels(): Promise<SystemChannel[]>;
4219
+ getCurrentChannel(): Promise<Channel_3 | null>;
4220
+ }
4221
+
4222
+ declare interface DesktopAgent_2 {
4223
+ open(app: AppIdentifier | TargetApp, context?: Context_2): Promise<AppIdentifier>;
4224
+ findIntent(intent: string, context?: Context_2, resultType?: string): Promise<AppIntent_2>;
4225
+ findIntentsByContext(context: Context_2, resultType?: string): Promise<Array<AppIntent_2>>;
4226
+ findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
4227
+ broadcast(context: Context_2): Promise<void>;
4228
+ raiseIntent(intent: string, context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4229
+ raiseIntentForContext(context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4230
+ addIntentListener(intent: string, handler: IntentHandler): Promise<Listener_2>;
4231
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
4232
+ getUserChannels(): Promise<Array<SystemChannel>>;
4233
+ joinUserChannel(channelId: string): Promise<void>;
4234
+ getOrCreateChannel(channelId: string): Promise<Channel_4>;
4235
+ createPrivateChannel(): Promise<PrivateChannel>;
4236
+ getCurrentChannel(): Promise<Channel_3 | null>;
4237
+ leaveCurrentChannel(): Promise<void>;
4238
+ getInfo(): Promise<ImplementationMetadata_2>;
4239
+ getAppMetadata(app: AppIdentifier): Promise<AppMetadata_2>;
4240
+ getSystemChannels(): Promise<Array<SystemChannel>>;
4241
+ joinChannel(channelId: string): Promise<void>;
4242
+ }
4243
+
3702
4244
  /**
3703
4245
  * Generated when the desktop icon is clicked while it's already running.
3704
4246
  * @interface
@@ -3739,6 +4281,46 @@ declare type DidFinishLoadEvent = NamedEvent & {
3739
4281
  type: 'did-finish-load';
3740
4282
  };
3741
4283
 
4284
+ declare interface Dimensions {
4285
+ /**
4286
+ * The width of the borders between the layout items in pixel. Please note: The actual draggable area is wider
4287
+ * than the visible one, making it safe to set this to small values without affecting usability.
4288
+ * Default: 5
4289
+ */
4290
+ borderWidth?: number;
4291
+
4292
+ /**
4293
+ * The minimum height an item can be resized to (in pixel).
4294
+ * Default: 10
4295
+ */
4296
+ minItemHeight?: number;
4297
+
4298
+ /**
4299
+ * The minimum width an item can be resized to (in pixel).
4300
+ * Default: 10
4301
+ */
4302
+ minItemWidth?: number;
4303
+
4304
+ /**
4305
+ * The height of the header elements in pixel. This can be changed, but your theme's header css needs to be
4306
+ * adjusted accordingly.
4307
+ * Default: 20
4308
+ */
4309
+ headerHeight?: number;
4310
+
4311
+ /**
4312
+ * The width of the element that appears when an item is dragged (in pixel).
4313
+ * Default: 300
4314
+ */
4315
+ dragProxyWidth?: number;
4316
+
4317
+ /**
4318
+ * The height of the element that appears when an item is dragged (in pixel).
4319
+ * Default: 200
4320
+ */
4321
+ dragProxyHeight?: number;
4322
+ }
4323
+
3742
4324
  /**
3743
4325
  * @interface
3744
4326
  */
@@ -3771,12 +4353,52 @@ declare type DisabledMovementBoundsChangingEvent = BoundsChangeEvent & {
3771
4353
  type: 'disabled-movement-bounds-changing';
3772
4354
  };
3773
4355
 
4356
+ /**
4357
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4358
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4359
+ * this is their meaning.
4360
+ */
4361
+ declare interface DisplayMetadata {
4362
+ /**
4363
+ * A user-readable name for this channel, e.g: `"Red"`
4364
+ */
4365
+ readonly name?: string;
4366
+ /**
4367
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4368
+ */
4369
+ readonly color?: string;
4370
+ /**
4371
+ * A URL of an image that can be used to display this channel
4372
+ */
4373
+ readonly glyph?: string;
4374
+ }
4375
+
4376
+ /**
4377
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4378
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4379
+ * this is their meaning.
4380
+ */
4381
+ declare interface DisplayMetadata_2 {
4382
+ /**
4383
+ * A user-readable name for this channel, e.g: `"Red"`
4384
+ */
4385
+ readonly name?: string;
4386
+ /**
4387
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4388
+ */
4389
+ readonly color?: string;
4390
+ /**
4391
+ * A URL of an image that can be used to display this channel
4392
+ */
4393
+ readonly glyph?: string;
4394
+ }
4395
+
3774
4396
  /**
3775
4397
  * The display data for a context group.
3776
4398
  *
3777
4399
  * @interface
3778
4400
  */
3779
- declare type DisplayMetadata = {
4401
+ declare type DisplayMetadata_3 = {
3780
4402
  /**
3781
4403
  * A user-readable name for this context group, e.g: `"Red"`
3782
4404
  */
@@ -3847,6 +4469,8 @@ declare type Dpi = {
3847
4469
  vertical?: number;
3848
4470
  };
3849
4471
 
4472
+ declare interface DragSource {}
4473
+
3850
4474
  /**
3851
4475
  * Generated when a window has been embedded.
3852
4476
  * @interface
@@ -4069,6 +4693,43 @@ declare class EventAggregator extends EmitterMap {
4069
4693
  dispatchEvent: (message: Message<any>) => boolean;
4070
4694
  }
4071
4695
 
4696
+ declare interface EventEmitter_2 {
4697
+ [x: string]: any;
4698
+ /**
4699
+ * Subscribe to an event
4700
+ * @param eventName The name of the event to describe to
4701
+ * @param callback The function that should be invoked when the event occurs
4702
+ * @param context The value of the this pointer in the callback function
4703
+ */
4704
+ on(eventName: string, callback: Function, context?: any): void;
4705
+
4706
+ /**
4707
+ * Notify listeners of an event and pass arguments along
4708
+ * @param eventName The name of the event to emit
4709
+ */
4710
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4711
+
4712
+ /**
4713
+ * Alias for emit
4714
+ */
4715
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4716
+
4717
+ /**
4718
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
4719
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
4720
+ * arguments.
4721
+ * @param eventName The name of the event to unsubscribe from
4722
+ * @param callback The function that should be invoked when the event occurs
4723
+ * @param context The value of the this pointer in the callback function
4724
+ */
4725
+ unbind(eventName: string, callback?: Function, context?: any): void;
4726
+
4727
+ /**
4728
+ * Alias for unbind
4729
+ */
4730
+ off(eventName: string, callback?: Function, context?: any): void;
4731
+ }
4732
+
4072
4733
  /**
4073
4734
  * Handler for an event on an EventEmitter.
4074
4735
  * @remarks Selects the correct type for the event
@@ -4372,6 +5033,13 @@ declare type FaviconUpdatedEvent = NamedEvent & {
4372
5033
  favicons: string[];
4373
5034
  };
4374
5035
 
5036
+ declare namespace FDC3 {
5037
+ export {
5038
+ v1,
5039
+ v2
5040
+ }
5041
+ }
5042
+
4375
5043
  /**
4376
5044
  * @interface
4377
5045
  */
@@ -4564,8 +5232,8 @@ declare type FindInPageResult = {
4564
5232
  /**
4565
5233
  * @interface
4566
5234
  */
4567
- declare type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
4568
- context: Context;
5235
+ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
5236
+ context: Context_3;
4569
5237
  metadata?: MetadataType;
4570
5238
  };
4571
5239
 
@@ -4969,27 +5637,265 @@ declare class GlobalHotkey extends EmitterBase<OpenFin.GlobalHotkeyEvent> {
4969
5637
  * });
4970
5638
  * ```
4971
5639
  */
4972
- isRegistered(hotkey: string): Promise<boolean>;
4973
- }
5640
+ isRegistered(hotkey: string): Promise<boolean>;
5641
+ }
5642
+
5643
+ /**
5644
+ * [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
5645
+ * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5646
+ * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
5647
+ */
5648
+ declare type GlobalHotkeyEvent = {
5649
+ topic: 'global-hotkey';
5650
+ hotkey: 'string';
5651
+ } & (RegisteredEvent | UnregisteredEvent);
5652
+
5653
+ declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5654
+
5655
+ declare namespace GlobalHotkeyEvents {
5656
+ export {
5657
+ RegisteredEvent,
5658
+ UnregisteredEvent,
5659
+ GlobalHotkeyEvent
5660
+ }
5661
+ }
5662
+
5663
+ declare namespace GoldenLayout {
5664
+ export {
5665
+ GoldenLayout_2 as GoldenLayout,
5666
+ ItemConfigType,
5667
+ Settings,
5668
+ Dimensions,
5669
+ Labels,
5670
+ ItemType,
5671
+ ItemConfig,
5672
+ ComponentConfig,
5673
+ ReactComponentConfig,
5674
+ Config,
5675
+ ContentItem,
5676
+ Container,
5677
+ DragSource,
5678
+ BrowserWindow,
5679
+ Header,
5680
+ Tab,
5681
+ EventEmitter_2 as EventEmitter
5682
+ }
5683
+ }
5684
+
5685
+ declare class GoldenLayout_2 implements EventEmitter_2 {
5686
+ /**
5687
+ * The topmost item in the layout item tree. In browser terms: Think of the GoldenLayout instance as window
5688
+ * object and of goldenLayout.root as the document.
5689
+ */
5690
+ root: ContentItem;
5691
+
5692
+ /**
5693
+ * A reference to the (jQuery) DOM element containing the layout
5694
+ */
5695
+ container: JQuery;
5696
+
5697
+ /**
5698
+ * True once the layout item tree has been created and the initialised event has been fired
5699
+ */
5700
+ isInitialised: boolean;
5701
+
5702
+ /**
5703
+ * A reference to the current, extended top level config.
5704
+ *
5705
+ * Don't rely on this object for state saving / serialisation. Use layout.toConfig() instead.
5706
+ */
5707
+ config: Config;
5708
+
5709
+ /**
5710
+ * The currently selected item or null if no item is selected. Only relevant if settings.selectionEnabled is set
5711
+ * to true.
5712
+ */
5713
+ selectedItem: ContentItem;
5714
+
5715
+ /**
5716
+ * The current outer width of the layout in pixels.
5717
+ */
5718
+ width: number;
5719
+
5720
+ /**
5721
+ * The current outer height of the layout in pixels.
5722
+ */
5723
+ height: number;
5724
+
5725
+ /**
5726
+ * An array of BrowserWindow instances
5727
+ */
5728
+ openPopouts: BrowserWindow[];
5729
+
5730
+ /**
5731
+ * True if the layout has been opened as a popout by another layout.
5732
+ */
5733
+ isSubWindow: boolean;
5734
+
5735
+ /**
5736
+ * A singleton instance of EventEmitter that works across windows
5737
+ */
5738
+ eventHub: EventEmitter_2;
5739
+
5740
+ _dragProxy: any;
5741
+
5742
+ dropTargetIndicator: any;
5743
+
5744
+ /**
5745
+ * @param config A GoldenLayout configuration object
5746
+ * @param container The DOM element the layout will be initialised in. Default: document.body
5747
+ */
5748
+ constructor(configuration: Config, container?: Element | HTMLElement | JQuery);
5749
+
5750
+ /*
5751
+ * @param name The name of the component, as referred to by componentName in the component configuration.
5752
+ * @param component A constructor or factory function. Will be invoked with new and two arguments, a
5753
+ * containerobject and a component state
5754
+ */
5755
+ registerComponent(name: String, component: any): void;
5756
+
5757
+ /**
5758
+ * Renders the layout into the container. If init() is called before the document is ready it attaches itself as
5759
+ * a listener to the document and executes once it becomes ready.
5760
+ */
5761
+ init(): void;
5762
+
5763
+ /**
5764
+ * Returns the current state of the layout and its components as a serialisable object.
5765
+ */
5766
+ toConfig(): Config;
5767
+
5768
+ /**
5769
+ * Returns a component that was previously registered with layout.registerComponent().
5770
+ * @param name The name of a previously registered component
5771
+ */
5772
+ getComponent(name: string): any;
5773
+
5774
+ /**
5775
+ * Resizes the layout. If no arguments are provided GoldenLayout measures its container and resizes accordingly.
5776
+ * @param width The outer width the layout should be resized to. Default: The container elements width
5777
+ * @param height The outer height the layout should be resized to. Default: The container elements height
5778
+ */
5779
+ updateSize(width?: number, height?: number): void;
5780
+
5781
+ /**
5782
+ * Destroys the layout. Recursively calls destroy on all components and content items, removes all event
5783
+ * listeners and finally removes itself from the DOM.
5784
+ */
5785
+ destroy(): void;
5786
+
5787
+ /**
5788
+ * Creates a new content item or tree of content items from configuration. Usually you wouldn't call this
5789
+ * directly, but instead use methods like layout.createDragSource(), item.addChild() or item.replaceChild() that
5790
+ * all call this method implicitly.
5791
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5792
+ * @param parent A parent item
5793
+ */
5794
+ createContentItem(
5795
+ itemConfiguration?: ItemConfigType,
5796
+ parent?: ContentItem
5797
+ ): ContentItem;
5798
+
5799
+ /**
5800
+ * Creates a new popout window with configOrContentItem as contents at the position specified in dimensions
5801
+ * @param configOrContentItem The content item or config that will be created in the new window. If a item is
5802
+ * provided its config will be read, if config is provided, only the content key
5803
+ * will be used
5804
+ * @param dimensions A map containing the keys left, top, width and height. Left and top can be negative to
5805
+ * place the window in another screen.
5806
+ * @param parentId The id of the item within the current layout the child window's content will be appended to
5807
+ * when popIn is clicked
5808
+ * @param indexInParent The index at which the child window's contents will be appended to. Default: null
5809
+ */
5810
+ createPopout(
5811
+ configOrContentItem: ItemConfigType | ContentItem,
5812
+ dimensions: {
5813
+ width: number;
5814
+ height: number;
5815
+ left: number;
5816
+ top: number;
5817
+ },
5818
+ parentId?: string,
5819
+ indexInParent?: number
5820
+ ): void;
5821
+
5822
+ /**
5823
+ * Turns a DOM element into a dragSource, meaning that the user can drag the element directly onto the layout
5824
+ * where it turns into a contentItem.
5825
+ * @param element The DOM element that will be turned into a dragSource
5826
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5827
+ * @return the dragSource that was created. This can be used to remove the
5828
+ * dragSource from the layout later.
5829
+ */
5830
+ createDragSource(
5831
+ element: HTMLElement | JQuery,
5832
+ itemConfiguration: ItemConfigType
5833
+ ): DragSource;
5834
+
5835
+ /**
5836
+ * Removes a dragSource from the layout.
5837
+ *
5838
+ * @param dragSource The dragSource to remove
5839
+ */
5840
+ removeDragSource(dragSource: DragSource): void;
5841
+
5842
+ /**
5843
+ * If settings.selectionEnabled is set to true, this allows to select items programmatically.
5844
+ * @param contentItem A ContentItem instance
5845
+ */
5846
+ selectItem(contentItem: ContentItem): void;
5847
+
5848
+ /**
5849
+ * Static method on the GoldenLayout constructor! This method will iterate through a GoldenLayout config object
5850
+ * and replace frequent keys and values with single letter substitutes.
5851
+ * @param config A GoldenLayout configuration object
5852
+ */
5853
+ static minifyConfig(config: any): any;
5854
+
5855
+ /**
5856
+ * Static method on the GoldenLayout constructor! This method will reverse the minifications of minifyConfig.
5857
+ * @param minifiedConfig A minified GoldenLayout configuration object
5858
+ */
5859
+ static unminifyConfig(minifiedConfig: any): any;
5860
+
5861
+ /**
5862
+ * Subscribe to an event
5863
+ * @param eventName The name of the event to describe to
5864
+ * @param callback The function that should be invoked when the event occurs
5865
+ * @param context The value of the this pointer in the callback function
5866
+ */
5867
+ on(eventName: string, callback: Function, context?: any): void;
4974
5868
 
4975
- /**
4976
- * [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
4977
- * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
4978
- * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
4979
- */
4980
- declare type GlobalHotkeyEvent = {
4981
- topic: 'global-hotkey';
4982
- hotkey: 'string';
4983
- } & (RegisteredEvent | UnregisteredEvent);
5869
+ /**
5870
+ * Notify listeners of an event and pass arguments along
5871
+ * @param eventName The name of the event to emit
5872
+ */
5873
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4984
5874
 
4985
- declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5875
+ /**
5876
+ * Alias for emit
5877
+ */
5878
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4986
5879
 
4987
- declare namespace GlobalHotkeyEvents {
4988
- export {
4989
- RegisteredEvent,
4990
- UnregisteredEvent,
4991
- GlobalHotkeyEvent
4992
- }
5880
+ /**
5881
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
5882
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
5883
+ * arguments.
5884
+ * @param eventName The name of the event to unsubscribe from
5885
+ * @param callback The function that should be invoked when the event occurs
5886
+ * @param context The value of the this pointer in the callback function
5887
+ */
5888
+ unbind(eventName: string, callback?: Function, context?: any): void;
5889
+
5890
+ /**
5891
+ * Alias for unbind
5892
+ */
5893
+ off(eventName: string, callback?: Function, context?: any): void;
5894
+
5895
+ /**
5896
+ * Internal method that create drop areas on the far edges of window, e.g. far-right of window
5897
+ */
5898
+ _$createRootItemAreas(): void;
4993
5899
  }
4994
5900
 
4995
5901
  /**
@@ -4999,6 +5905,62 @@ declare type GpuInfo = {
4999
5905
  name: string;
5000
5906
  };
5001
5907
 
5908
+ declare interface Header {
5909
+ /**
5910
+ * A reference to the LayoutManager instance
5911
+ */
5912
+ layoutManager: GoldenLayout_2;
5913
+
5914
+ /**
5915
+ * A reference to the Stack this Header belongs to
5916
+ */
5917
+ parent: ContentItem;
5918
+
5919
+ /**
5920
+ * An array of the Tabs within this header
5921
+ */
5922
+ tabs: Tab[];
5923
+
5924
+ /**
5925
+ * The currently selected activeContentItem
5926
+ */
5927
+ activeContentItem: ContentItem;
5928
+
5929
+ /**
5930
+ * The outer (jQuery) DOM element of this Header
5931
+ */
5932
+ element: JQuery;
5933
+
5934
+ /**
5935
+ * The (jQuery) DOM element containing the tabs
5936
+ */
5937
+ tabsContainer: JQuery;
5938
+
5939
+ /**
5940
+ * The (jQuery) DOM element containing the close, maximise and popout button
5941
+ */
5942
+ controlsContainer: JQuery;
5943
+
5944
+ /**
5945
+ * Hides the currently selected contentItem, shows the specified one and highlights its tab.
5946
+ * @param contentItem The content item that will be selected
5947
+ */
5948
+ setActiveContentItem(contentItem: ContentItem): void;
5949
+
5950
+ /**
5951
+ * Creates a new tab and associates it with a content item
5952
+ * @param contentItem The content item the tab will be associated with
5953
+ * @param index A zero based index, specifying the position of the new tab
5954
+ */
5955
+ createTab(contentItem: ContentItem, index?: number): void;
5956
+
5957
+ /**
5958
+ * Finds a tab by its contentItem and removes it
5959
+ * @param contentItem The content item the tab is associated with
5960
+ */
5961
+ removeTab(contentItem: ContentItem): void;
5962
+ }
5963
+
5002
5964
  /**
5003
5965
  * Generated when a View is hidden.
5004
5966
  * @interface
@@ -5084,6 +6046,15 @@ declare type HotkeyEvent = BaseViewEvent & {
5084
6046
  type: 'hotkey';
5085
6047
  };
5086
6048
 
6049
+ declare interface Icon {
6050
+ /** The icon url */
6051
+ readonly src: string;
6052
+ /** The icon dimension, formatted as `<height>x<width>`. */
6053
+ readonly size?: string;
6054
+ /** Icon media type. If not present the Desktop Agent may use the src file extension. */
6055
+ readonly type?: string;
6056
+ }
6057
+
5087
6058
  declare type Identity = OpenFin.Identity;
5088
6059
 
5089
6060
  declare type Identity_2 = OpenFin.Identity;
@@ -5136,6 +6107,17 @@ declare type IdleEvent = {
5136
6107
  isIdle: boolean;
5137
6108
  };
5138
6109
 
6110
+ declare interface Image_2 {
6111
+ /** The image url. */
6112
+ readonly src: string;
6113
+ /** The image dimension, formatted as `<height>x<width>`. */
6114
+ readonly size?: string;
6115
+ /** Image media type. If not present the Desktop Agent may use the src file extension. */
6116
+ readonly type?: string;
6117
+ /** Caption for the image. */
6118
+ readonly label?: string;
6119
+ }
6120
+
5139
6121
  declare type ImageFormatOptions = {
5140
6122
  format: 'dataURL' | 'png' | 'bmp';
5141
6123
  } | {
@@ -5146,15 +6128,57 @@ declare type ImageFormatOptions = {
5146
6128
  quality?: number;
5147
6129
  };
5148
6130
 
6131
+ /**
6132
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6133
+ */
6134
+ declare interface ImplementationMetadata {
6135
+ /** The version number of the FDC3 specification that the implementation provides.
6136
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6137
+ */
6138
+ readonly fdc3Version: string;
6139
+ /** The name of the provider of the FDC3 Desktop Agent Implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6140
+ readonly provider: string;
6141
+ /** The version of the provider of the FDC3 Desktop Agent Implementation (e.g. 5.3.0). */
6142
+ readonly providerVersion?: string;
6143
+ }
6144
+
6145
+ /**
6146
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6147
+ */
6148
+ declare interface ImplementationMetadata_2 {
6149
+ /** The version number of the FDC3 specification that the implementation provides.
6150
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6151
+ */
6152
+ readonly fdc3Version: string;
6153
+ /** The name of the provider of the Desktop Agent implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6154
+ readonly provider: string;
6155
+ /** The version of the provider of the Desktop Agent implementation (e.g. 5.3.0). */
6156
+ readonly providerVersion?: string;
6157
+ /** Metadata indicating whether the Desktop Agent implements optional features of
6158
+ * the Desktop Agent API.
6159
+ */
6160
+ readonly optionalFeatures: {
6161
+ /** Used to indicate whether the exposure of 'originating app metadata' for
6162
+ * context and intent messages is supported by the Desktop Agent. */
6163
+ readonly OriginatingAppMetadata: boolean;
6164
+ /** Used to indicate whether the optional `fdc3.joinUserChannel`,
6165
+ * `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by
6166
+ * the Desktop Agent. */
6167
+ readonly UserChannelMembershipAPIs: boolean;
6168
+ };
6169
+ /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */
6170
+ readonly appMetadata: AppMetadata_2;
6171
+ }
6172
+
5149
6173
  /**
5150
6174
  * @interface
5151
6175
  */
5152
- declare type InfoForIntentOptions<MetadataType = IntentMetadata> = {
6176
+ declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
5153
6177
  /**
5154
6178
  * Name of the intent to get info for.
5155
6179
  */
5156
6180
  name: string;
5157
- context?: Context;
6181
+ context?: Context_3;
5158
6182
  metadata?: MetadataType;
5159
6183
  };
5160
6184
 
@@ -5227,10 +6251,16 @@ declare type InstalledApps_2 = {
5227
6251
  [key: string]: InstallationInfo;
5228
6252
  };
5229
6253
 
6254
+ declare interface Intent {
6255
+ name: string;
6256
+ context: Context_2;
6257
+ metadata: IntentMetadata_2;
6258
+ }
6259
+
5230
6260
  /**
5231
6261
  * Combination of an action and a context that is passed to an application for resolution.
5232
6262
  */
5233
- declare type Intent<MetadataType = IntentMetadata> = {
6263
+ declare type Intent_2<MetadataType = IntentMetadata_3> = {
5234
6264
  /**
5235
6265
  * Name of the intent.
5236
6266
  */
@@ -5238,25 +6268,54 @@ declare type Intent<MetadataType = IntentMetadata> = {
5238
6268
  /**
5239
6269
  * Data associated with the intent.
5240
6270
  */
5241
- context: Context;
6271
+ context: Context_3;
5242
6272
  metadata?: MetadataType;
5243
6273
  };
5244
6274
 
6275
+ declare type IntentHandler = (context: Context_2, metadata?: ContextMetadata) => Promise<IntentResult> | void;
6276
+
5245
6277
  /**
5246
6278
  * Subscription function for registerIntentHandler.
5247
6279
  */
5248
- declare type IntentHandler = (intent: Intent) => void;
6280
+ declare type IntentHandler_2 = (intent: Intent_2) => void;
5249
6281
 
5250
6282
  /**
5251
- * The type used to describe an intent within the platform.
5252
- * @interface
6283
+ * Intent descriptor
5253
6284
  */
5254
- declare type IntentMetadata<TargetType = any> = {
6285
+ declare interface IntentMetadata {
6286
+ /** The unique name of the intent that can be invoked by the raiseIntent call */
6287
+ readonly name: string;
6288
+ /** A friendly display name for the intent that should be used to render UI elements */
6289
+ readonly displayName: string;
6290
+ }
6291
+
6292
+ declare type IntentMetadata_2<TargetType = any> = {
5255
6293
  target?: TargetType;
5256
6294
  resultType?: string;
5257
6295
  intentResolutionResultId?: string;
5258
6296
  };
5259
6297
 
6298
+ /**
6299
+ * The type used to describe an intent within the platform.
6300
+ * @interface
6301
+ */
6302
+ declare type IntentMetadata_3<TargetType = any> = FDC3.v2.IntentMetadata<TargetType>;
6303
+
6304
+ declare interface IntentResolution {
6305
+ source: TargetApp;
6306
+ data?: object;
6307
+ version: string;
6308
+ }
6309
+
6310
+ declare interface IntentResolution_2 {
6311
+ source: AppIdentifier;
6312
+ intent: string;
6313
+ version?: string;
6314
+ getResult(): Promise<IntentResult>;
6315
+ }
6316
+
6317
+ declare type IntentResult = Context_2 | Channel_4 | PrivateChannel;
6318
+
5260
6319
  /**
5261
6320
  * A messaging bus that allows for pub/sub messaging between different applications.
5262
6321
  *
@@ -5846,23 +6905,23 @@ declare class InteropBroker extends Base {
5846
6905
  * @param clientIdentity Identity of the Client making the request.
5847
6906
  */
5848
6907
  fdc3HandleOpen({ app, context }: {
5849
- app: TargetApp | AppIdentifier;
6908
+ app: FDC3.v1.TargetApp | FDC3.v2.AppIdentifier;
5850
6909
  context: OpenFin.Context;
5851
- }, clientIdentity: OpenFin.ClientIdentity): Promise<void | AppIdentifier>;
6910
+ }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2.AppIdentifier>;
5852
6911
  /**
5853
6912
  * Responsible for resolving the fdc3.findInstances call.
5854
6913
  * Must be overridden
5855
6914
  * @param app AppIdentifier that was passed to fdc3.findInstances
5856
6915
  * @param clientIdentity Identity of the Client making the request.
5857
6916
  */
5858
- fdc3HandleFindInstances(app: AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
6917
+ fdc3HandleFindInstances(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
5859
6918
  /**
5860
6919
  * Responsible for resolving the fdc3.getAppMetadata call.
5861
6920
  * Must be overridden
5862
6921
  * @param app AppIdentifier that was passed to fdc3.getAppMetadata
5863
6922
  * @param clientIdentity Identity of the Client making the request.
5864
6923
  */
5865
- fdc3HandleGetAppMetadata(app: AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
6924
+ fdc3HandleGetAppMetadata(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
5866
6925
  /**
5867
6926
  * This function is called by the Interop Broker whenever a Context handler would fire.
5868
6927
  * For FDC3 2.0 you would need to override this function and add the contextMetadata as
@@ -6629,6 +7688,50 @@ declare class InteropModule extends Base {
6629
7688
  connectSync(name: string, interopConfig?: OpenFin.InteropConfig): InteropClient;
6630
7689
  }
6631
7690
 
7691
+ declare interface ItemConfig {
7692
+ /**
7693
+ * The type of the item. Possible values are 'row', 'column', 'stack', 'component' and 'react-component'.
7694
+ */
7695
+ type: ItemType;
7696
+
7697
+ /**
7698
+ * An array of configurations for items that will be created as children of this item.
7699
+ */
7700
+ content?: ItemConfigType[];
7701
+
7702
+ /**
7703
+ * The width of this item, relative to the other children of its parent in percent
7704
+ */
7705
+ width?: number;
7706
+
7707
+ /**
7708
+ * The height of this item, relative to the other children of its parent in percent
7709
+ */
7710
+ height?: number;
7711
+
7712
+ /**
7713
+ * A String or an Array of Strings. Used to retrieve the item using item.getItemsById()
7714
+ */
7715
+ id?: string | string[];
7716
+
7717
+ /**
7718
+ * Determines if the item is closable. If false, the x on the items tab will be hidden and container.close()
7719
+ * will return false
7720
+ * Default: true
7721
+ */
7722
+ isClosable?: boolean;
7723
+
7724
+ /**
7725
+ * The title of the item as displayed on its tab and on popout windows
7726
+ * Default: componentName or ''
7727
+ */
7728
+ title?: string;
7729
+ }
7730
+
7731
+ declare type ItemConfigType = ItemConfig | ComponentConfig | ReactComponentConfig;
7732
+
7733
+ declare type ItemType = 'row' | 'column' | 'stack' | 'root' | 'component';
7734
+
6632
7735
  /**
6633
7736
  * @interface
6634
7737
  */
@@ -6686,6 +7789,32 @@ declare type JumpListTask = {
6686
7789
  iconIndex?: number;
6687
7790
  };
6688
7791
 
7792
+ declare interface Labels {
7793
+ /**
7794
+ * The tooltip text that appears when hovering over the close icon.
7795
+ * Default: 'close'
7796
+ */
7797
+ close?: string;
7798
+
7799
+ /**
7800
+ * The tooltip text that appears when hovering over the maximise icon.
7801
+ * Default: 'maximise'
7802
+ */
7803
+ maximise?: string;
7804
+
7805
+ /**
7806
+ * The tooltip text that appears when hovering over the minimise icon.
7807
+ * Default: 'minimise'
7808
+ */
7809
+ minimise?: string;
7810
+
7811
+ /**
7812
+ * The tooltip text that appears when hovering over the popout icon.
7813
+ * Default: 'open in new window'
7814
+ */
7815
+ popout?: string;
7816
+ }
7817
+
6689
7818
  export declare function launch(config: ConnectConfig): Promise<number>;
6690
7819
 
6691
7820
  /**
@@ -6921,6 +8050,16 @@ declare class Layout extends Base {
6921
8050
  * ```
6922
8051
  */
6923
8052
  getConfig(): Promise<any>;
8053
+ /**
8054
+ * Retrieves the attached views in current window layout.
8055
+ *
8056
+ * @example
8057
+ * ```js
8058
+ * const layout = fin.Platform.Layout.getCurrentSync();
8059
+ * const views = await layout.getCurrentViews();
8060
+ * ```
8061
+ */
8062
+ getCurrentViews(): Promise<OpenFin.View[]>;
6924
8063
  /**
6925
8064
  * Replaces a Platform window's layout with a new layout.
6926
8065
  *
@@ -7191,6 +8330,7 @@ declare class LayoutManager {
7191
8330
  private setBackgroundImage;
7192
8331
  private setBackgroundImages;
7193
8332
  private getFrameSnapshot;
8333
+ private getCurrentViews;
7194
8334
  private addView;
7195
8335
  private replaceView;
7196
8336
  private removeView;
@@ -7452,7 +8592,21 @@ declare type LayoutRow = LayoutItemConfig & {
7452
8592
  */
7453
8593
  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'>;
7454
8594
 
7455
- declare type Listener<T extends {
8595
+ declare interface Listener {
8596
+ /**
8597
+ * Unsubscribe the listener object.
8598
+ */
8599
+ unsubscribe(): void;
8600
+ }
8601
+
8602
+ declare interface Listener_2 {
8603
+ /**
8604
+ * Unsubscribe the listener object.
8605
+ */
8606
+ unsubscribe(): void;
8607
+ }
8608
+
8609
+ declare type Listener_3<T extends {
7456
8610
  type: string;
7457
8611
  }> = (payload: T) => void;
7458
8612
 
@@ -8192,6 +9346,10 @@ declare type Opacity = TransitionBase & {
8192
9346
  opacity: number;
8193
9347
  };
8194
9348
 
9349
+ declare type OpenExternalPermission = VerboseWebPermission & {
9350
+ protocols: string[];
9351
+ };
9352
+
8195
9353
  declare namespace OpenFin {
8196
9354
  export {
8197
9355
  FinApi,
@@ -8242,11 +9400,11 @@ declare namespace OpenFin {
8242
9400
  ApplicationOptions,
8243
9401
  InteropBrokerOptions,
8244
9402
  ContextGroupInfo,
8245
- DisplayMetadata,
9403
+ DisplayMetadata_3 as DisplayMetadata,
8246
9404
  LegacyWinOptionsInAppOptions,
8247
9405
  Snapshot,
8248
9406
  ContextGroupStates,
8249
- Context,
9407
+ Context_3 as Context,
8250
9408
  MonitorInfo,
8251
9409
  Point,
8252
9410
  PointTopLeft,
@@ -8311,6 +9469,8 @@ declare namespace OpenFin {
8311
9469
  LaunchExternalProcessRule,
8312
9470
  SystemPermissions,
8313
9471
  WebPermission,
9472
+ VerboseWebPermission,
9473
+ OpenExternalPermission,
8314
9474
  Permissions_2 as Permissions,
8315
9475
  PlatformWindowCreationOptions,
8316
9476
  PlatformWindowOptions,
@@ -8415,10 +9575,10 @@ declare namespace OpenFin {
8415
9575
  FileDownloadBehaviorNames,
8416
9576
  FileDownloadSettings,
8417
9577
  DownloadRule,
8418
- ContextHandler,
8419
- Intent,
8420
- IntentMetadata,
8421
- IntentHandler,
9578
+ ContextHandler_3 as ContextHandler,
9579
+ Intent_2 as Intent,
9580
+ IntentMetadata_3 as IntentMetadata,
9581
+ IntentHandler_2 as IntentHandler,
8422
9582
  ContentCreationBehaviorNames,
8423
9583
  MatchPattern,
8424
9584
  ContentCreationRule,
@@ -10265,6 +11425,14 @@ declare type PrintOptions = {
10265
11425
  dpi?: Dpi;
10266
11426
  };
10267
11427
 
11428
+ declare type PrivateChannel = Omit<Channel_4, 'addContextListener'> & {
11429
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
11430
+ onAddContextListener(handler: (contextType?: string) => void): Listener_2;
11431
+ onUnsubscribe(handler: (contextType?: string) => void): Listener_2;
11432
+ onDisconnect(handler: () => void): Listener_2;
11433
+ disconnect(): void;
11434
+ };
11435
+
10268
11436
  /**
10269
11437
  * Strategy to assign views to process affinity by domain.
10270
11438
  *
@@ -10717,6 +11885,18 @@ declare type QueryPermissionResult = {
10717
11885
  rawValue?: unknown;
10718
11886
  };
10719
11887
 
11888
+ declare interface ReactComponentConfig extends ItemConfig {
11889
+ /**
11890
+ * The name of the component as specified in layout.registerComponent. Mandatory if type is 'react-component'
11891
+ */
11892
+ component: string;
11893
+
11894
+ /**
11895
+ * Properties that will be passed to the component and accessible using this.props.
11896
+ */
11897
+ props?: any;
11898
+ }
11899
+
10720
11900
  /**
10721
11901
  * @interface
10722
11902
  */
@@ -11177,23 +12357,114 @@ declare type SessionContextGroup = {
11177
12357
  * A SessionContextGroup instance method for setting a context in the SessionContextGroup.
11178
12358
  * @param context The Context to be set.
11179
12359
  */
11180
- setContext: (context: Context) => Promise<void>;
12360
+ setContext: (context: Context_3) => Promise<void>;
11181
12361
  /**
11182
12362
  * A SessionContextGroup instance method for getting the current context of a certain type.
11183
12363
  * @param type The Context Type to get. If not specified the last contextType set would get used.
11184
12364
  */
11185
- getCurrentContext: (type?: string) => Promise<Context>;
12365
+ getCurrentContext: (type?: string) => Promise<Context_3>;
11186
12366
  /**
11187
12367
  * A SessionContextGroup instance method for adding a handler for context change.
11188
12368
  * @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.
11189
12369
  * @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.
11190
12370
  *
11191
12371
  */
11192
- addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
12372
+ addContextHandler: (handler: ContextHandler_3, contextType?: string) => Promise<{
11193
12373
  unsubscribe: () => void;
11194
12374
  }>;
11195
12375
  };
11196
12376
 
12377
+ declare interface Settings {
12378
+ preventSplitterResize?: boolean;
12379
+
12380
+ newTabButton?: {
12381
+ url?: string;
12382
+ };
12383
+
12384
+ /**
12385
+ * If true, tabs can't be dragged into the window.
12386
+ * Default: false
12387
+ */
12388
+ preventDragIn?: boolean;
12389
+
12390
+ /**
12391
+ * If true, tabs can't be dragged out of the window.
12392
+ * Default: false
12393
+ */
12394
+ preventDragOut?: boolean;
12395
+
12396
+ /**
12397
+ * If true, stack headers are the only areas where tabs can be dropped.
12398
+ * Default: false
12399
+ */
12400
+ constrainDragToHeaders?: boolean;
12401
+ /**
12402
+ * Turns headers on or off. If false, the layout will be displayed with splitters only.
12403
+ * Default: true
12404
+ */
12405
+ hasHeaders?: boolean;
12406
+
12407
+ /**
12408
+ * (Unused in Openfin Platform) Constrains the area in which items can be dragged to the layout's container. Will be set to false
12409
+ * automatically when layout.createDragSource() is called.
12410
+ * Default: true
12411
+ */
12412
+ constrainDragToContainer?: boolean;
12413
+
12414
+ /**
12415
+ * If true, the user can re-arrange the layout by dragging items by their tabs to the desired location.
12416
+ * Default: true
12417
+ */
12418
+ reorderEnabled?: boolean;
12419
+
12420
+ /**
12421
+ * If true, the user can select items by clicking on their header. This sets the value of layout.selectedItem to
12422
+ * the clicked item, highlights its header and the layout emits a 'selectionChanged' event.
12423
+ * Default: false
12424
+ */
12425
+ selectionEnabled?: boolean;
12426
+
12427
+ /**
12428
+ * Decides what will be opened in a new window if the user clicks the popout icon. If true the entire stack will
12429
+ * be transferred to the new window, if false only the active component will be opened.
12430
+ * Default: false
12431
+ */
12432
+ popoutWholeStack?: boolean;
12433
+
12434
+ /**
12435
+ * Specifies if an error is thrown when a popout is blocked by the browser (e.g. by opening it programmatically).
12436
+ * If false, the popout call will fail silently.
12437
+ * Default: true
12438
+ */
12439
+ blockedPopoutsThrowError?: boolean;
12440
+
12441
+ /**
12442
+ * Specifies if all popouts should be closed when the page that created them is closed. Popouts don't have a
12443
+ * strong dependency on their parent and can exist on their own, but can be quite annoying to close by hand. In
12444
+ * addition, any changes made to popouts won't be stored after the parent is closed.
12445
+ * Default: true
12446
+ */
12447
+ closePopoutsOnUnload?: boolean;
12448
+
12449
+ /**
12450
+ * Specifies if the popout icon should be displayed in the header-bar.
12451
+ * Default: true
12452
+ */
12453
+ showPopoutIcon?: boolean;
12454
+
12455
+ /**
12456
+ * Specifies if the maximise icon should be displayed in the header-bar.
12457
+ * Default: true
12458
+ */
12459
+ showMaximiseIcon?: boolean;
12460
+
12461
+ /**
12462
+ * Specifies if the close icon should be displayed in the header-bar.
12463
+ * Default: true
12464
+ */
12465
+ showCloseIcon?: boolean;
12466
+ }
12467
+
11197
12468
  /**
11198
12469
  * @interface
11199
12470
  */
@@ -12936,6 +14207,12 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
12936
14207
  setDomainSettings(domainSettings: OpenFin.DefaultDomainSettings): Promise<void>;
12937
14208
  }
12938
14209
 
14210
+ declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast' | 'getCurrentContext'> & {
14211
+ addContextListener(): Error;
14212
+ broadcast(): Error;
14213
+ getCurrentContext(): Error;
14214
+ };
14215
+
12939
14216
  /**
12940
14217
  * [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
12941
14218
  * discriminated by {@link SystemEvent.type | their type}. Event payloads unique to `System` can be found
@@ -13021,6 +14298,52 @@ declare type SystemShutdownHandler = (shutdownEvent: {
13021
14298
  proceed: () => void;
13022
14299
  }) => void;
13023
14300
 
14301
+ declare interface Tab {
14302
+ _dragListener: EventEmitter_2;
14303
+
14304
+ /**
14305
+ * True if this tab is the selected tab
14306
+ */
14307
+ isActive: boolean;
14308
+
14309
+ /**
14310
+ * A reference to the header this tab is a child of
14311
+ */
14312
+ header: Header;
14313
+
14314
+ /**
14315
+ * A reference to the content item this tab relates to
14316
+ */
14317
+ contentItem: ContentItem;
14318
+
14319
+ /**
14320
+ * The tabs outer (jQuery) DOM element
14321
+ */
14322
+ element: JQuery;
14323
+
14324
+ /**
14325
+ * The (jQuery) DOM element containing the title
14326
+ */
14327
+ titleElement: JQuery;
14328
+
14329
+ /**
14330
+ * The (jQuery) DOM element that closes the tab
14331
+ */
14332
+ closeElement: JQuery;
14333
+
14334
+ /**
14335
+ * Sets the tab's title. Does not affect the contentItem's title!
14336
+ * @param title The new title
14337
+ */
14338
+ setTitle(title: string): void;
14339
+
14340
+ /**
14341
+ * Sets this tab's active state. To programmatically switch tabs, use header.setActiveContentItem( item ) instead.
14342
+ * @param isActive Whether the tab is active
14343
+ */
14344
+ setActive(isActive: boolean): void;
14345
+ }
14346
+
13024
14347
  /**
13025
14348
  * Set of apis used to facilitate tab drag interactions without needing to hide views.
13026
14349
  * @ignore
@@ -13408,13 +14731,13 @@ declare type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-i
13408
14731
  declare interface TypedEventEmitter<Event extends {
13409
14732
  type: string;
13410
14733
  }, EmitterEventType = Event['type']> {
13411
- on<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
14734
+ on<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13412
14735
  type: EventType;
13413
14736
  }>>): this;
13414
- addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
14737
+ addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13415
14738
  type: EventType;
13416
14739
  }>>): this;
13417
- removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
14740
+ removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13418
14741
  type: EventType;
13419
14742
  }>>): this;
13420
14743
  removeAllListeners<EventType extends EmitterEventType>(event?: EmitterEventType): this;
@@ -13485,6 +14808,53 @@ declare type UserMovementEnabledEvent = NamedEvent & {
13485
14808
  type: 'user-movement-enabled';
13486
14809
  };
13487
14810
 
14811
+ declare namespace v1 {
14812
+ export {
14813
+ Listener,
14814
+ AppMetadata,
14815
+ IntentMetadata,
14816
+ AppIntent,
14817
+ DisplayMetadata,
14818
+ ImplementationMetadata,
14819
+ ContextHandler,
14820
+ TargetApp,
14821
+ Context,
14822
+ IntentResolution,
14823
+ Channel_3 as Channel,
14824
+ SystemChannel,
14825
+ DesktopAgent
14826
+ }
14827
+ }
14828
+
14829
+ declare namespace v2 {
14830
+ export {
14831
+ IntentMetadata_2 as IntentMetadata,
14832
+ AppIdentifier,
14833
+ Listener_2 as Listener,
14834
+ AppIntent_2 as AppIntent,
14835
+ ImplementationMetadata_2 as ImplementationMetadata,
14836
+ ContextMetadata,
14837
+ Icon,
14838
+ Image_2 as Image,
14839
+ AppMetadata_2 as AppMetadata,
14840
+ DisplayMetadata_2 as DisplayMetadata,
14841
+ ContextHandler_2 as ContextHandler,
14842
+ IntentHandler,
14843
+ IntentResult,
14844
+ Context_2 as Context,
14845
+ Intent,
14846
+ IntentResolution_2 as IntentResolution,
14847
+ Channel_4 as Channel,
14848
+ PrivateChannel,
14849
+ DesktopAgent_2 as DesktopAgent
14850
+ }
14851
+ }
14852
+
14853
+ declare type VerboseWebPermission = {
14854
+ api: string;
14855
+ enabled: boolean;
14856
+ };
14857
+
13488
14858
  declare type View = OpenFin.View;
13489
14859
 
13490
14860
  /**
@@ -15331,7 +16701,7 @@ declare namespace WebContentsEvents {
15331
16701
  * `clipboard-read`: Request access to read from the clipboard.<br>
15332
16702
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
15333
16703
  */
15334
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
16704
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
15335
16705
 
15336
16706
  /**
15337
16707
  * Object representing headers and their values, where the