@openfin/core 34.78.19 → 34.78.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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_2.Fin['InterApplicationBus']['Channel'];
2010
2129
 
2011
- declare type Channel_3 = OpenFin_2.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_2.Fin['InterApplicationBus']['Channel'];
2012
2149
 
2013
2150
  declare type ChannelAction = OpenFin_2.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
  };
@@ -3353,6 +3515,103 @@ declare type ConstWindowOptions = {
3353
3515
  viewVisibility?: ViewVisibilityOptions;
3354
3516
  };
3355
3517
 
3518
+ declare interface Container extends EventEmitter_2 {
3519
+ /**
3520
+ * The current width of the container in pixel
3521
+ */
3522
+ width: number;
3523
+
3524
+ /**
3525
+ * The current height of the container in pixel
3526
+ */
3527
+ height: number;
3528
+
3529
+ /**
3530
+ * A reference to the component-item that controls this container
3531
+ */
3532
+ parent: ContentItem;
3533
+
3534
+ /**
3535
+ * A reference to the tab that controls this container. Will initially be null
3536
+ * (and populated once a tab event has been fired).
3537
+ */
3538
+ tab: Tab;
3539
+
3540
+ /**
3541
+ * The current title of the container
3542
+ */
3543
+ title: string;
3544
+
3545
+ /*
3546
+ * A reference to the GoldenLayout instance this container belongs to
3547
+ */
3548
+ layoutManager: GoldenLayout_2;
3549
+
3550
+ /**
3551
+ * True if the item is currently hidden
3552
+ */
3553
+ isHidden: boolean;
3554
+
3555
+ /**
3556
+ * Overwrites the components state with the provided value. To only change parts of the componentState see
3557
+ * extendState below. This is the main mechanism for saving the state of a component. This state will be the
3558
+ * value of componentState when layout.toConfig() is called and will be passed back to the component's
3559
+ * constructor function. It will also be used when the component is opened in a new window.
3560
+ * @param state A serialisable object
3561
+ */
3562
+ setState(state: any): void;
3563
+
3564
+ /**
3565
+ * The same as setState but does not emit 'stateChanged' event
3566
+ * @param {serialisable} state
3567
+ */
3568
+ setStateSkipEvent(state: any): void;
3569
+
3570
+ /**
3571
+ * This is similar to setState, but merges the provided state into the current one, rather than overwriting it.
3572
+ * @param state A serialisable object
3573
+ */
3574
+ extendState(state: any): void;
3575
+
3576
+ /**
3577
+ * Returns the current state.
3578
+ */
3579
+ getState(): any;
3580
+
3581
+ /**
3582
+ * Returns the container's inner element as a jQuery element
3583
+ */
3584
+ getElement(): JQuery;
3585
+
3586
+ /**
3587
+ * hides the container or returns false if hiding it is not possible
3588
+ */
3589
+ hide(): boolean;
3590
+
3591
+ /**
3592
+ * shows the container or returns false if showing it is not possible
3593
+ */
3594
+ show(): boolean;
3595
+
3596
+ /**
3597
+ * Sets the container to the specified size or returns false if that's not possible
3598
+ * @param width the new width in pixel
3599
+ * @param height the new height in pixel
3600
+ */
3601
+ setSize(width: number, height: number): boolean;
3602
+
3603
+ /**
3604
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3605
+ * @param title the new title
3606
+ */
3607
+ setTitle(title: string): void;
3608
+
3609
+ /**
3610
+ * Closes the container or returns false if that is not possible
3611
+ */
3612
+ close(): boolean;
3613
+ }
3614
+
3356
3615
  declare type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
3357
3616
 
3358
3617
  /**
@@ -3423,6 +3682,218 @@ declare type ContentCreationRulesEvent = NamedEvent & {
3423
3682
  disposition: string;
3424
3683
  };
3425
3684
 
3685
+ declare interface ContentItem extends EventEmitter_2 {
3686
+ instance: any;
3687
+ header: any;
3688
+ _splitter: any;
3689
+ /**
3690
+ * This items configuration in its current state
3691
+ */
3692
+ config: ItemConfigType;
3693
+
3694
+ /**
3695
+ * The type of the item. Can be row, column, stack, component or root
3696
+ */
3697
+ type: ItemType;
3698
+
3699
+ /**
3700
+ * An array of items that are children of this item
3701
+ */
3702
+ contentItems: ContentItem[];
3703
+
3704
+ container: Container;
3705
+ /**
3706
+ * The item that is this item's parent (or null if the item is root)
3707
+ */
3708
+ parent: ContentItem;
3709
+
3710
+ /**
3711
+ * A String or array of identifiers if provided in the configuration
3712
+ */
3713
+ id: string;
3714
+
3715
+ /**
3716
+ * True if the item had been initialised
3717
+ */
3718
+ isInitialised: boolean;
3719
+
3720
+ /**
3721
+ * True if the item is maximised
3722
+ */
3723
+ isMaximised: boolean;
3724
+
3725
+ /**
3726
+ * True if the item is the layout's root item
3727
+ */
3728
+ isRoot: boolean;
3729
+
3730
+ /**
3731
+ * True if the item is a row
3732
+ */
3733
+ isRow: boolean;
3734
+
3735
+ /**
3736
+ * True if the item is a column
3737
+ */
3738
+ isColumn: boolean;
3739
+
3740
+ /**
3741
+ * True if the item is a stack
3742
+ */
3743
+ isStack: boolean;
3744
+
3745
+ /**
3746
+ * True if the item is a component
3747
+ */
3748
+ isComponent: boolean;
3749
+
3750
+ /**
3751
+ * A reference to the layoutManager that controls this item
3752
+ */
3753
+ layoutManager: any;
3754
+
3755
+ /**
3756
+ * The item's outer element
3757
+ */
3758
+ element: JQuery;
3759
+
3760
+ /**
3761
+ * The item's inner element. Can be the same as the outer element.
3762
+ */
3763
+ childElementContainer: Container;
3764
+
3765
+ /**
3766
+ * Adds an item as a child to this item. If the item is already a part of a layout it will be removed
3767
+ * from its original position before adding it to this item.
3768
+ * @param itemOrItemConfig A content item (or tree of content items) or an ItemConfiguration to create the item from
3769
+ * @param index last index An optional index that determines at which position the new item should be added. Default: last index.
3770
+ */
3771
+ addChild(itemOrItemConfig: ContentItem | ItemConfigType, index?: number): void;
3772
+
3773
+ /**
3774
+ * Destroys the item and all it's children
3775
+ * @param contentItem The contentItem that should be removed
3776
+ * @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.
3777
+ */
3778
+ removeChild(contentItem: ContentItem, keepChild?: boolean): void;
3779
+
3780
+ /**
3781
+ * The contentItem that should be removed
3782
+ * @param oldChild ContentItem The contentItem that should be removed
3783
+ * @param newChild A content item (or tree of content items) or an ItemConfiguration to create the item from
3784
+ */
3785
+ replaceChild(oldChild: ContentItem, newChild: ContentItem | ItemConfigType): void;
3786
+
3787
+ /**
3788
+ * Updates the items size. To actually assign a new size from within a component, use container.setSize( width, height )
3789
+ */
3790
+ setSize(): void;
3791
+
3792
+ /**
3793
+ * Sets the item's title to the provided value. Triggers titleChanged and stateChanged events
3794
+ * @param title the new title
3795
+ */
3796
+ setTitle(title: string): void;
3797
+
3798
+ /**
3799
+ * A powerful, yet admittedly confusing method to recursively call methods on items in a tree. Usually you wouldn't need
3800
+ * to use it directly, but it's used internally to setSizes, destroy parts of the item tree etc.
3801
+ * @param functionName The name of the method to invoke
3802
+ * @param functionArguments An array of arguments to pass to every function
3803
+ * @param bottomUp If true, the method is invoked on the lowest parts of the tree first and then bubbles upwards. Default: false
3804
+ * @param skipSelf If true, the method will only be invoked on the item's children, but not on the item itself. Default: false
3805
+ */
3806
+ callDownwards(functionName: string, functionArguments?: any[], bottomUp?: boolean, skipSelf?: boolean): void;
3807
+
3808
+ /**
3809
+ * 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.
3810
+ */
3811
+ emitBubblingEvent(name: string): void;
3812
+
3813
+ /**
3814
+ * Convenience method for item.parent.removeChild( item )
3815
+ */
3816
+ remove(): void;
3817
+
3818
+ /**
3819
+ * Removes the item from its current position in the layout and opens it in a window
3820
+ */
3821
+ popout(): BrowserWindow;
3822
+
3823
+ /**
3824
+ * Maximises the item or minimises it if it's already maximised
3825
+ */
3826
+ toggleMaximise(): void;
3827
+
3828
+ /**
3829
+ * Selects the item. Only relevant if settings.selectionEnabled is set to true
3830
+ */
3831
+ select(): void;
3832
+
3833
+ /**
3834
+ * Unselects the item. Only relevant if settings.selectionEnabled is set to true
3835
+ */
3836
+ deselect(): void;
3837
+
3838
+ /**
3839
+ * Returns true if the item has the specified id or false if not
3840
+ * @param id An id to check for
3841
+ */
3842
+ hasId(id: string): boolean;
3843
+
3844
+ /**
3845
+ * Only Stacks have this method! It's the programmatical equivalent of clicking a tab.
3846
+ * @param contentItem The new active content item
3847
+ * @param preventFocus [OpenFin Custom] Indicates to openfin that the view should not be focused when activated.
3848
+ */
3849
+ // (CORE-198)[../docs/golden-layout-changelog.md#CORE-198 stack.setActiveView]
3850
+ setActiveContentItem(contentItem: ContentItem, preventFocus?: boolean): void;
3851
+
3852
+ /**
3853
+ * Only Stacks have this method! Returns the currently selected contentItem.
3854
+ */
3855
+ getActiveContentItem(): ContentItem;
3856
+
3857
+ /**
3858
+ * Adds an id to an item or does nothing if the id is already present
3859
+ * @param id The id to be added
3860
+ */
3861
+ addId(id: string): void;
3862
+
3863
+ /**
3864
+ * Removes an id from an item or throws an error if the id couldn't be found
3865
+ * @param id The id to be removed
3866
+ */
3867
+ removeId(id: string): void;
3868
+
3869
+ /**
3870
+ * Calls filterFunction recursively for every item in the tree. If the function returns true the item is added to the resulting array
3871
+ * @param filterFunction A function that determines whether an item matches certain criteria
3872
+ */
3873
+ getItemsByFilter(filterFunction: (contentItem: ContentItem) => boolean): ContentItem[];
3874
+
3875
+ /**
3876
+ * Returns all items with the specified id.
3877
+ * @param id An id specified in the itemConfig
3878
+ */
3879
+ getItemsById(id: string | string[]): ContentItem[];
3880
+
3881
+ /**
3882
+ * Returns all items with the specified type
3883
+ * @param type 'row', 'column', 'stack', 'component' or 'root'
3884
+ */
3885
+ getItemsByType(type: string): ContentItem[];
3886
+
3887
+ /**
3888
+ * Returns all instances of the component with the specified componentName
3889
+ * @param componentName a componentName as specified in the itemConfig
3890
+ */
3891
+ getComponentsByName(componentName: string): any;
3892
+
3893
+ _contentAreaDimensions: any;
3894
+ _$getArea: () => any;
3895
+ }
3896
+
3426
3897
  /**
3427
3898
  * Restrict navigation to URLs that match an allowed pattern.
3428
3899
  * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
@@ -3441,12 +3912,26 @@ declare type ContentNavigation = NavigationRules;
3441
3912
  */
3442
3913
  declare type ContentRedirect = NavigationRules;
3443
3914
 
3915
+ declare interface Context {
3916
+ id?: { [key: string]: string };
3917
+ name?: string;
3918
+ type: string;
3919
+ }
3920
+
3921
+ declare interface Context_2 {
3922
+ id?: { [key: string]: string };
3923
+ name?: string;
3924
+ type: string;
3925
+ contextMetadata?: ContextMetadata;
3926
+ metadata?: any;
3927
+ }
3928
+
3444
3929
  /**
3445
3930
  * Data passed between entities and applications.
3446
3931
  *
3447
3932
  * @interface
3448
3933
  */
3449
- declare type Context = {
3934
+ declare type Context_3 = {
3450
3935
  /**
3451
3936
  * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
3452
3937
  */
@@ -3466,7 +3951,7 @@ declare type Context = {
3466
3951
  /**
3467
3952
  * @interface
3468
3953
  */
3469
- declare type ContextForIntent<MetadataType = any> = Context & {
3954
+ declare type ContextForIntent<MetadataType = any> = Context_3 & {
3470
3955
  metadata?: MetadataType;
3471
3956
  };
3472
3957
 
@@ -3482,19 +3967,23 @@ declare type ContextGroupInfo = {
3482
3967
  /**
3483
3968
  * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
3484
3969
  */
3485
- displayMetadata?: DisplayMetadata;
3970
+ displayMetadata?: DisplayMetadata_3;
3486
3971
  };
3487
3972
 
3488
3973
  declare type ContextGroupStates = {
3489
3974
  [key: string]: {
3490
- [key: string]: Context;
3975
+ [key: string]: Context_3;
3491
3976
  };
3492
3977
  };
3493
3978
 
3979
+ declare type ContextHandler = (context: Context) => void;
3980
+
3981
+ declare type ContextHandler_2 = (context: Context_2, metadata?: ContextMetadata) => void;
3982
+
3494
3983
  /**
3495
3984
  * Subscription function for addContextHandler.
3496
3985
  */
3497
- declare type ContextHandler = (context: Context) => void;
3986
+ declare type ContextHandler_3 = (context: Context_3) => void;
3498
3987
 
3499
3988
  /**
3500
3989
  * Configure the context menu when right-clicking on a window.
@@ -3533,6 +4022,20 @@ declare type ContextMenuSettings = {
3533
4022
  reload?: boolean;
3534
4023
  };
3535
4024
 
4025
+ /**
4026
+ * Metadata relating to a context or intent and context received through the
4027
+ * `addContextListener` and `addIntentListener` functions.
4028
+ *
4029
+ * @experimental Introduced in FDC3 2.0 and may be refined by further changes outside the normal FDC3 versioning policy.
4030
+ */
4031
+ declare interface ContextMetadata {
4032
+ /** Identifier for the app instance that sent the context and/or intent.
4033
+ *
4034
+ * @experimental
4035
+ */
4036
+ readonly source: AppIdentifier;
4037
+ }
4038
+
3536
4039
  /**
3537
4040
  * @interface
3538
4041
  */
@@ -3695,6 +4198,45 @@ declare type DefaultDomainSettingsRule = {
3695
4198
  };
3696
4199
  };
3697
4200
 
4201
+ declare interface DesktopAgent {
4202
+ open(app: TargetApp, context?: Context): Promise<void>;
4203
+ findIntent(intent: string, context?: Context): Promise<AppIntent>;
4204
+ findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
4205
+ broadcast(context: Context): void;
4206
+ raiseIntent(intent: string, context: Context, app?: TargetApp): Promise<IntentResolution>;
4207
+ raiseIntentForContext(context: Context, app?: TargetApp): Promise<IntentResolution>;
4208
+ addIntentListener(intent: string, handler: ContextHandler): Listener;
4209
+ joinChannel(channelId: string): Promise<void>;
4210
+ leaveCurrentChannel(): Promise<void>;
4211
+ getInfo(): ImplementationMetadata;
4212
+ addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
4213
+ getOrCreateChannel(channelId: string): Promise<Channel_3>;
4214
+ getSystemChannels(): Promise<SystemChannel[]>;
4215
+ getCurrentChannel(): Promise<Channel_3 | null>;
4216
+ }
4217
+
4218
+ declare interface DesktopAgent_2 {
4219
+ open(app: AppIdentifier | TargetApp, context?: Context_2): Promise<AppIdentifier>;
4220
+ findIntent(intent: string, context?: Context_2, resultType?: string): Promise<AppIntent_2>;
4221
+ findIntentsByContext(context: Context_2, resultType?: string): Promise<Array<AppIntent_2>>;
4222
+ findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
4223
+ broadcast(context: Context_2): Promise<void>;
4224
+ raiseIntent(intent: string, context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4225
+ raiseIntentForContext(context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4226
+ addIntentListener(intent: string, handler: IntentHandler): Promise<Listener_2>;
4227
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
4228
+ getUserChannels(): Promise<Array<SystemChannel>>;
4229
+ joinUserChannel(channelId: string): Promise<void>;
4230
+ getOrCreateChannel(channelId: string): Promise<Channel_4>;
4231
+ createPrivateChannel(): Promise<PrivateChannel>;
4232
+ getCurrentChannel(): Promise<Channel_3 | null>;
4233
+ leaveCurrentChannel(): Promise<void>;
4234
+ getInfo(): Promise<ImplementationMetadata_2>;
4235
+ getAppMetadata(app: AppIdentifier): Promise<AppMetadata_2>;
4236
+ getSystemChannels(): Promise<Array<SystemChannel>>;
4237
+ joinChannel(channelId: string): Promise<void>;
4238
+ }
4239
+
3698
4240
  /**
3699
4241
  * Generated when the desktop icon is clicked while it's already running.
3700
4242
  * @interface
@@ -3735,6 +4277,46 @@ declare type DidFinishLoadEvent = NamedEvent & {
3735
4277
  type: 'did-finish-load';
3736
4278
  };
3737
4279
 
4280
+ declare interface Dimensions {
4281
+ /**
4282
+ * The width of the borders between the layout items in pixel. Please note: The actual draggable area is wider
4283
+ * than the visible one, making it safe to set this to small values without affecting usability.
4284
+ * Default: 5
4285
+ */
4286
+ borderWidth?: number;
4287
+
4288
+ /**
4289
+ * The minimum height an item can be resized to (in pixel).
4290
+ * Default: 10
4291
+ */
4292
+ minItemHeight?: number;
4293
+
4294
+ /**
4295
+ * The minimum width an item can be resized to (in pixel).
4296
+ * Default: 10
4297
+ */
4298
+ minItemWidth?: number;
4299
+
4300
+ /**
4301
+ * The height of the header elements in pixel. This can be changed, but your theme's header css needs to be
4302
+ * adjusted accordingly.
4303
+ * Default: 20
4304
+ */
4305
+ headerHeight?: number;
4306
+
4307
+ /**
4308
+ * The width of the element that appears when an item is dragged (in pixel).
4309
+ * Default: 300
4310
+ */
4311
+ dragProxyWidth?: number;
4312
+
4313
+ /**
4314
+ * The height of the element that appears when an item is dragged (in pixel).
4315
+ * Default: 200
4316
+ */
4317
+ dragProxyHeight?: number;
4318
+ }
4319
+
3738
4320
  /**
3739
4321
  * @interface
3740
4322
  */
@@ -3767,12 +4349,52 @@ declare type DisabledMovementBoundsChangingEvent = BoundsChangeEvent & {
3767
4349
  type: 'disabled-movement-bounds-changing';
3768
4350
  };
3769
4351
 
4352
+ /**
4353
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4354
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4355
+ * this is their meaning.
4356
+ */
4357
+ declare interface DisplayMetadata {
4358
+ /**
4359
+ * A user-readable name for this channel, e.g: `"Red"`
4360
+ */
4361
+ readonly name?: string;
4362
+ /**
4363
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4364
+ */
4365
+ readonly color?: string;
4366
+ /**
4367
+ * A URL of an image that can be used to display this channel
4368
+ */
4369
+ readonly glyph?: string;
4370
+ }
4371
+
4372
+ /**
4373
+ * A system channel will be global enough to have a presence across many apps. This gives us some hints
4374
+ * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4375
+ * this is their meaning.
4376
+ */
4377
+ declare interface DisplayMetadata_2 {
4378
+ /**
4379
+ * A user-readable name for this channel, e.g: `"Red"`
4380
+ */
4381
+ readonly name?: string;
4382
+ /**
4383
+ * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4384
+ */
4385
+ readonly color?: string;
4386
+ /**
4387
+ * A URL of an image that can be used to display this channel
4388
+ */
4389
+ readonly glyph?: string;
4390
+ }
4391
+
3770
4392
  /**
3771
4393
  * The display data for a context group.
3772
4394
  *
3773
4395
  * @interface
3774
4396
  */
3775
- declare type DisplayMetadata = {
4397
+ declare type DisplayMetadata_3 = {
3776
4398
  /**
3777
4399
  * A user-readable name for this context group, e.g: `"Red"`
3778
4400
  */
@@ -3843,6 +4465,8 @@ declare type Dpi = {
3843
4465
  vertical?: number;
3844
4466
  };
3845
4467
 
4468
+ declare interface DragSource {}
4469
+
3846
4470
  /**
3847
4471
  * Generated when a window has been embedded.
3848
4472
  * @interface
@@ -4065,6 +4689,43 @@ declare class EventAggregator extends EmitterMap {
4065
4689
  dispatchEvent: (message: Message<any>) => boolean;
4066
4690
  }
4067
4691
 
4692
+ declare interface EventEmitter_2 {
4693
+ [x: string]: any;
4694
+ /**
4695
+ * Subscribe to an event
4696
+ * @param eventName The name of the event to describe to
4697
+ * @param callback The function that should be invoked when the event occurs
4698
+ * @param context The value of the this pointer in the callback function
4699
+ */
4700
+ on(eventName: string, callback: Function, context?: any): void;
4701
+
4702
+ /**
4703
+ * Notify listeners of an event and pass arguments along
4704
+ * @param eventName The name of the event to emit
4705
+ */
4706
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4707
+
4708
+ /**
4709
+ * Alias for emit
4710
+ */
4711
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4712
+
4713
+ /**
4714
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
4715
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
4716
+ * arguments.
4717
+ * @param eventName The name of the event to unsubscribe from
4718
+ * @param callback The function that should be invoked when the event occurs
4719
+ * @param context The value of the this pointer in the callback function
4720
+ */
4721
+ unbind(eventName: string, callback?: Function, context?: any): void;
4722
+
4723
+ /**
4724
+ * Alias for unbind
4725
+ */
4726
+ off(eventName: string, callback?: Function, context?: any): void;
4727
+ }
4728
+
4068
4729
  /**
4069
4730
  * Handler for an event on an EventEmitter.
4070
4731
  * @remarks Selects the correct type for the event
@@ -4364,6 +5025,13 @@ declare type FaviconUpdatedEvent = NamedEvent & {
4364
5025
  favicons: string[];
4365
5026
  };
4366
5027
 
5028
+ declare namespace FDC3 {
5029
+ export {
5030
+ v1,
5031
+ v2
5032
+ }
5033
+ }
5034
+
4367
5035
  /**
4368
5036
  * @interface
4369
5037
  */
@@ -4556,8 +5224,8 @@ declare type FindInPageResult = {
4556
5224
  /**
4557
5225
  * @interface
4558
5226
  */
4559
- declare type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
4560
- context: Context;
5227
+ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
5228
+ context: Context_3;
4561
5229
  metadata?: MetadataType;
4562
5230
  };
4563
5231
 
@@ -4961,27 +5629,265 @@ declare class GlobalHotkey extends EmitterBase<OpenFin_2.GlobalHotkeyEvent> {
4961
5629
  * });
4962
5630
  * ```
4963
5631
  */
4964
- isRegistered(hotkey: string): Promise<boolean>;
4965
- }
5632
+ isRegistered(hotkey: string): Promise<boolean>;
5633
+ }
5634
+
5635
+ /**
5636
+ * [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
5637
+ * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5638
+ * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
5639
+ */
5640
+ declare type GlobalHotkeyEvent = {
5641
+ topic: 'global-hotkey';
5642
+ hotkey: 'string';
5643
+ } & (RegisteredEvent | UnregisteredEvent);
5644
+
5645
+ declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5646
+
5647
+ declare namespace GlobalHotkeyEvents {
5648
+ export {
5649
+ RegisteredEvent,
5650
+ UnregisteredEvent,
5651
+ GlobalHotkeyEvent
5652
+ }
5653
+ }
5654
+
5655
+ declare namespace GoldenLayout {
5656
+ export {
5657
+ GoldenLayout_2 as GoldenLayout,
5658
+ ItemConfigType,
5659
+ Settings,
5660
+ Dimensions,
5661
+ Labels,
5662
+ ItemType,
5663
+ ItemConfig,
5664
+ ComponentConfig,
5665
+ ReactComponentConfig,
5666
+ Config,
5667
+ ContentItem,
5668
+ Container,
5669
+ DragSource,
5670
+ BrowserWindow,
5671
+ Header,
5672
+ Tab,
5673
+ EventEmitter_2 as EventEmitter
5674
+ }
5675
+ }
5676
+
5677
+ declare class GoldenLayout_2 implements EventEmitter_2 {
5678
+ /**
5679
+ * The topmost item in the layout item tree. In browser terms: Think of the GoldenLayout instance as window
5680
+ * object and of goldenLayout.root as the document.
5681
+ */
5682
+ root: ContentItem;
5683
+
5684
+ /**
5685
+ * A reference to the (jQuery) DOM element containing the layout
5686
+ */
5687
+ container: JQuery;
5688
+
5689
+ /**
5690
+ * True once the layout item tree has been created and the initialised event has been fired
5691
+ */
5692
+ isInitialised: boolean;
5693
+
5694
+ /**
5695
+ * A reference to the current, extended top level config.
5696
+ *
5697
+ * Don't rely on this object for state saving / serialisation. Use layout.toConfig() instead.
5698
+ */
5699
+ config: Config;
5700
+
5701
+ /**
5702
+ * The currently selected item or null if no item is selected. Only relevant if settings.selectionEnabled is set
5703
+ * to true.
5704
+ */
5705
+ selectedItem: ContentItem;
5706
+
5707
+ /**
5708
+ * The current outer width of the layout in pixels.
5709
+ */
5710
+ width: number;
5711
+
5712
+ /**
5713
+ * The current outer height of the layout in pixels.
5714
+ */
5715
+ height: number;
5716
+
5717
+ /**
5718
+ * An array of BrowserWindow instances
5719
+ */
5720
+ openPopouts: BrowserWindow[];
5721
+
5722
+ /**
5723
+ * True if the layout has been opened as a popout by another layout.
5724
+ */
5725
+ isSubWindow: boolean;
5726
+
5727
+ /**
5728
+ * A singleton instance of EventEmitter that works across windows
5729
+ */
5730
+ eventHub: EventEmitter_2;
5731
+
5732
+ _dragProxy: any;
5733
+
5734
+ dropTargetIndicator: any;
5735
+
5736
+ /**
5737
+ * @param config A GoldenLayout configuration object
5738
+ * @param container The DOM element the layout will be initialised in. Default: document.body
5739
+ */
5740
+ constructor(configuration: Config, container?: Element | HTMLElement | JQuery);
5741
+
5742
+ /*
5743
+ * @param name The name of the component, as referred to by componentName in the component configuration.
5744
+ * @param component A constructor or factory function. Will be invoked with new and two arguments, a
5745
+ * containerobject and a component state
5746
+ */
5747
+ registerComponent(name: String, component: any): void;
5748
+
5749
+ /**
5750
+ * Renders the layout into the container. If init() is called before the document is ready it attaches itself as
5751
+ * a listener to the document and executes once it becomes ready.
5752
+ */
5753
+ init(): void;
5754
+
5755
+ /**
5756
+ * Returns the current state of the layout and its components as a serialisable object.
5757
+ */
5758
+ toConfig(): Config;
5759
+
5760
+ /**
5761
+ * Returns a component that was previously registered with layout.registerComponent().
5762
+ * @param name The name of a previously registered component
5763
+ */
5764
+ getComponent(name: string): any;
5765
+
5766
+ /**
5767
+ * Resizes the layout. If no arguments are provided GoldenLayout measures its container and resizes accordingly.
5768
+ * @param width The outer width the layout should be resized to. Default: The container elements width
5769
+ * @param height The outer height the layout should be resized to. Default: The container elements height
5770
+ */
5771
+ updateSize(width?: number, height?: number): void;
5772
+
5773
+ /**
5774
+ * Destroys the layout. Recursively calls destroy on all components and content items, removes all event
5775
+ * listeners and finally removes itself from the DOM.
5776
+ */
5777
+ destroy(): void;
5778
+
5779
+ /**
5780
+ * Creates a new content item or tree of content items from configuration. Usually you wouldn't call this
5781
+ * directly, but instead use methods like layout.createDragSource(), item.addChild() or item.replaceChild() that
5782
+ * all call this method implicitly.
5783
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5784
+ * @param parent A parent item
5785
+ */
5786
+ createContentItem(
5787
+ itemConfiguration?: ItemConfigType,
5788
+ parent?: ContentItem
5789
+ ): ContentItem;
5790
+
5791
+ /**
5792
+ * Creates a new popout window with configOrContentItem as contents at the position specified in dimensions
5793
+ * @param configOrContentItem The content item or config that will be created in the new window. If a item is
5794
+ * provided its config will be read, if config is provided, only the content key
5795
+ * will be used
5796
+ * @param dimensions A map containing the keys left, top, width and height. Left and top can be negative to
5797
+ * place the window in another screen.
5798
+ * @param parentId The id of the item within the current layout the child window's content will be appended to
5799
+ * when popIn is clicked
5800
+ * @param indexInParent The index at which the child window's contents will be appended to. Default: null
5801
+ */
5802
+ createPopout(
5803
+ configOrContentItem: ItemConfigType | ContentItem,
5804
+ dimensions: {
5805
+ width: number;
5806
+ height: number;
5807
+ left: number;
5808
+ top: number;
5809
+ },
5810
+ parentId?: string,
5811
+ indexInParent?: number
5812
+ ): void;
5813
+
5814
+ /**
5815
+ * Turns a DOM element into a dragSource, meaning that the user can drag the element directly onto the layout
5816
+ * where it turns into a contentItem.
5817
+ * @param element The DOM element that will be turned into a dragSource
5818
+ * @param itemConfiguration An item configuration (can be an entire tree of items)
5819
+ * @return the dragSource that was created. This can be used to remove the
5820
+ * dragSource from the layout later.
5821
+ */
5822
+ createDragSource(
5823
+ element: HTMLElement | JQuery,
5824
+ itemConfiguration: ItemConfigType
5825
+ ): DragSource;
5826
+
5827
+ /**
5828
+ * Removes a dragSource from the layout.
5829
+ *
5830
+ * @param dragSource The dragSource to remove
5831
+ */
5832
+ removeDragSource(dragSource: DragSource): void;
5833
+
5834
+ /**
5835
+ * If settings.selectionEnabled is set to true, this allows to select items programmatically.
5836
+ * @param contentItem A ContentItem instance
5837
+ */
5838
+ selectItem(contentItem: ContentItem): void;
5839
+
5840
+ /**
5841
+ * Static method on the GoldenLayout constructor! This method will iterate through a GoldenLayout config object
5842
+ * and replace frequent keys and values with single letter substitutes.
5843
+ * @param config A GoldenLayout configuration object
5844
+ */
5845
+ static minifyConfig(config: any): any;
5846
+
5847
+ /**
5848
+ * Static method on the GoldenLayout constructor! This method will reverse the minifications of minifyConfig.
5849
+ * @param minifiedConfig A minified GoldenLayout configuration object
5850
+ */
5851
+ static unminifyConfig(minifiedConfig: any): any;
5852
+
5853
+ /**
5854
+ * Subscribe to an event
5855
+ * @param eventName The name of the event to describe to
5856
+ * @param callback The function that should be invoked when the event occurs
5857
+ * @param context The value of the this pointer in the callback function
5858
+ */
5859
+ on(eventName: string, callback: Function, context?: any): void;
4966
5860
 
4967
- /**
4968
- * [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
4969
- * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
4970
- * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
4971
- */
4972
- declare type GlobalHotkeyEvent = {
4973
- topic: 'global-hotkey';
4974
- hotkey: 'string';
4975
- } & (RegisteredEvent | UnregisteredEvent);
5861
+ /**
5862
+ * Notify listeners of an event and pass arguments along
5863
+ * @param eventName The name of the event to emit
5864
+ */
5865
+ emit(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4976
5866
 
4977
- declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5867
+ /**
5868
+ * Alias for emit
5869
+ */
5870
+ trigger(eventName: string, arg1?: any, arg2?: any, ...argN: any[]): void;
4978
5871
 
4979
- declare namespace GlobalHotkeyEvents {
4980
- export {
4981
- RegisteredEvent,
4982
- UnregisteredEvent,
4983
- GlobalHotkeyEvent
4984
- }
5872
+ /**
5873
+ * Unsubscribes either all listeners if just an eventName is provided, just a specific callback if invoked with
5874
+ * eventName and callback or just a specific callback with a specific context if invoked with all three
5875
+ * arguments.
5876
+ * @param eventName The name of the event to unsubscribe from
5877
+ * @param callback The function that should be invoked when the event occurs
5878
+ * @param context The value of the this pointer in the callback function
5879
+ */
5880
+ unbind(eventName: string, callback?: Function, context?: any): void;
5881
+
5882
+ /**
5883
+ * Alias for unbind
5884
+ */
5885
+ off(eventName: string, callback?: Function, context?: any): void;
5886
+
5887
+ /**
5888
+ * Internal method that create drop areas on the far edges of window, e.g. far-right of window
5889
+ */
5890
+ _$createRootItemAreas(): void;
4985
5891
  }
4986
5892
 
4987
5893
  /**
@@ -4991,6 +5897,62 @@ declare type GpuInfo = {
4991
5897
  name: string;
4992
5898
  };
4993
5899
 
5900
+ declare interface Header {
5901
+ /**
5902
+ * A reference to the LayoutManager instance
5903
+ */
5904
+ layoutManager: GoldenLayout_2;
5905
+
5906
+ /**
5907
+ * A reference to the Stack this Header belongs to
5908
+ */
5909
+ parent: ContentItem;
5910
+
5911
+ /**
5912
+ * An array of the Tabs within this header
5913
+ */
5914
+ tabs: Tab[];
5915
+
5916
+ /**
5917
+ * The currently selected activeContentItem
5918
+ */
5919
+ activeContentItem: ContentItem;
5920
+
5921
+ /**
5922
+ * The outer (jQuery) DOM element of this Header
5923
+ */
5924
+ element: JQuery;
5925
+
5926
+ /**
5927
+ * The (jQuery) DOM element containing the tabs
5928
+ */
5929
+ tabsContainer: JQuery;
5930
+
5931
+ /**
5932
+ * The (jQuery) DOM element containing the close, maximise and popout button
5933
+ */
5934
+ controlsContainer: JQuery;
5935
+
5936
+ /**
5937
+ * Hides the currently selected contentItem, shows the specified one and highlights its tab.
5938
+ * @param contentItem The content item that will be selected
5939
+ */
5940
+ setActiveContentItem(contentItem: ContentItem): void;
5941
+
5942
+ /**
5943
+ * Creates a new tab and associates it with a content item
5944
+ * @param contentItem The content item the tab will be associated with
5945
+ * @param index A zero based index, specifying the position of the new tab
5946
+ */
5947
+ createTab(contentItem: ContentItem, index?: number): void;
5948
+
5949
+ /**
5950
+ * Finds a tab by its contentItem and removes it
5951
+ * @param contentItem The content item the tab is associated with
5952
+ */
5953
+ removeTab(contentItem: ContentItem): void;
5954
+ }
5955
+
4994
5956
  /**
4995
5957
  * Generated when a View is hidden.
4996
5958
  * @interface
@@ -5076,6 +6038,15 @@ declare type HotkeyEvent = BaseViewEvent & {
5076
6038
  type: 'hotkey';
5077
6039
  };
5078
6040
 
6041
+ declare interface Icon {
6042
+ /** The icon url */
6043
+ readonly src: string;
6044
+ /** The icon dimension, formatted as `<height>x<width>`. */
6045
+ readonly size?: string;
6046
+ /** Icon media type. If not present the Desktop Agent may use the src file extension. */
6047
+ readonly type?: string;
6048
+ }
6049
+
5079
6050
  declare type Identity = OpenFin_2.Identity;
5080
6051
 
5081
6052
  declare type Identity_2 = OpenFin_2.Identity;
@@ -5128,6 +6099,17 @@ declare type IdleEvent = {
5128
6099
  isIdle: boolean;
5129
6100
  };
5130
6101
 
6102
+ declare interface Image_2 {
6103
+ /** The image url. */
6104
+ readonly src: string;
6105
+ /** The image dimension, formatted as `<height>x<width>`. */
6106
+ readonly size?: string;
6107
+ /** Image media type. If not present the Desktop Agent may use the src file extension. */
6108
+ readonly type?: string;
6109
+ /** Caption for the image. */
6110
+ readonly label?: string;
6111
+ }
6112
+
5131
6113
  declare type ImageFormatOptions = {
5132
6114
  format: 'dataURL' | 'png' | 'bmp';
5133
6115
  } | {
@@ -5138,15 +6120,57 @@ declare type ImageFormatOptions = {
5138
6120
  quality?: number;
5139
6121
  };
5140
6122
 
6123
+ /**
6124
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6125
+ */
6126
+ declare interface ImplementationMetadata {
6127
+ /** The version number of the FDC3 specification that the implementation provides.
6128
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6129
+ */
6130
+ readonly fdc3Version: string;
6131
+ /** The name of the provider of the FDC3 Desktop Agent Implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6132
+ readonly provider: string;
6133
+ /** The version of the provider of the FDC3 Desktop Agent Implementation (e.g. 5.3.0). */
6134
+ readonly providerVersion?: string;
6135
+ }
6136
+
6137
+ /**
6138
+ * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6139
+ */
6140
+ declare interface ImplementationMetadata_2 {
6141
+ /** The version number of the FDC3 specification that the implementation provides.
6142
+ * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
6143
+ */
6144
+ readonly fdc3Version: string;
6145
+ /** The name of the provider of the Desktop Agent implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
6146
+ readonly provider: string;
6147
+ /** The version of the provider of the Desktop Agent implementation (e.g. 5.3.0). */
6148
+ readonly providerVersion?: string;
6149
+ /** Metadata indicating whether the Desktop Agent implements optional features of
6150
+ * the Desktop Agent API.
6151
+ */
6152
+ readonly optionalFeatures: {
6153
+ /** Used to indicate whether the exposure of 'originating app metadata' for
6154
+ * context and intent messages is supported by the Desktop Agent. */
6155
+ readonly OriginatingAppMetadata: boolean;
6156
+ /** Used to indicate whether the optional `fdc3.joinUserChannel`,
6157
+ * `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by
6158
+ * the Desktop Agent. */
6159
+ readonly UserChannelMembershipAPIs: boolean;
6160
+ };
6161
+ /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */
6162
+ readonly appMetadata: AppMetadata_2;
6163
+ }
6164
+
5141
6165
  /**
5142
6166
  * @interface
5143
6167
  */
5144
- declare type InfoForIntentOptions<MetadataType = IntentMetadata> = {
6168
+ declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
5145
6169
  /**
5146
6170
  * Name of the intent to get info for.
5147
6171
  */
5148
6172
  name: string;
5149
- context?: Context;
6173
+ context?: Context_3;
5150
6174
  metadata?: MetadataType;
5151
6175
  };
5152
6176
 
@@ -5219,10 +6243,16 @@ declare type InstalledApps_2 = {
5219
6243
  [key: string]: InstallationInfo;
5220
6244
  };
5221
6245
 
6246
+ declare interface Intent {
6247
+ name: string;
6248
+ context: Context_2;
6249
+ metadata: IntentMetadata_2;
6250
+ }
6251
+
5222
6252
  /**
5223
6253
  * Combination of an action and a context that is passed to an application for resolution.
5224
6254
  */
5225
- declare type Intent<MetadataType = IntentMetadata> = {
6255
+ declare type Intent_2<MetadataType = IntentMetadata_3> = {
5226
6256
  /**
5227
6257
  * Name of the intent.
5228
6258
  */
@@ -5230,25 +6260,54 @@ declare type Intent<MetadataType = IntentMetadata> = {
5230
6260
  /**
5231
6261
  * Data associated with the intent.
5232
6262
  */
5233
- context: Context;
6263
+ context: Context_3;
5234
6264
  metadata?: MetadataType;
5235
6265
  };
5236
6266
 
6267
+ declare type IntentHandler = (context: Context_2, metadata?: ContextMetadata) => Promise<IntentResult> | void;
6268
+
5237
6269
  /**
5238
6270
  * Subscription function for registerIntentHandler.
5239
6271
  */
5240
- declare type IntentHandler = (intent: Intent) => void;
6272
+ declare type IntentHandler_2 = (intent: Intent_2) => void;
5241
6273
 
5242
6274
  /**
5243
- * The type used to describe an intent within the platform.
5244
- * @interface
6275
+ * Intent descriptor
5245
6276
  */
5246
- declare type IntentMetadata<TargetType = any> = {
6277
+ declare interface IntentMetadata {
6278
+ /** The unique name of the intent that can be invoked by the raiseIntent call */
6279
+ readonly name: string;
6280
+ /** A friendly display name for the intent that should be used to render UI elements */
6281
+ readonly displayName: string;
6282
+ }
6283
+
6284
+ declare type IntentMetadata_2<TargetType = any> = {
5247
6285
  target?: TargetType;
5248
6286
  resultType?: string;
5249
6287
  intentResolutionResultId?: string;
5250
6288
  };
5251
6289
 
6290
+ /**
6291
+ * The type used to describe an intent within the platform.
6292
+ * @interface
6293
+ */
6294
+ declare type IntentMetadata_3<TargetType = any> = FDC3.v2.IntentMetadata<TargetType>;
6295
+
6296
+ declare interface IntentResolution {
6297
+ source: TargetApp;
6298
+ data?: object;
6299
+ version: string;
6300
+ }
6301
+
6302
+ declare interface IntentResolution_2 {
6303
+ source: AppIdentifier;
6304
+ intent: string;
6305
+ version?: string;
6306
+ getResult(): Promise<IntentResult>;
6307
+ }
6308
+
6309
+ declare type IntentResult = Context_2 | Channel_4 | PrivateChannel;
6310
+
5252
6311
  /**
5253
6312
  * A messaging bus that allows for pub/sub messaging between different applications.
5254
6313
  *
@@ -5838,23 +6897,23 @@ declare class InteropBroker extends Base {
5838
6897
  * @param clientIdentity Identity of the Client making the request.
5839
6898
  */
5840
6899
  fdc3HandleOpen({ app, context }: {
5841
- app: TargetApp | AppIdentifier;
6900
+ app: FDC3.v1.TargetApp | FDC3.v2.AppIdentifier;
5842
6901
  context: OpenFin_2.Context;
5843
- }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void | AppIdentifier>;
6902
+ }, clientIdentity: OpenFin_2.ClientIdentity): Promise<void | FDC3.v2.AppIdentifier>;
5844
6903
  /**
5845
6904
  * Responsible for resolving the fdc3.findInstances call.
5846
6905
  * Must be overridden
5847
6906
  * @param app AppIdentifier that was passed to fdc3.findInstances
5848
6907
  * @param clientIdentity Identity of the Client making the request.
5849
6908
  */
5850
- fdc3HandleFindInstances(app: AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
6909
+ fdc3HandleFindInstances(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
5851
6910
  /**
5852
6911
  * Responsible for resolving the fdc3.getAppMetadata call.
5853
6912
  * Must be overridden
5854
6913
  * @param app AppIdentifier that was passed to fdc3.getAppMetadata
5855
6914
  * @param clientIdentity Identity of the Client making the request.
5856
6915
  */
5857
- fdc3HandleGetAppMetadata(app: AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
6916
+ fdc3HandleGetAppMetadata(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin_2.ClientIdentity): Promise<unknown>;
5858
6917
  /**
5859
6918
  * This function is called by the Interop Broker whenever a Context handler would fire.
5860
6919
  * For FDC3 2.0 you would need to override this function and add the contextMetadata as
@@ -6621,6 +7680,50 @@ declare class InteropModule extends Base {
6621
7680
  connectSync(name: string, interopConfig?: OpenFin_2.InteropConfig): InteropClient;
6622
7681
  }
6623
7682
 
7683
+ declare interface ItemConfig {
7684
+ /**
7685
+ * The type of the item. Possible values are 'row', 'column', 'stack', 'component' and 'react-component'.
7686
+ */
7687
+ type: ItemType;
7688
+
7689
+ /**
7690
+ * An array of configurations for items that will be created as children of this item.
7691
+ */
7692
+ content?: ItemConfigType[];
7693
+
7694
+ /**
7695
+ * The width of this item, relative to the other children of its parent in percent
7696
+ */
7697
+ width?: number;
7698
+
7699
+ /**
7700
+ * The height of this item, relative to the other children of its parent in percent
7701
+ */
7702
+ height?: number;
7703
+
7704
+ /**
7705
+ * A String or an Array of Strings. Used to retrieve the item using item.getItemsById()
7706
+ */
7707
+ id?: string | string[];
7708
+
7709
+ /**
7710
+ * Determines if the item is closable. If false, the x on the items tab will be hidden and container.close()
7711
+ * will return false
7712
+ * Default: true
7713
+ */
7714
+ isClosable?: boolean;
7715
+
7716
+ /**
7717
+ * The title of the item as displayed on its tab and on popout windows
7718
+ * Default: componentName or ''
7719
+ */
7720
+ title?: string;
7721
+ }
7722
+
7723
+ declare type ItemConfigType = ItemConfig | ComponentConfig | ReactComponentConfig;
7724
+
7725
+ declare type ItemType = 'row' | 'column' | 'stack' | 'root' | 'component';
7726
+
6624
7727
  /**
6625
7728
  * @interface
6626
7729
  */
@@ -6678,6 +7781,32 @@ declare type JumpListTask = {
6678
7781
  iconIndex?: number;
6679
7782
  };
6680
7783
 
7784
+ declare interface Labels {
7785
+ /**
7786
+ * The tooltip text that appears when hovering over the close icon.
7787
+ * Default: 'close'
7788
+ */
7789
+ close?: string;
7790
+
7791
+ /**
7792
+ * The tooltip text that appears when hovering over the maximise icon.
7793
+ * Default: 'maximise'
7794
+ */
7795
+ maximise?: string;
7796
+
7797
+ /**
7798
+ * The tooltip text that appears when hovering over the minimise icon.
7799
+ * Default: 'minimise'
7800
+ */
7801
+ minimise?: string;
7802
+
7803
+ /**
7804
+ * The tooltip text that appears when hovering over the popout icon.
7805
+ * Default: 'open in new window'
7806
+ */
7807
+ popout?: string;
7808
+ }
7809
+
6681
7810
  /**
6682
7811
  * The LaunchEmitter is an `EventEmitter`. It can listen to app version resolver events.
6683
7812
  *
@@ -6911,6 +8040,16 @@ declare class Layout extends Base {
6911
8040
  * ```
6912
8041
  */
6913
8042
  getConfig(): Promise<any>;
8043
+ /**
8044
+ * Retrieves the attached views in current window layout.
8045
+ *
8046
+ * @example
8047
+ * ```js
8048
+ * const layout = fin.Platform.Layout.getCurrentSync();
8049
+ * const views = await layout.getCurrentViews();
8050
+ * ```
8051
+ */
8052
+ getCurrentViews(): Promise<OpenFin_2.View[]>;
6914
8053
  /**
6915
8054
  * Replaces a Platform window's layout with a new layout.
6916
8055
  *
@@ -7181,6 +8320,7 @@ declare class LayoutManager {
7181
8320
  private setBackgroundImage;
7182
8321
  private setBackgroundImages;
7183
8322
  private getFrameSnapshot;
8323
+ private getCurrentViews;
7184
8324
  private addView;
7185
8325
  private replaceView;
7186
8326
  private removeView;
@@ -7442,7 +8582,21 @@ declare type LayoutRow = LayoutItemConfig & {
7442
8582
  */
7443
8583
  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'>;
7444
8584
 
7445
- declare type Listener<T extends {
8585
+ declare interface Listener {
8586
+ /**
8587
+ * Unsubscribe the listener object.
8588
+ */
8589
+ unsubscribe(): void;
8590
+ }
8591
+
8592
+ declare interface Listener_2 {
8593
+ /**
8594
+ * Unsubscribe the listener object.
8595
+ */
8596
+ unsubscribe(): void;
8597
+ }
8598
+
8599
+ declare type Listener_3<T extends {
7446
8600
  type: string;
7447
8601
  }> = (payload: T) => void;
7448
8602
 
@@ -8182,6 +9336,10 @@ declare type Opacity = TransitionBase & {
8182
9336
  opacity: number;
8183
9337
  };
8184
9338
 
9339
+ declare type OpenExternalPermission = VerboseWebPermission & {
9340
+ protocols: string[];
9341
+ };
9342
+
8185
9343
  declare namespace OpenFin_2 {
8186
9344
  export {
8187
9345
  FinApi,
@@ -8232,11 +9390,11 @@ declare namespace OpenFin_2 {
8232
9390
  ApplicationOptions,
8233
9391
  InteropBrokerOptions,
8234
9392
  ContextGroupInfo,
8235
- DisplayMetadata,
9393
+ DisplayMetadata_3 as DisplayMetadata,
8236
9394
  LegacyWinOptionsInAppOptions,
8237
9395
  Snapshot,
8238
9396
  ContextGroupStates,
8239
- Context,
9397
+ Context_3 as Context,
8240
9398
  MonitorInfo,
8241
9399
  Point,
8242
9400
  PointTopLeft,
@@ -8301,6 +9459,8 @@ declare namespace OpenFin_2 {
8301
9459
  LaunchExternalProcessRule,
8302
9460
  SystemPermissions,
8303
9461
  WebPermission,
9462
+ VerboseWebPermission,
9463
+ OpenExternalPermission,
8304
9464
  Permissions_2 as Permissions,
8305
9465
  PlatformWindowCreationOptions,
8306
9466
  PlatformWindowOptions,
@@ -8405,10 +9565,10 @@ declare namespace OpenFin_2 {
8405
9565
  FileDownloadBehaviorNames,
8406
9566
  FileDownloadSettings,
8407
9567
  DownloadRule,
8408
- ContextHandler,
8409
- Intent,
8410
- IntentMetadata,
8411
- IntentHandler,
9568
+ ContextHandler_3 as ContextHandler,
9569
+ Intent_2 as Intent,
9570
+ IntentMetadata_3 as IntentMetadata,
9571
+ IntentHandler_2 as IntentHandler,
8412
9572
  ContentCreationBehaviorNames,
8413
9573
  MatchPattern,
8414
9574
  ContentCreationRule,
@@ -10255,6 +11415,14 @@ declare type PrintOptions = {
10255
11415
  dpi?: Dpi;
10256
11416
  };
10257
11417
 
11418
+ declare type PrivateChannel = Omit<Channel_4, 'addContextListener'> & {
11419
+ addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
11420
+ onAddContextListener(handler: (contextType?: string) => void): Listener_2;
11421
+ onUnsubscribe(handler: (contextType?: string) => void): Listener_2;
11422
+ onDisconnect(handler: () => void): Listener_2;
11423
+ disconnect(): void;
11424
+ };
11425
+
10258
11426
  /**
10259
11427
  * Strategy to assign views to process affinity by domain.
10260
11428
  *
@@ -10707,6 +11875,18 @@ declare type QueryPermissionResult = {
10707
11875
  rawValue?: unknown;
10708
11876
  };
10709
11877
 
11878
+ declare interface ReactComponentConfig extends ItemConfig {
11879
+ /**
11880
+ * The name of the component as specified in layout.registerComponent. Mandatory if type is 'react-component'
11881
+ */
11882
+ component: string;
11883
+
11884
+ /**
11885
+ * Properties that will be passed to the component and accessible using this.props.
11886
+ */
11887
+ props?: any;
11888
+ }
11889
+
10710
11890
  /**
10711
11891
  * @interface
10712
11892
  */
@@ -11167,23 +12347,114 @@ declare type SessionContextGroup = {
11167
12347
  * A SessionContextGroup instance method for setting a context in the SessionContextGroup.
11168
12348
  * @param context The Context to be set.
11169
12349
  */
11170
- setContext: (context: Context) => Promise<void>;
12350
+ setContext: (context: Context_3) => Promise<void>;
11171
12351
  /**
11172
12352
  * A SessionContextGroup instance method for getting the current context of a certain type.
11173
12353
  * @param type The Context Type to get. If not specified the last contextType set would get used.
11174
12354
  */
11175
- getCurrentContext: (type?: string) => Promise<Context>;
12355
+ getCurrentContext: (type?: string) => Promise<Context_3>;
11176
12356
  /**
11177
12357
  * A SessionContextGroup instance method for adding a handler for context change.
11178
12358
  * @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.
11179
12359
  * @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.
11180
12360
  *
11181
12361
  */
11182
- addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
12362
+ addContextHandler: (handler: ContextHandler_3, contextType?: string) => Promise<{
11183
12363
  unsubscribe: () => void;
11184
12364
  }>;
11185
12365
  };
11186
12366
 
12367
+ declare interface Settings {
12368
+ preventSplitterResize?: boolean;
12369
+
12370
+ newTabButton?: {
12371
+ url?: string;
12372
+ };
12373
+
12374
+ /**
12375
+ * If true, tabs can't be dragged into the window.
12376
+ * Default: false
12377
+ */
12378
+ preventDragIn?: boolean;
12379
+
12380
+ /**
12381
+ * If true, tabs can't be dragged out of the window.
12382
+ * Default: false
12383
+ */
12384
+ preventDragOut?: boolean;
12385
+
12386
+ /**
12387
+ * If true, stack headers are the only areas where tabs can be dropped.
12388
+ * Default: false
12389
+ */
12390
+ constrainDragToHeaders?: boolean;
12391
+ /**
12392
+ * Turns headers on or off. If false, the layout will be displayed with splitters only.
12393
+ * Default: true
12394
+ */
12395
+ hasHeaders?: boolean;
12396
+
12397
+ /**
12398
+ * (Unused in Openfin Platform) Constrains the area in which items can be dragged to the layout's container. Will be set to false
12399
+ * automatically when layout.createDragSource() is called.
12400
+ * Default: true
12401
+ */
12402
+ constrainDragToContainer?: boolean;
12403
+
12404
+ /**
12405
+ * If true, the user can re-arrange the layout by dragging items by their tabs to the desired location.
12406
+ * Default: true
12407
+ */
12408
+ reorderEnabled?: boolean;
12409
+
12410
+ /**
12411
+ * If true, the user can select items by clicking on their header. This sets the value of layout.selectedItem to
12412
+ * the clicked item, highlights its header and the layout emits a 'selectionChanged' event.
12413
+ * Default: false
12414
+ */
12415
+ selectionEnabled?: boolean;
12416
+
12417
+ /**
12418
+ * Decides what will be opened in a new window if the user clicks the popout icon. If true the entire stack will
12419
+ * be transferred to the new window, if false only the active component will be opened.
12420
+ * Default: false
12421
+ */
12422
+ popoutWholeStack?: boolean;
12423
+
12424
+ /**
12425
+ * Specifies if an error is thrown when a popout is blocked by the browser (e.g. by opening it programmatically).
12426
+ * If false, the popout call will fail silently.
12427
+ * Default: true
12428
+ */
12429
+ blockedPopoutsThrowError?: boolean;
12430
+
12431
+ /**
12432
+ * Specifies if all popouts should be closed when the page that created them is closed. Popouts don't have a
12433
+ * strong dependency on their parent and can exist on their own, but can be quite annoying to close by hand. In
12434
+ * addition, any changes made to popouts won't be stored after the parent is closed.
12435
+ * Default: true
12436
+ */
12437
+ closePopoutsOnUnload?: boolean;
12438
+
12439
+ /**
12440
+ * Specifies if the popout icon should be displayed in the header-bar.
12441
+ * Default: true
12442
+ */
12443
+ showPopoutIcon?: boolean;
12444
+
12445
+ /**
12446
+ * Specifies if the maximise icon should be displayed in the header-bar.
12447
+ * Default: true
12448
+ */
12449
+ showMaximiseIcon?: boolean;
12450
+
12451
+ /**
12452
+ * Specifies if the close icon should be displayed in the header-bar.
12453
+ * Default: true
12454
+ */
12455
+ showCloseIcon?: boolean;
12456
+ }
12457
+
11187
12458
  /**
11188
12459
  * @interface
11189
12460
  */
@@ -12926,6 +14197,12 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
12926
14197
  setDomainSettings(domainSettings: OpenFin_2.DefaultDomainSettings): Promise<void>;
12927
14198
  }
12928
14199
 
14200
+ declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast' | 'getCurrentContext'> & {
14201
+ addContextListener(): Error;
14202
+ broadcast(): Error;
14203
+ getCurrentContext(): Error;
14204
+ };
14205
+
12929
14206
  /**
12930
14207
  * [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
12931
14208
  * discriminated by {@link SystemEvent.type | their type}. Event payloads unique to `System` can be found
@@ -13011,6 +14288,52 @@ declare type SystemShutdownHandler = (shutdownEvent: {
13011
14288
  proceed: () => void;
13012
14289
  }) => void;
13013
14290
 
14291
+ declare interface Tab {
14292
+ _dragListener: EventEmitter_2;
14293
+
14294
+ /**
14295
+ * True if this tab is the selected tab
14296
+ */
14297
+ isActive: boolean;
14298
+
14299
+ /**
14300
+ * A reference to the header this tab is a child of
14301
+ */
14302
+ header: Header;
14303
+
14304
+ /**
14305
+ * A reference to the content item this tab relates to
14306
+ */
14307
+ contentItem: ContentItem;
14308
+
14309
+ /**
14310
+ * The tabs outer (jQuery) DOM element
14311
+ */
14312
+ element: JQuery;
14313
+
14314
+ /**
14315
+ * The (jQuery) DOM element containing the title
14316
+ */
14317
+ titleElement: JQuery;
14318
+
14319
+ /**
14320
+ * The (jQuery) DOM element that closes the tab
14321
+ */
14322
+ closeElement: JQuery;
14323
+
14324
+ /**
14325
+ * Sets the tab's title. Does not affect the contentItem's title!
14326
+ * @param title The new title
14327
+ */
14328
+ setTitle(title: string): void;
14329
+
14330
+ /**
14331
+ * Sets this tab's active state. To programmatically switch tabs, use header.setActiveContentItem( item ) instead.
14332
+ * @param isActive Whether the tab is active
14333
+ */
14334
+ setActive(isActive: boolean): void;
14335
+ }
14336
+
13014
14337
  /**
13015
14338
  * Set of apis used to facilitate tab drag interactions without needing to hide views.
13016
14339
  * @ignore
@@ -13398,13 +14721,13 @@ declare type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-i
13398
14721
  declare interface TypedEventEmitter<Event extends {
13399
14722
  type: string;
13400
14723
  }, EmitterEventType = Event['type']> {
13401
- on<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
14724
+ on<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13402
14725
  type: EventType;
13403
14726
  }>>): this;
13404
- addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
14727
+ addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13405
14728
  type: EventType;
13406
14729
  }>>): this;
13407
- removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
14730
+ removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
13408
14731
  type: EventType;
13409
14732
  }>>): this;
13410
14733
  removeAllListeners<EventType extends EmitterEventType>(event?: EmitterEventType): this;
@@ -13475,6 +14798,53 @@ declare type UserMovementEnabledEvent = NamedEvent & {
13475
14798
  type: 'user-movement-enabled';
13476
14799
  };
13477
14800
 
14801
+ declare namespace v1 {
14802
+ export {
14803
+ Listener,
14804
+ AppMetadata,
14805
+ IntentMetadata,
14806
+ AppIntent,
14807
+ DisplayMetadata,
14808
+ ImplementationMetadata,
14809
+ ContextHandler,
14810
+ TargetApp,
14811
+ Context,
14812
+ IntentResolution,
14813
+ Channel_3 as Channel,
14814
+ SystemChannel,
14815
+ DesktopAgent
14816
+ }
14817
+ }
14818
+
14819
+ declare namespace v2 {
14820
+ export {
14821
+ IntentMetadata_2 as IntentMetadata,
14822
+ AppIdentifier,
14823
+ Listener_2 as Listener,
14824
+ AppIntent_2 as AppIntent,
14825
+ ImplementationMetadata_2 as ImplementationMetadata,
14826
+ ContextMetadata,
14827
+ Icon,
14828
+ Image_2 as Image,
14829
+ AppMetadata_2 as AppMetadata,
14830
+ DisplayMetadata_2 as DisplayMetadata,
14831
+ ContextHandler_2 as ContextHandler,
14832
+ IntentHandler,
14833
+ IntentResult,
14834
+ Context_2 as Context,
14835
+ Intent,
14836
+ IntentResolution_2 as IntentResolution,
14837
+ Channel_4 as Channel,
14838
+ PrivateChannel,
14839
+ DesktopAgent_2 as DesktopAgent
14840
+ }
14841
+ }
14842
+
14843
+ declare type VerboseWebPermission = {
14844
+ api: string;
14845
+ enabled: boolean;
14846
+ };
14847
+
13478
14848
  declare type View = OpenFin_2.View;
13479
14849
 
13480
14850
  /**
@@ -15321,7 +16691,7 @@ declare namespace WebContentsEvents {
15321
16691
  * `clipboard-read`: Request access to read from the clipboard.<br>
15322
16692
  * `clipboard-sanitized-write`: Request access to write to the clipboard.
15323
16693
  */
15324
- declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write';
16694
+ declare type WebPermission = 'audio' | 'video' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' | 'clipboard-read' | 'clipboard-sanitized-write' | OpenExternalPermission;
15325
16695
 
15326
16696
  /**
15327
16697
  * Object representing headers and their values, where the