@openfin/core 34.78.50 → 34.78.52

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,4 +1,3 @@
1
- /// <reference types="jquery" />
2
1
  /// <reference types="node" />
3
2
 
4
3
  import { EventEmitter } from 'events';
@@ -43,15 +42,6 @@ declare type Accelerator = {
43
42
  zoom: boolean;
44
43
  };
45
44
 
46
- /**
47
- * @interface
48
- */
49
- declare type AddLayoutInstanceOptions = {
50
- container: HTMLDivElement;
51
- layoutName: string;
52
- layout: LayoutOptions;
53
- };
54
-
55
45
  /**
56
46
  * @interface
57
47
  */
@@ -74,7 +64,7 @@ declare type AddViewToStackOptions = {
74
64
  * Generated when an alert is fired and suppressed due to the customWindowAlert flag being true.
75
65
  * @interface
76
66
  */
77
- declare type AlertRequestedEvent = BaseWindowEvent & {
67
+ declare type AlertRequestedEvent = BaseEvent_5 & {
78
68
  type: 'alert-requested';
79
69
  message: string;
80
70
  url: string;
@@ -115,6 +105,15 @@ declare type ApiClient<T extends Record<any, any>> = {
115
105
  [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
116
106
  };
117
107
 
108
+ /**
109
+ * Generated when a new Platform's API becomes responsive.
110
+ * @interface
111
+ */
112
+ declare type ApiReadyEvent = BaseEvent & {
113
+ topic: 'application';
114
+ type: 'platform-api-ready';
115
+ };
116
+
118
117
  /**
119
118
  * @interface
120
119
  */
@@ -866,19 +865,15 @@ declare class Application extends EmitterBase<OpenFin_2.ApplicationEvent> {
866
865
  }
867
866
 
868
867
  /**
869
- * Generated when an application has authenticated and is connected.
870
- * @interface
868
+ * @deprecated Renamed to {@link ConnectedEvent}.
871
869
  */
872
- declare type ApplicationConnectedEvent = IdentityEvent & {
873
- topic: 'application';
874
- type: 'connected';
875
- };
870
+ declare type ApplicationConnectedEvent = ConnectedEvent_2;
876
871
 
877
872
  /**
878
873
  * Generated when an application is created.
879
874
  * @interface
880
875
  */
881
- declare type ApplicationCreatedEvent = BaseSystemEvent & IdentityEvent & {
876
+ declare type ApplicationCreatedEvent = BaseEvent_8 & BaseEvents.IdentityEvent & {
882
877
  type: 'application-created';
883
878
  };
884
879
 
@@ -902,17 +897,15 @@ declare type ApplicationCreationOptions = Partial<ApplicationOptions> & {
902
897
  };
903
898
 
904
899
  /**
905
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by an {@link Application}. Events are
906
- * discriminated by {@link ApplicationEvent.type | their type}. Event payloads unique to `Application` can be found
907
- * under the {@link OpenFin.ApplicationEvents} namespace (payloads inherited from propagated events are defined in the namespace
908
- * from which they propagate).
900
+ * @deprecated Renamed to {@link Event}.
909
901
  */
910
- declare type ApplicationEvent = PropagatedViewEvent<'application'> | PropagatedWindowEvent<'application'> | ApplicationWindowEvent | ApplicationSourcedEvent;
902
+ declare type ApplicationEvent = Event_3;
911
903
 
912
904
  declare type ApplicationEvent_2 = Events.ApplicationEvents.ApplicationEvent;
913
905
 
914
906
  declare namespace ApplicationEvents {
915
907
  export {
908
+ BaseEvent_3 as BaseEvent,
916
909
  BaseApplicationEvent,
917
910
  CrashedEvent,
918
911
  FileDownloadLocationChangedEvent,
@@ -925,7 +918,9 @@ declare namespace ApplicationEvents {
925
918
  WindowRespondingEvent,
926
919
  WindowStartLoadEvent,
927
920
  ApplicationWindowEvent,
921
+ ApplicationWindowEventTypes,
928
922
  ClosedEvent,
923
+ ConnectedEvent_2 as ConnectedEvent,
929
924
  ApplicationConnectedEvent,
930
925
  InitializedEvent,
931
926
  ManifestChangedEvent,
@@ -933,19 +928,23 @@ declare namespace ApplicationEvents {
933
928
  RespondingEvent,
934
929
  StartedEvent,
935
930
  ApplicationSourcedEvent,
931
+ Event_3 as Event,
936
932
  ApplicationEvent,
933
+ EventType_3 as EventType,
937
934
  ApplicationEventType,
935
+ PropagatedEvent_4 as PropagatedEvent,
938
936
  PropagatedApplicationEvent,
937
+ PropagatedEventType_3 as PropagatedEventType,
939
938
  PropagatedApplicationEventType,
940
- Payload_2 as Payload,
941
- ByType
939
+ Payload_4 as Payload,
940
+ ByType_3 as ByType
942
941
  }
943
942
  }
944
943
 
945
944
  /**
946
- * Union of possible `type` values for a {@link OpenFin.ApplicationEvents.ApplicationEvent}.
945
+ * @deprecated Renamed to {@link EventType}.
947
946
  */
948
- declare type ApplicationEventType = ApplicationEvent['type'];
947
+ declare type ApplicationEventType = EventType_3;
949
948
 
950
949
  declare type ApplicationIdentity = OpenFin_2.ApplicationIdentity;
951
950
 
@@ -1298,9 +1297,8 @@ declare type ApplicationPermissions = {
1298
1297
  * A union of all events that emit natively on the `Application` topic, i.e. excluding those that propagate
1299
1298
  * from {@link OpenFin.ViewEvents} or {@link OpenFin.WindowEvents}. Due to details in propagation prefixing rules,
1300
1299
  * does not include {@link ApplicationWindowEvent Application events that are tied to Windows but do not propagate from them}.
1301
- *
1302
1300
  */
1303
- declare type ApplicationSourcedEvent = ClosedEvent | ApplicationConnectedEvent | CrashedEvent | InitializedEvent | ManifestChangedEvent | NotRespondingEvent | RespondingEvent | RunRequestedEvent_2 | StartedEvent | TrayIconClickedEvent | FileDownloadLocationChangedEvent;
1301
+ declare type ApplicationSourcedEvent = ClosedEvent | ConnectedEvent_2 | CrashedEvent | InitializedEvent | ManifestChangedEvent | NotRespondingEvent | RespondingEvent | RunRequestedEvent_2 | StartedEvent | TrayIconClickedEvent | FileDownloadLocationChangedEvent;
1304
1302
 
1305
1303
  declare type ApplicationState = OpenFin_2.ApplicationState;
1306
1304
 
@@ -1339,6 +1337,11 @@ declare type ApplicationType = {
1339
1337
  */
1340
1338
  declare type ApplicationWindowEvent = WindowAlertRequestedEvent | WindowCreatedEvent | WindowEndLoadEvent | WindowNotRespondingEvent | WindowRespondingEvent | WindowStartLoadEvent;
1341
1339
 
1340
+ /**
1341
+ * Array of valid `type` values for an {@link ApplicationWindowEvent}.
1342
+ */
1343
+ declare const ApplicationWindowEventTypes: readonly ["window-alert-requested", "window-created", "window-end-load", "window-not-responding", "window-responding", "window-start-load"];
1344
+
1342
1345
  declare type ApplicationWindowInfo = OpenFin_2.ApplicationWindowInfo;
1343
1346
 
1344
1347
  /**
@@ -1608,7 +1611,7 @@ declare interface AuthorizationPayload {
1608
1611
  * ```
1609
1612
  * @interface
1610
1613
  */
1611
- declare type AuthRequestedEvent = BaseWindowEvent & {
1614
+ declare type AuthRequestedEvent = BaseEvent_5 & {
1612
1615
  type: 'auth-requested';
1613
1616
  authInfo: {
1614
1617
  host: string;
@@ -1670,21 +1673,9 @@ declare class Base {
1670
1673
  }
1671
1674
 
1672
1675
  /**
1673
- * Base type for events emitting on the `application` topic
1674
- * @interface
1675
- */
1676
- declare type BaseApplicationEvent = NamedEvent & {
1677
- topic: `application`;
1678
- };
1679
-
1680
- /**
1681
- * A base Channel event.
1682
- * @interface
1676
+ * @deprecated Renamed to {@link BaseEvent}.
1683
1677
  */
1684
- declare type BaseChannelEvent = NamedEvent & {
1685
- channelName: string;
1686
- channelId: string;
1687
- };
1678
+ declare type BaseApplicationEvent = BaseEvent_3;
1688
1679
 
1689
1680
  /**
1690
1681
  * @interface
@@ -1726,6 +1717,23 @@ declare type BaseConfig = {
1726
1717
  timeout?: number;
1727
1718
  };
1728
1719
 
1720
+ /**
1721
+ * Properties shared by all content creation rules, regardless of context.
1722
+ *
1723
+ * @interface
1724
+ */
1725
+ declare type BaseContentCreationRule = {
1726
+ /**
1727
+ * List of [match patterns](https://developer.chrome.com/extensions/match_patterns) that indicate the specified
1728
+ * behavior should be used
1729
+ */
1730
+ match: MatchPattern[];
1731
+ /**
1732
+ * custom property
1733
+ */
1734
+ data?: unknown;
1735
+ };
1736
+
1729
1737
  /**
1730
1738
  * A base OpenFin event. All OpenFin event payloads extend this type.
1731
1739
  *
@@ -1736,10 +1744,70 @@ declare type BaseEvent = {
1736
1744
  type: string;
1737
1745
  };
1738
1746
 
1739
- declare type BaseEvent_2 = Events.BaseEvents.BaseEvent;
1747
+ /**
1748
+ * A base Channel event.
1749
+ * @interface
1750
+ */
1751
+ declare type BaseEvent_2 = NamedEvent & {
1752
+ channelName: string;
1753
+ channelId: string;
1754
+ };
1755
+
1756
+ /**
1757
+ * Base type for events emitting on the `application` topic
1758
+ * @interface
1759
+ */
1760
+ declare type BaseEvent_3 = BaseEvents.NamedEvent & {
1761
+ topic: `application`;
1762
+ };
1763
+
1764
+ /**
1765
+ * Base type for events emitting on the `view` topic
1766
+ * @interface
1767
+ */
1768
+ declare type BaseEvent_4 = BaseEvents.NamedEvent & {
1769
+ topic: 'view';
1770
+ target: OpenFin_2.Identity;
1771
+ };
1772
+
1773
+ /**
1774
+ * Base type for events emitting on the `window` topic
1775
+ * @interface
1776
+ */
1777
+ declare type BaseEvent_5 = BaseEvents.NamedEvent & {
1778
+ topic: 'window';
1779
+ };
1780
+
1781
+ /**
1782
+ * Base type for events emitting on the `externalapplication` topic
1783
+ * @interface
1784
+ */
1785
+ declare type BaseEvent_6 = BaseEvents.BaseEvent & {
1786
+ topic: 'externalapplication';
1787
+ };
1788
+
1789
+ /**
1790
+ * The base frame event.
1791
+ * @interface
1792
+ */
1793
+ declare type BaseEvent_7 = NamedEvent & {
1794
+ entityType: 'iframe';
1795
+ frameName: string;
1796
+ };
1797
+
1798
+ /**
1799
+ * Base type for events emitting on the `system` topic
1800
+ * @interface
1801
+ */
1802
+ declare type BaseEvent_8 = BaseEvents.BaseEvent & {
1803
+ topic: 'system';
1804
+ };
1805
+
1806
+ declare type BaseEvent_9 = Events.BaseEvents.BaseEvent;
1740
1807
 
1741
1808
  declare namespace BaseEvents {
1742
1809
  export {
1810
+ NotCloseRequested,
1743
1811
  PropagatedEventType,
1744
1812
  PropagatedEvent,
1745
1813
  EventHandler,
@@ -1750,21 +1818,14 @@ declare namespace BaseEvents {
1750
1818
  }
1751
1819
 
1752
1820
  /**
1753
- * Base type for events emitting on the `externalapplication` topic
1754
- * @interface
1821
+ * @deprecated Renamed to {@link BaseEvent}.
1755
1822
  */
1756
- declare type BaseExternalApplicationEvent = BaseEvent & {
1757
- topic: 'externalapplication';
1758
- };
1823
+ declare type BaseExternalApplicationEvent = BaseEvent_6;
1759
1824
 
1760
1825
  /**
1761
- * The base frame event.
1762
- * @interface
1826
+ * @deprecated Renamed to {@link BaseEvent}.
1763
1827
  */
1764
- declare type BaseFrameEvent = NamedEvent & {
1765
- entityType: 'iframe';
1766
- frameName: string;
1767
- };
1828
+ declare type BaseFrameEvent = BaseEvent_7;
1768
1829
 
1769
1830
  declare type BaseLoadFailedEvent = NamedEvent & {
1770
1831
  errorCode: number;
@@ -1773,35 +1834,20 @@ declare type BaseLoadFailedEvent = NamedEvent & {
1773
1834
  isMainFrame: boolean;
1774
1835
  };
1775
1836
 
1776
- /**
1777
- * Base type for events emitting on the `system` topic
1778
- * @interface
1779
- */
1780
- declare type BaseSystemEvent = BaseEvent & {
1781
- topic: 'system';
1782
- };
1783
-
1784
1837
  declare type BaseUrlEvent = NamedEvent & {
1785
1838
  type: 'url-changed';
1786
1839
  url: string;
1787
1840
  };
1788
1841
 
1789
1842
  /**
1790
- * Base type for events emitting on the `view` topic
1791
- * @interface
1843
+ * @deprecated Renamed to {@link BaseEvent}.
1792
1844
  */
1793
- declare type BaseViewEvent = NamedEvent & {
1794
- topic: 'view';
1795
- target: OpenFin_2.Identity;
1796
- };
1845
+ declare type BaseViewEvent = BaseEvent_4;
1797
1846
 
1798
1847
  /**
1799
- * Base type for events emitting on the `window` topic
1800
- * @interface
1848
+ * @deprecated Renamed to {@link BaseEvent}.
1801
1849
  */
1802
- declare type BaseWindowEvent = NamedEvent & {
1803
- topic: 'window';
1804
- };
1850
+ declare type BaseWindowEvent = BaseEvent_5;
1805
1851
 
1806
1852
  /**
1807
1853
  * User decision of whether a Window or specific View should close when trying to prevent an unload.
@@ -1826,6 +1872,18 @@ declare type BeginUserBoundsChangingEvent = UserBoundsChangeEvent & {
1826
1872
  type: 'begin-user-bounds-changing';
1827
1873
  };
1828
1874
 
1875
+ /**
1876
+ * A rule prescribing content creation that should be blocked.
1877
+ *
1878
+ * @interface
1879
+ */
1880
+ declare type BlockedContentCreationRule = BaseContentCreationRule & {
1881
+ /**
1882
+ * Behavior to use when opening matched content.
1883
+ */
1884
+ behavior: 'block';
1885
+ };
1886
+
1829
1887
  /**
1830
1888
  * Generated when a WebContents loses focus.
1831
1889
  * @interface
@@ -1856,7 +1914,7 @@ declare type BoundsChangedEvent = BoundsChangeEvent & {
1856
1914
  * A general bounds change event without event type.
1857
1915
  * @interface
1858
1916
  */
1859
- declare type BoundsChangeEvent = BaseWindowEvent & {
1917
+ declare type BoundsChangeEvent = BaseEvent_5 & {
1860
1918
  changeType: 0 | 1 | 2;
1861
1919
  deferred: boolean;
1862
1920
  height: number;
@@ -1873,6 +1931,18 @@ declare type BoundsChangingEvent = BoundsChangeEvent & {
1873
1931
  type: 'bounds-changing';
1874
1932
  };
1875
1933
 
1934
+ /**
1935
+ * A rule prescribing content creation in the browser.
1936
+ *
1937
+ * @interface
1938
+ */
1939
+ declare type BrowserContentCreationRule = BaseContentCreationRule & {
1940
+ /**
1941
+ * Behavior to use when opening matched content.
1942
+ */
1943
+ behavior: 'browser';
1944
+ };
1945
+
1876
1946
  declare interface BrowserWindow {
1877
1947
  /**
1878
1948
  * True if the window has been opened and its GoldenLayout instance initialised.
@@ -1916,76 +1986,76 @@ declare interface BrowserWindow {
1916
1986
  }
1917
1987
 
1918
1988
  /**
1919
- * Extracts a single event type matching the given key from the {@link ApplicationEvent} union.
1989
+ * Extracts a single event type matching the given key from the View {@link Event} union.
1920
1990
  *
1921
1991
  * Alias for {@link Payload}, which may read better in source.
1922
1992
  *
1923
1993
  * @typeParam Type String key specifying the event to extract
1924
1994
  */
1925
- declare type ByType<Type extends ApplicationEventType> = Payload_2<Type>;
1995
+ declare type ByType<Type extends EventType> = Payload_2<Type>;
1926
1996
 
1927
1997
  /**
1928
- * Extracts a single event type matching the given key from the {@link ExternalApplicationEvent} union.
1998
+ * Extracts a single event type matching the given key from the Window {@link Event} union.
1929
1999
  *
1930
2000
  * Alias for {@link Payload}, which may read better in source.
1931
2001
  *
1932
2002
  * @typeParam Type String key specifying the event to extract
1933
2003
  */
1934
- declare type ByType_2<Type extends ExternalApplicationEventType> = Payload_3<Type>;
2004
+ declare type ByType_2<Type extends EventType_2> = Payload_3<Type>;
1935
2005
 
1936
2006
  /**
1937
- * Extracts a single event type matching the given key from the {@link FrameEvent} union.
2007
+ * Extracts a single event type matching the given key from the Application {@link Event} union.
1938
2008
  *
1939
2009
  * Alias for {@link Payload}, which may read better in source.
1940
2010
  *
1941
2011
  * @typeParam Type String key specifying the event to extract
1942
2012
  */
1943
- declare type ByType_3<Type extends FrameEventType> = Payload_4<Type>;
2013
+ declare type ByType_3<Type extends EventType_3> = Payload_4<Type>;
1944
2014
 
1945
2015
  /**
1946
- * Extracts a single event type matching the given key from the {@link GlobalHotkeyEvent} union.
2016
+ * Extracts a single event type matching the given key from the ExternalApplication {@link Event} union.
1947
2017
  *
1948
2018
  * Alias for {@link Payload}, which may read better in source.
1949
2019
  *
1950
2020
  * @typeParam Type String key specifying the event to extract
1951
2021
  */
1952
- declare type ByType_4<Type extends GlobalHotkeyEventType> = Payload_5<Type>;
2022
+ declare type ByType_4<Type extends EventType_4> = Payload_5<Type>;
1953
2023
 
1954
2024
  /**
1955
- * Extracts a single event type matching the given key from the {@link PlatformEvent} union.
2025
+ * Extracts a single event type matching the given key from the Frame {@link Event} union.
1956
2026
  *
1957
2027
  * Alias for {@link Payload}, which may read better in source.
1958
2028
  *
1959
2029
  * @typeParam Type String key specifying the event to extract
1960
2030
  */
1961
- declare type ByType_5<Type extends PlatformEventType> = Payload_6<Type>;
2031
+ declare type ByType_5<Type extends EventType_5> = Payload_6<Type>;
1962
2032
 
1963
2033
  /**
1964
- * Extracts a single event type matching the given key from the {@link SystemEvent} union.
2034
+ * Extracts a single event type matching the given key from the GlobalHotkey {@link Event} union.
1965
2035
  *
1966
2036
  * Alias for {@link Payload}, which may read better in source.
1967
2037
  *
1968
2038
  * @typeParam Type String key specifying the event to extract
1969
2039
  */
1970
- declare type ByType_6<Type extends SystemEventType> = Payload_7<Type>;
2040
+ declare type ByType_6<Type extends EventType_6> = Payload_7<Type>;
1971
2041
 
1972
2042
  /**
1973
- * Extracts a single event type matching the given key from the {@link ViewEvent} union.
2043
+ * Extracts a single event type matching the given key from the Platform {@link Event} union.
1974
2044
  *
1975
2045
  * Alias for {@link Payload}, which may read better in source.
1976
2046
  *
1977
2047
  * @typeParam Type String key specifying the event to extract
1978
2048
  */
1979
- declare type ByType_7<Type extends ViewEventType> = Payload_8<Type>;
2049
+ declare type ByType_7<Type extends EventType_7> = Payload_8<Type>;
1980
2050
 
1981
2051
  /**
1982
- * Extracts a single event type matching the given key from the {@link WindowEvent} union.
2052
+ * Extracts a single event type matching the given key from the System {@link Event} union.
1983
2053
  *
1984
2054
  * Alias for {@link Payload}, which may read better in source.
1985
2055
  *
1986
2056
  * @typeParam Type String key specifying the event to extract
1987
2057
  */
1988
- declare type ByType_8<Type extends WindowEventType> = Payload_9<Type>;
2058
+ declare type ByType_8<Type extends EventType_8> = Payload_9<Type>;
1989
2059
 
1990
2060
  /**
1991
2061
  * Configuration for page capture.
@@ -2651,14 +2721,6 @@ declare type ChannelClientConnectionListener = (identity: ClientIdentity, connec
2651
2721
 
2652
2722
  declare type ChannelClientDisconnectionListener = (identity: ClientIdentity) => any;
2653
2723
 
2654
- /**
2655
- * Generated when a Channel client is connected.
2656
- * @interface
2657
- */
2658
- declare type ChannelConnectedEvent = BaseChannelEvent & {
2659
- type: 'connected';
2660
- };
2661
-
2662
2724
  /**
2663
2725
  * Options provided on a client connection to a channel.
2664
2726
  *
@@ -2690,21 +2752,9 @@ declare type ChannelCreateOptions = {
2690
2752
  };
2691
2753
 
2692
2754
  /**
2693
- * Generated when a Channel client has disconnected.
2694
- * @interface
2695
- */
2696
- declare type ChannelDisconnectedEvent = BaseChannelEvent & {
2697
- type: 'disconnected';
2698
- };
2699
-
2700
- /**
2701
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Channel}. Events are
2702
- * discriminated by {@link ChannelEvent.type | their type}. Event payloads unique to `Channel` can be found
2703
- * under the {@link OpenFin.ChannelEvents} namespace.
2755
+ * @deprecated Renamed to {@link Event}.
2704
2756
  */
2705
- declare type ChannelEvent = {
2706
- topic: 'channel';
2707
- } & (ChannelConnectedEvent | ChannelDisconnectedEvent);
2757
+ declare type ChannelEvent = Event_2;
2708
2758
 
2709
2759
  declare type ChannelMiddleware = OpenFin_2.ChannelMiddleware;
2710
2760
 
@@ -2972,7 +3022,7 @@ declare class ClassicStrategy implements ChannelStrategy<EndpointPayload> {
2972
3022
  private messageReceiver;
2973
3023
  private endpointId;
2974
3024
  private providerIdentity;
2975
- constructor(wire: Transport, messageReceiver: MessageReceiver, endpointId: string, // Provider endpointId is channelId
3025
+ constructor(wire: Transport, messageReceiver: MessageReceiver_2, endpointId: string, // Provider endpointId is channelId
2976
3026
  providerIdentity: ProviderIdentity_4);
2977
3027
  onEndpointDisconnect(endpointId: string, listener: () => void): void;
2978
3028
  receive(listener: (action: string, payload: any, identity: OpenFin_2.ClientIdentity | OpenFin_2.ClientIdentityMultiRuntime | ProviderIdentity_4) => Promise<any>): void;
@@ -3239,11 +3289,19 @@ declare type ClipboardSelectionType = 'clipboard' | 'selection';
3239
3289
  * Generated when an application is closed.
3240
3290
  * @interface
3241
3291
  */
3242
- declare type ClosedEvent = IdentityEvent & {
3292
+ declare type ClosedEvent = BaseEvents.IdentityEvent & {
3243
3293
  topic: 'application';
3244
3294
  type: 'closed';
3245
3295
  };
3246
3296
 
3297
+ /**
3298
+ * Generated when a window has closed.
3299
+ * @interface
3300
+ */
3301
+ declare type ClosedEvent_2 = BaseEvent_5 & {
3302
+ type: 'closed';
3303
+ };
3304
+
3247
3305
  /**
3248
3306
  * @interface
3249
3307
  */
@@ -3251,6 +3309,25 @@ declare type ClosedMenuResult = {
3251
3309
  result: 'closed';
3252
3310
  };
3253
3311
 
3312
+ /**
3313
+ * Generated when a window has been prevented from closing.
3314
+ * @remarks A window will be prevented from closing by default, either through the API or by a user when ‘close-requested’ has been subscribed to and the Window.close(force) flag is false.
3315
+ * @interface
3316
+ */
3317
+ declare type CloseRequestedEvent = BaseEvent_5 & {
3318
+ type: 'close-requested';
3319
+ };
3320
+
3321
+ /**
3322
+ * @interface
3323
+ */
3324
+ declare type CloseViewOptions = {
3325
+ /**
3326
+ *View to be closed.
3327
+ */
3328
+ viewIdentity: Identity_5;
3329
+ };
3330
+
3254
3331
  /**
3255
3332
  * @interface
3256
3333
  */
@@ -3259,6 +3336,11 @@ declare type CloseViewPayload = {
3259
3336
  *View to be closed.
3260
3337
  */
3261
3338
  view: Identity_5;
3339
+ /**
3340
+ * The target layout identity where this view should be closed. If not provided, will resolve to the
3341
+ * visible layout.
3342
+ */
3343
+ target?: LayoutIdentity;
3262
3344
  };
3263
3345
 
3264
3346
  /**
@@ -3282,6 +3364,14 @@ declare interface CloseWindowPayload {
3282
3364
  };
3283
3365
  }
3284
3366
 
3367
+ /**
3368
+ * Generated when a window has initiated the closing routine.
3369
+ * @interface
3370
+ */
3371
+ declare type ClosingEvent = BaseEvent_5 & {
3372
+ type: 'closing';
3373
+ };
3374
+
3285
3375
  /**
3286
3376
  * A ColumnOrRow is used to manage the state of Column and Rows within an OpenFin Layout.
3287
3377
  */
@@ -3361,6 +3451,39 @@ declare type ConfigWithUuid = BaseConfig & {
3361
3451
  uuid: string;
3362
3452
  };
3363
3453
 
3454
+ /**
3455
+ * Generated when a Channel client is connected.
3456
+ * @interface
3457
+ */
3458
+ declare type ConnectedEvent = BaseEvent_2 & {
3459
+ type: 'connected';
3460
+ };
3461
+
3462
+ /**
3463
+ * Generated when an application has authenticated and is connected.
3464
+ * @interface
3465
+ */
3466
+ declare type ConnectedEvent_2 = BaseEvents.IdentityEvent & {
3467
+ topic: 'application';
3468
+ type: 'connected';
3469
+ };
3470
+
3471
+ /**
3472
+ * Generated when an external application has authenticated and is connected.
3473
+ * @interface
3474
+ */
3475
+ declare type ConnectedEvent_3 = BaseExternalApplicationEvent & {
3476
+ type: 'connected';
3477
+ };
3478
+
3479
+ /**
3480
+ * Generated when a frame is connected.
3481
+ * @interface
3482
+ */
3483
+ declare type ConnectedEvent_4 = BaseFrameEvent & {
3484
+ type: 'connected';
3485
+ };
3486
+
3364
3487
  declare type Constructor<T = {}> = new () => T;
3365
3488
 
3366
3489
  declare type ConstructorOverride<T> = (Base: Constructor<T>) => Constructor<T>;
@@ -3440,12 +3563,23 @@ declare type ConstViewOptions = {
3440
3563
  /**
3441
3564
  * **Platforms Only.**
3442
3565
  * Determines what happens when a view is closed in a platform window.
3443
- * Supersedes `detachOnClose`, but has no default value.
3566
+ * Supersedes the deprecated `detachOnClose`.
3567
+ * If not set, detaults to `destroy` if `detachOnClose` is false (default), or `detach` if `detachOnClose` is true.
3568
+ * While this option is not updateable, it may change at runtime if `detachOnClose` is updated.
3444
3569
  * 'hide' hides the view on the platform window that closed it.
3445
- * 'detach' behaves like 'detachOnClose': true.
3446
- * 'destroy' is the default behavior as long as 'detachOnClose' is not set.
3570
+ * 'detach' behaves like 'detachOnClose': true. It attaches the closed view to the platform provider.
3571
+ * 'destroy' is the default behavior as long as 'detachOnClose' is not set. It destroys the view.
3447
3572
  */
3448
- closeBehavior?: 'hide' | 'detach' | 'destroy';
3573
+ closeBehavior: 'hide' | 'detach' | 'destroy';
3574
+ /**
3575
+ * Controls interaction of the view with its parent window's download shelf.
3576
+ */
3577
+ downloadShelf?: {
3578
+ /**
3579
+ * Whether downloads in this view trigger opening the download shelf on its parent BrowserWindow
3580
+ */
3581
+ enabled: boolean;
3582
+ };
3449
3583
  };
3450
3584
 
3451
3585
  /**
@@ -3557,8 +3691,16 @@ declare type ConstWindowOptions = {
3557
3691
  * launches in favor of the cached value.
3558
3692
  */
3559
3693
  defaultWidth: number;
3694
+ downloadShelf: DownloadShelfOptions;
3560
3695
  height: number;
3561
3696
  layout: any;
3697
+ /**
3698
+ * @experimental
3699
+ *
3700
+ * The collection of layouts to load when the window is created. When launching multiple layouts, manage
3701
+ * the lifecycle via fin.Platform.Layout.create()/destroy() methods.
3702
+ */
3703
+ layoutSnapshot: LayoutSnapshot;
3562
3704
  /**
3563
3705
  * Parent identity of a modal window. It will create a modal child window when this option is set.
3564
3706
  */
@@ -3774,28 +3916,15 @@ declare type ContentCreationOptions = {
3774
3916
  * A rule for creating content in OpenFin; maps a content type to the way in which
3775
3917
  * newly-opened content of that type will be handled.
3776
3918
  *
3919
+ * @remarks This is effectively just a union type discriminated by the `behavior` key. The generic
3920
+ * parameter is a legacy feature that is included for backwards-compatibility reasons.
3777
3921
  *
3778
- * @interface
3922
+ * @typeParam Behavior The way content governed by this rule will be created. If provided, this type will narrow to
3923
+ * the specified `behavior` key.
3779
3924
  */
3780
- declare type ContentCreationRule<T = ContentCreationBehaviorNames> = {
3781
- /**
3782
- * Behavior to use when opening matched content. The value could be 'view' | 'window' | 'browser' | 'block'.
3783
- */
3784
- behavior: T;
3785
- /**
3786
- * List of [match patterns](https://developer.chrome.com/extensions/match_patterns) that indicate the specified
3787
- * behavior should be used
3788
- */
3789
- match: MatchPattern[];
3790
- /**
3791
- * Options for newly-created view or window (if applicable).
3792
- */
3793
- options?: T extends 'window' ? Partial<WindowOptions> : T extends 'view' ? Partial<ViewOptions> : never;
3794
- /**
3795
- * custom property
3796
- */
3797
- data?: unknown;
3798
- };
3925
+ declare type ContentCreationRule<Behavior extends ContentCreationBehaviorNames = ContentCreationBehaviorNames> = Extract<WindowContentCreationRule | ViewContentCreationRule | BrowserContentCreationRule | BlockedContentCreationRule, {
3926
+ behavior: Behavior;
3927
+ }>;
3799
3928
 
3800
3929
  /**
3801
3930
  * @interface
@@ -4096,7 +4225,7 @@ declare type Context_3 = {
4096
4225
  * Generated when a window's context is updated via {@link Platform#setWindowContext Platform.setWindowContext}. Only available on windows in a Platform.
4097
4226
  * @interface
4098
4227
  */
4099
- declare type ContextChangedEvent = BaseWindowEvent & {
4228
+ declare type ContextChangedEvent = BaseEvent_5 & {
4100
4229
  type: 'context-changed';
4101
4230
  context: any;
4102
4231
  };
@@ -4248,7 +4377,7 @@ declare type CpuInfo = {
4248
4377
  * Generated when an application has crashed.
4249
4378
  * @interface
4250
4379
  */
4251
- declare type CrashedEvent = IdentityEvent & {
4380
+ declare type CrashedEvent = BaseEvents.IdentityEvent & {
4252
4381
  topic: 'application';
4253
4382
  type: 'crashed';
4254
4383
  reason: 'normal-termination' | 'abnormal-termination' | 'killed' | 'crashed' | 'still-running' | 'launch-failed' | 'out-of-memory' | 'integrity-failure';
@@ -4299,20 +4428,17 @@ declare type CrashReporterState = CrashReporterOptions & {
4299
4428
  * Generated when a View is created.
4300
4429
  * @interface
4301
4430
  */
4302
- declare type CreatedEvent = BaseViewEvent & {
4431
+ declare type CreatedEvent = BaseEvent_4 & {
4303
4432
  type: 'created';
4304
4433
  };
4305
4434
 
4306
4435
  /**
4307
- * @interface
4436
+ * @interface @experimental
4308
4437
  */
4309
4438
  declare type CreateLayoutOptions = {
4310
- /**
4311
- * @experimental
4312
- *
4313
- * @returns
4314
- */
4315
- layoutManagerOverride: () => any;
4439
+ container: HTMLElement;
4440
+ layoutName: string;
4441
+ layout: LayoutOptions;
4316
4442
  };
4317
4443
 
4318
4444
  /**
@@ -4333,7 +4459,7 @@ declare type CreateViewPayload = {
4333
4459
  /**
4334
4460
  * @interface
4335
4461
  */
4336
- declare type CreateViewTarget = Identity_5 & {
4462
+ declare type CreateViewTarget = LayoutIdentity & {
4337
4463
  /**
4338
4464
  * If specified, view creation will not attach to a window and caller must
4339
4465
  * insert the view into the layout explicitly
@@ -4344,6 +4470,44 @@ declare type CreateViewTarget = Identity_5 & {
4344
4470
  };
4345
4471
  };
4346
4472
 
4473
+ /**
4474
+ * The registry entry for a given protocol exists but can't be parsed.
4475
+ * @interface
4476
+ */
4477
+ declare type CustomProtocolMalformedState = {
4478
+ state: 'Malformed';
4479
+ };
4480
+
4481
+ /**
4482
+ * The registry entry is missing for a given custom protocol.
4483
+ * @interface
4484
+ */
4485
+ declare type CustomProtocolMissingState = {
4486
+ state: 'Missing';
4487
+ };
4488
+
4489
+ /**
4490
+ * Define possible options for Custom protocol.
4491
+ * @interface
4492
+ */
4493
+ declare type CustomProtocolOptions = {
4494
+ protocolName: string;
4495
+ };
4496
+
4497
+ /**
4498
+ * The registry rentry for a given protocol exists and can be parsed successfully.
4499
+ * @interface
4500
+ */
4501
+ declare type CustomProtocolRegisteredState = {
4502
+ state: 'Registered';
4503
+ handlerManifestUrl: string;
4504
+ };
4505
+
4506
+ /**
4507
+ * Define possible registration states for a given custom protocol.
4508
+ */
4509
+ declare type CustomProtocolState = CustomProtocolMissingState | CustomProtocolMalformedState | CustomProtocolRegisteredState;
4510
+
4347
4511
  /**
4348
4512
  * Custom headers for requests sent by the window.
4349
4513
  *
@@ -4361,6 +4525,8 @@ declare type CustomRequestHeaders = {
4361
4525
  headers: WebRequestHeader[];
4362
4526
  };
4363
4527
 
4528
+ declare type DataChannelReadyState = RTCDataChannel['readyState'];
4529
+
4364
4530
  /**
4365
4531
  * @interface
4366
4532
  */
@@ -4421,7 +4587,7 @@ declare interface DesktopAgent_2 {
4421
4587
  * Generated when the desktop icon is clicked while it's already running.
4422
4588
  * @interface
4423
4589
  */
4424
- declare type DesktopIconClickedEvent = BaseSystemEvent & {
4590
+ declare type DesktopIconClickedEvent = BaseEvent_8 & {
4425
4591
  type: 'desktop-icon-clicked';
4426
4592
  };
4427
4593
 
@@ -4429,17 +4595,10 @@ declare type DesktopIconClickedEvent = BaseSystemEvent & {
4429
4595
  * Generated when a View is destroyed.
4430
4596
  * @interface
4431
4597
  */
4432
- declare type DestroyedEvent = BaseViewEvent & {
4598
+ declare type DestroyedEvent = BaseEvent_4 & {
4433
4599
  type: 'destroyed';
4434
4600
  };
4435
4601
 
4436
- /**
4437
- * @interface
4438
- */
4439
- declare type DestroyLayoutOptions = {
4440
- layoutName: string;
4441
- };
4442
-
4443
4602
  /**
4444
4603
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4445
4604
  * @interface
@@ -4536,6 +4695,30 @@ declare type DisabledMovementBoundsChangingEvent = BoundsChangeEvent & {
4536
4695
  type: 'disabled-movement-bounds-changing';
4537
4696
  };
4538
4697
 
4698
+ /**
4699
+ * Generated when a Channel client has disconnected.
4700
+ * @interface
4701
+ */
4702
+ declare type DisconnectedEvent = BaseEvent_2 & {
4703
+ type: 'disconnected';
4704
+ };
4705
+
4706
+ /**
4707
+ * Generated when an external application has disconnected.
4708
+ * @interface
4709
+ */
4710
+ declare type DisconnectedEvent_2 = BaseExternalApplicationEvent & {
4711
+ type: 'disconnected';
4712
+ };
4713
+
4714
+ /**
4715
+ * Generated when a frame has disconnected.
4716
+ * @interface
4717
+ */
4718
+ declare type DisconnectedEvent_3 = BaseFrameEvent & {
4719
+ type: 'disconnected';
4720
+ };
4721
+
4539
4722
  /**
4540
4723
  * A system channel will be global enough to have a presence across many apps. This gives us some hints
4541
4724
  * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
@@ -4617,23 +4800,64 @@ declare type DownloadPreloadInfo = {
4617
4800
  };
4618
4801
 
4619
4802
  /**
4620
- * Options for downloading a preload script.
4621
- *
4803
+ * Options for downloading a preload script.
4804
+ *
4805
+ * @interface
4806
+ */
4807
+ declare type DownloadPreloadOption = {
4808
+ /**
4809
+ * URL from which to download the preload script.
4810
+ */
4811
+ url: string;
4812
+ };
4813
+
4814
+ /**
4815
+ * @interface
4816
+ */
4817
+ declare type DownloadRule = {
4818
+ behavior: FileDownloadBehaviorNames;
4819
+ match: string[];
4820
+ };
4821
+
4822
+ /**
4622
4823
  * @interface
4824
+ *
4825
+ * Controls the styling and behavior of the window download shelf.
4623
4826
  */
4624
- declare type DownloadPreloadOption = {
4827
+ declare type DownloadShelfOptions = {
4625
4828
  /**
4626
- * URL from which to download the preload script.
4829
+ * Whether downloads in this window trigger opening the download shelf.
4627
4830
  */
4628
- url: string;
4831
+ enabled: boolean;
4832
+ /**
4833
+ * Styling options for the download shelf border.
4834
+ */
4835
+ border?: {
4836
+ /**
4837
+ * Thickness of the border in pixels. Default 1 pixel. Used only for frameless windows.
4838
+ *
4839
+ * @remarks The top border is fixed to 1 pixel regardless of this setting.
4840
+ */
4841
+ size?: number;
4842
+ /**
4843
+ * Color of the border, either a string name or a hex code. Defaults to chromium theme
4844
+ * if absent.
4845
+ */
4846
+ color?: string;
4847
+ };
4629
4848
  };
4630
4849
 
4631
4850
  /**
4851
+ * Generated when the visibility of the window's download shelf changes.
4852
+ *
4632
4853
  * @interface
4633
4854
  */
4634
- declare type DownloadRule = {
4635
- behavior: FileDownloadBehaviorNames;
4636
- match: string[];
4855
+ declare type DownloadShelfVisibilityChangedEvent = BaseEvent_5 & {
4856
+ type: 'download-shelf-visibility-changed';
4857
+ /**
4858
+ * True if the download shelf was just opened; false if it was just closed.
4859
+ */
4860
+ visible: boolean;
4637
4861
  };
4638
4862
 
4639
4863
  /**
@@ -4658,7 +4882,7 @@ declare interface DragSource {}
4658
4882
  * Generated when a window has been embedded.
4659
4883
  * @interface
4660
4884
  */
4661
- declare type EmbeddedEvent = BaseWindowEvent & {
4885
+ declare type EmbeddedEvent = BaseEvent_5 & {
4662
4886
  type: 'embedded';
4663
4887
  };
4664
4888
 
@@ -4757,7 +4981,7 @@ declare class EmitterMap {
4757
4981
  * Generated when a window ends loading.
4758
4982
  * @interface
4759
4983
  */
4760
- declare type EndLoadEvent = BaseWindowEvent & {
4984
+ declare type EndLoadEvent = BaseEvent_5 & {
4761
4985
  type: 'end-load';
4762
4986
  documentName: string;
4763
4987
  isMain: boolean;
@@ -4835,9 +5059,11 @@ declare type EntityTypeHelpers<T extends EntityType_2> = T extends 'view' ? {
4835
5059
  } : never;
4836
5060
 
4837
5061
  declare interface Environment {
4838
- initLayout(fin: OpenFin_2.Fin<OpenFin_2.EntityType>, wire: Transport, ...args: Parameters<OpenFin_2.Fin['Platform']['Layout']['init']>): ReturnType<OpenFin_2.Fin['Platform']['Layout']['init']>;
5062
+ initLayout(fin: OpenFin_2.Fin<OpenFin_2.EntityType>, wire: Transport, options: OpenFin_2.InitLayoutOptions): Promise<OpenFin_2.LayoutManager<OpenFin_2.LayoutSnapshot>>;
5063
+ createLayout(layoutManager: OpenFin_2.LayoutManager<OpenFin_2.LayoutSnapshot>, options: OpenFin_2.CreateLayoutOptions): Promise<void>;
5064
+ destroyLayout(layoutManager: OpenFin_2.LayoutManager<OpenFin_2.LayoutSnapshot>, layoutIdentity: OpenFin_2.LayoutIdentity): Promise<void>;
4839
5065
  initPlatform(fin: OpenFin_2.Fin<OpenFin_2.EntityType>, ...args: Parameters<OpenFin_2.Fin['Platform']['init']>): ReturnType<OpenFin_2.Fin['Platform']['init']>;
4840
- observeBounds(element: Element, onChange: (bounds: DOMRect) => Promise<void> | void): (() => void);
5066
+ observeBounds(element: Element, onChange: (bounds: DOMRect) => Promise<void> | void): () => void;
4841
5067
  writeToken(path: string, token: string): Promise<string>;
4842
5068
  retrievePort(config: NewConnectConfig): Promise<number>;
4843
5069
  getNextMessageId(): any;
@@ -4872,6 +5098,88 @@ declare type ErrorPlainObject = {
4872
5098
  toString(): string;
4873
5099
  };
4874
5100
 
5101
+ /**
5102
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Platform}. Events are
5103
+ * discriminated by {@link Event.type | their type}. Event payloads unique to `Platform` can be found
5104
+ * under the {@link OpenFin.PlatformEvents} namespace.
5105
+ */
5106
+ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotAppliedEvent;
5107
+
5108
+ /**
5109
+ * [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
5110
+ * discriminated by {@link SystemEvent.type | their type}. Event payloads unique to `System` can be found
5111
+ * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
5112
+ * from which they propagate).
5113
+ */
5114
+ declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ViewEvents.PropagatedEvent<'system'> | ApplicationEvents.PropagatedEvent<'system'> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleEvent | MonitorEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
5115
+
5116
+ /**
5117
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Channel}. Events are
5118
+ * discriminated by {@link Event.type | their type}. Event payloads unique to `Channel` can be found
5119
+ * under the {@link OpenFin.ChannelEvents} namespace.
5120
+ */
5121
+ declare type Event_2 = {
5122
+ topic: 'channel';
5123
+ } & (ConnectedEvent | DisconnectedEvent);
5124
+
5125
+ /**
5126
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by an {@link Application}. Events are
5127
+ * discriminated by {@link Event.type | their type}. Event payloads unique to `Application` can be found
5128
+ * under the {@link OpenFin.ApplicationEvents} namespace (payloads inherited from propagated events are defined in the namespace
5129
+ * from which they propagate).
5130
+ */
5131
+ declare type Event_3 = ViewEvents.PropagatedEvent<'application'> | WindowEvents.PropagatedEvent<'application'> | ApplicationWindowEvent | ApplicationSourcedEvent;
5132
+
5133
+ /**
5134
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link View}. Events are
5135
+ * discriminated by {@link Event.type | their type}. Event payloads unique to `View` can be found
5136
+ * under the {@link OpenFin.ViewEvents} namespace (except for {@link OpenFin.WebContentsEvents | those shared with other WebContents}).
5137
+ */
5138
+ declare type Event_4 = (WebContentsEvents.Event<'view'> & {
5139
+ target: OpenFin_2.Identity;
5140
+ }) | CreatedEvent | DestroyedEvent | HiddenEvent | HotkeyEvent | ShownEvent | TargetChangedEvent | HostContextChangedEvent;
5141
+
5142
+ /**
5143
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing events shared by all WebContents elements
5144
+ * (i.e. {@link OpenFin.Window} or {@link OpenFin.View}).
5145
+ */
5146
+ declare type Event_5<Topic extends string> = {
5147
+ topic: Topic;
5148
+ } & (BlurredEvent | CertificateSelectionShownEvent | CrashedEvent_2 | DidChangeThemeColorEvent | FocusedEvent | NavigationRejectedEvent | UrlChangedEvent | DidFailLoadEvent | DidFinishLoadEvent | PageFaviconUpdatedEvent | PageTitleUpdatedEvent | ResourceLoadFailedEvent | ResourceResponseReceivedEvent | ChildContentBlockedEvent | ChildContentOpenedInBrowserEvent | ChildViewCreatedEvent | ChildWindowCreatedEvent | FileDownloadStartedEvent | FileDownloadProgressEvent | FileDownloadCompletedEvent | FoundInPageEvent | CertificateErrorEvent);
5149
+
5150
+ /**
5151
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Window}. Events are
5152
+ * discriminated by {@link Event.type | their type}. Event payloads unique to `Window` can be found
5153
+ * under the {@link OpenFin.WindowEvents} namespace (except for {@link OpenFin.WebContentsEvents | those shared with other WebContents}).
5154
+ */
5155
+ declare type Event_6 = WindowSourcedEvent | WindowViewEvent | ViewEvents.PropagatedEvent<'window'>;
5156
+
5157
+ /**
5158
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by an {@link ExternalApplication}. Events are
5159
+ * discriminated by {@link ExternalApplicationEvent.type | their type}. Event payloads unique to `ExternalApplication` can be found
5160
+ * under the {@link OpenFin.ExternalApplicationEvents} namespace.
5161
+ */
5162
+ declare type Event_7 = ConnectedEvent_3 | DisconnectedEvent_2;
5163
+
5164
+ /**
5165
+ * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link _Frame}. Events are
5166
+ * discriminated by {@link _Frame.type | their type}. Event payloads unique to `Frame` can be found
5167
+ * under the {@link OpenFin.FrameEvents} namespace.
5168
+ */
5169
+ declare type Event_8 = {
5170
+ topic: 'frame';
5171
+ } & (ConnectedEvent_4 | DisconnectedEvent_3);
5172
+
5173
+ /**
5174
+ * [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
5175
+ * discriminated by {@link Event.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5176
+ * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
5177
+ */
5178
+ declare type Event_9 = {
5179
+ topic: 'global-hotkey';
5180
+ hotkey: 'string';
5181
+ } & (RegisteredEvent | UnregisteredEvent);
5182
+
4875
5183
  declare class EventAggregator extends EmitterMap {
4876
5184
  dispatchEvent: (message: Message<any>) => boolean;
4877
5185
  }
@@ -4937,6 +5245,46 @@ declare namespace Events {
4937
5245
  }
4938
5246
  }
4939
5247
 
5248
+ /**
5249
+ * Union of possible `type` values for a view {@link Event}.
5250
+ */
5251
+ declare type EventType = Event_4['type'];
5252
+
5253
+ /**
5254
+ * Union of possible `type` values for a Window {@link Event}.
5255
+ */
5256
+ declare type EventType_2 = Event_6['type'];
5257
+
5258
+ /**
5259
+ * Union of possible `type` values for an Application {@link Event}.
5260
+ */
5261
+ declare type EventType_3 = Event_3['type'];
5262
+
5263
+ /**
5264
+ * Union of possible `type` values for an ExternalApplication {@link Event}.
5265
+ */
5266
+ declare type EventType_4 = Event_7['type'];
5267
+
5268
+ /**
5269
+ * Union of possible `type` values for a {@link FrameEvent}.
5270
+ */
5271
+ declare type EventType_5 = Event_8['type'];
5272
+
5273
+ /**
5274
+ * Union of possible `type` values for a {@link GlobalHotkeyEvent}
5275
+ */
5276
+ declare type EventType_6 = Event_9['type'];
5277
+
5278
+ /**
5279
+ * Union of possible `type` values for a {@link PlatformEvent}.
5280
+ */
5281
+ declare type EventType_7 = Event_10['type'];
5282
+
5283
+ /**
5284
+ * Union of possible `type` values for a {@link SystemEvent}.
5285
+ */
5286
+ declare type EventType_8 = SystemEvent['type'];
5287
+
4940
5288
  /* Excluded from this release type: EventWithId */
4941
5289
 
4942
5290
  /* Excluded from this release type: ExcludeRequested */
@@ -5060,46 +5408,43 @@ declare class ExternalApplication extends EmitterBase<OpenFin_2.ExternalApplicat
5060
5408
  }
5061
5409
 
5062
5410
  /**
5063
- * Generated when an external application has authenticated and is connected.
5064
- * @interface
5411
+ * @deprecated Renamed to {@link ConnectedEvent}.
5065
5412
  */
5066
- declare type ExternalApplicationConnectedEvent = BaseExternalApplicationEvent & {
5067
- type: 'connected';
5068
- };
5413
+ declare type ExternalApplicationConnectedEvent = ConnectedEvent_3;
5069
5414
 
5070
5415
  /**
5071
- * Generated when an external application has disconnected.
5072
- * @interface
5416
+ * @deprecated Renamed to {@link DisconnectedEvent}.
5073
5417
  */
5074
- declare type ExternalApplicationDisconnectedEvent = BaseExternalApplicationEvent & {
5075
- type: 'disconnected';
5076
- };
5418
+ declare type ExternalApplicationDisconnectedEvent = DisconnectedEvent_2;
5077
5419
 
5078
5420
  /**
5079
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by an {@link ExternalApplication}. Events are
5080
- * discriminated by {@link ExternalApplicationEvent.type | their type}. Event payloads unique to `ExternalApplication` can be found
5081
- * under the {@link OpenFin.ExternalApplicationEvents} namespace.
5421
+ * @deprecated Renamed to {@link Event}.
5082
5422
  */
5083
- declare type ExternalApplicationEvent = ExternalApplicationConnectedEvent | ExternalApplicationDisconnectedEvent;
5423
+ declare type ExternalApplicationEvent = Event_7;
5084
5424
 
5085
5425
  declare type ExternalApplicationEvent_2 = Events.ExternalApplicationEvents.ExternalApplicationEvent;
5086
5426
 
5087
5427
  declare namespace ExternalApplicationEvents {
5088
5428
  export {
5429
+ BaseEvent_6 as BaseEvent,
5089
5430
  BaseExternalApplicationEvent,
5431
+ ConnectedEvent_3 as ConnectedEvent,
5090
5432
  ExternalApplicationConnectedEvent,
5433
+ DisconnectedEvent_2 as DisconnectedEvent,
5091
5434
  ExternalApplicationDisconnectedEvent,
5435
+ Event_7 as Event,
5092
5436
  ExternalApplicationEvent,
5437
+ EventType_4 as EventType,
5093
5438
  ExternalApplicationEventType,
5094
- Payload_3 as Payload,
5095
- ByType_2 as ByType
5439
+ Payload_5 as Payload,
5440
+ ByType_4 as ByType
5096
5441
  }
5097
5442
  }
5098
5443
 
5099
5444
  /**
5100
- * Union of possible `type` values for a {@link OpenFin.ApplicationEvents.ApplicationEvent}.
5445
+ * @deprecated Renamed to {@link Event}.
5101
5446
  */
5102
- declare type ExternalApplicationEventType = ExternalApplicationEvent['type'];
5447
+ declare type ExternalApplicationEventType = EventType_4;
5103
5448
 
5104
5449
  /**
5105
5450
  * @interface
@@ -5160,7 +5505,7 @@ declare type ExternalConnection = {
5160
5505
  * Generated when an external process has exited.
5161
5506
  * @interface
5162
5507
  */
5163
- declare type ExternalProcessExitedEvent = BaseWindowEvent & {
5508
+ declare type ExternalProcessExitedEvent = BaseEvent_5 & {
5164
5509
  type: 'external-process-exited';
5165
5510
  processUuid: string;
5166
5511
  exitCode: number;
@@ -5205,19 +5550,15 @@ declare type ExternalProcessRequestType = {
5205
5550
  * Generated when an external process has started.
5206
5551
  * @interface
5207
5552
  */
5208
- declare type ExternalProcessStartedEvent = BaseWindowEvent & {
5553
+ declare type ExternalProcessStartedEvent = BaseEvent_5 & {
5209
5554
  type: 'external-process-started';
5210
5555
  processUuid: string;
5211
5556
  };
5212
5557
 
5213
5558
  /**
5214
- * Generated when page receives favicon urls.
5215
- * @interface
5559
+ * @deprecated, use {@link PageFaviconUpdatedEvent}.
5216
5560
  */
5217
- declare type FaviconUpdatedEvent = NamedEvent & {
5218
- type: 'page-favicon-updated';
5219
- favicons: string[];
5220
- };
5561
+ declare type FaviconUpdatedEvent = PageFaviconUpdatedEvent;
5221
5562
 
5222
5563
  declare namespace FDC3 {
5223
5564
  export {
@@ -5423,6 +5764,8 @@ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
5423
5764
  metadata?: MetadataType;
5424
5765
  };
5425
5766
 
5767
+ declare type FlexReadyState = WebSocketReadyState | DataChannelReadyState;
5768
+
5426
5769
  /**
5427
5770
  * Generated when a WebContents gains focus.
5428
5771
  * @interface
@@ -5571,48 +5914,43 @@ declare class _Frame extends EmitterBase<OpenFin_2.FrameEvent> {
5571
5914
  }
5572
5915
 
5573
5916
  /**
5574
- * Generated when a frame is connected.
5575
- * @interface
5917
+ * @deprecated Renamed to {@link ConnectedEvent}.
5576
5918
  */
5577
- declare type FrameConnectedEvent = BaseFrameEvent & {
5578
- type: 'connected';
5579
- };
5919
+ declare type FrameConnectedEvent = ConnectedEvent_4;
5580
5920
 
5581
5921
  /**
5582
- * Generated when a frame has disconnected.
5583
- * @interface
5922
+ * @deprecated Renamed to {@link DisconnectedEvent}.
5584
5923
  */
5585
- declare type FrameDisconnectedEvent = BaseFrameEvent & {
5586
- type: 'disconnected';
5587
- };
5924
+ declare type FrameDisconnectedEvent = DisconnectedEvent_3;
5588
5925
 
5589
5926
  /**
5590
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link _Frame}. Events are
5591
- * discriminated by {@link _Frame.type | their type}. Event payloads unique to `Frame` can be found
5592
- * under the {@link OpenFin.FrameEvents} namespace.
5927
+ * @deprecated Renamed to {@link Event}.
5593
5928
  */
5594
- declare type FrameEvent = {
5595
- topic: 'frame';
5596
- } & (FrameConnectedEvent | FrameDisconnectedEvent);
5929
+ declare type FrameEvent = Event_8;
5597
5930
 
5598
5931
  declare type FrameEvent_2 = Events.FrameEvents.FrameEvent;
5599
5932
 
5600
5933
  declare namespace FrameEvents {
5601
5934
  export {
5935
+ BaseEvent_7 as BaseEvent,
5602
5936
  BaseFrameEvent,
5937
+ ConnectedEvent_4 as ConnectedEvent,
5603
5938
  FrameConnectedEvent,
5939
+ DisconnectedEvent_3 as DisconnectedEvent,
5604
5940
  FrameDisconnectedEvent,
5941
+ Event_8 as Event,
5605
5942
  FrameEvent,
5943
+ EventType_5 as EventType,
5606
5944
  FrameEventType,
5607
- Payload_4 as Payload,
5608
- ByType_3 as ByType
5945
+ Payload_6 as Payload,
5946
+ ByType_5 as ByType
5609
5947
  }
5610
5948
  }
5611
5949
 
5612
5950
  /**
5613
- * Union of possible `type` values for a {@link FrameEvent}.
5951
+ * @deprecated Renamed to {@link EventType}.
5614
5952
  */
5615
- declare type FrameEventType = FrameEvent['type'];
5953
+ declare type FrameEventType = EventType_5;
5616
5954
 
5617
5955
  /**
5618
5956
  * @interface
@@ -5737,6 +6075,8 @@ declare class GlobalHotkey extends EmitterBase<OpenFin_2.GlobalHotkeyEvent> {
5737
6075
  * Registers a global hotkey with the operating system.
5738
6076
  * @param hotkey a hotkey string
5739
6077
  * @param listener called when the registered hotkey is pressed by the user.
6078
+ * @throws If the `hotkey` is reserved, see list below.
6079
+ * @throws if the `hotkey` is already registered by another application.
5740
6080
  *
5741
6081
  * @remarks The `hotkey` parameter expects an electron compatible [accelerator](https://github.com/electron/electron/blob/master/docs/api/accelerator.md) and the `listener` will be called if the `hotkey` is pressed by the user.
5742
6082
  * If successfull, the hotkey will be 'claimed' by the application, meaning that this register call can be called multiple times from within the same application but will fail if another application has registered the hotkey.
@@ -5809,7 +6149,7 @@ declare class GlobalHotkey extends EmitterBase<OpenFin_2.GlobalHotkeyEvent> {
5809
6149
  */
5810
6150
  unregisterAll(): Promise<void>;
5811
6151
  /**
5812
- * Checks if a given hotkey has been registered
6152
+ * Checks if a given hotkey has been registered by an application within the current runtime.
5813
6153
  * @param hotkey a hotkey string
5814
6154
  *
5815
6155
  * @example
@@ -5829,14 +6169,9 @@ declare class GlobalHotkey extends EmitterBase<OpenFin_2.GlobalHotkeyEvent> {
5829
6169
  }
5830
6170
 
5831
6171
  /**
5832
- * [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
5833
- * discriminated by {@link GlobalHotkeyEvent.type | their type}. Event payloads unique to `GlobalHotkey` can be found
5834
- * under the {@link OpenFin.GlobalHotkeyEvents} namespace.
6172
+ * @deprecated Renamed to {@link Event}.
5835
6173
  */
5836
- declare type GlobalHotkeyEvent = {
5837
- topic: 'global-hotkey';
5838
- hotkey: 'string';
5839
- } & (RegisteredEvent | UnregisteredEvent);
6174
+ declare type GlobalHotkeyEvent = Event_9;
5840
6175
 
5841
6176
  declare type GlobalHotkeyEvent_2 = Events.GlobalHotkeyEvents.GlobalHotkeyEvent;
5842
6177
 
@@ -5844,17 +6179,19 @@ declare namespace GlobalHotkeyEvents {
5844
6179
  export {
5845
6180
  RegisteredEvent,
5846
6181
  UnregisteredEvent,
6182
+ Event_9 as Event,
5847
6183
  GlobalHotkeyEvent,
6184
+ EventType_6 as EventType,
5848
6185
  GlobalHotkeyEventType,
5849
- Payload_5 as Payload,
5850
- ByType_4 as ByType
6186
+ Payload_7 as Payload,
6187
+ ByType_6 as ByType
5851
6188
  }
5852
6189
  }
5853
6190
 
5854
6191
  /**
5855
- * Union of possible `type` values for a {@link GlobalHotkeyEvent}
6192
+ * @deprecated Renamed to {@link EventType}.
5856
6193
  */
5857
- declare type GlobalHotkeyEventType = GlobalHotkeyEvent['type'];
6194
+ declare type GlobalHotkeyEventType = EventType_6;
5858
6195
 
5859
6196
  declare namespace GoldenLayout {
5860
6197
  export {
@@ -5873,6 +6210,7 @@ declare namespace GoldenLayout {
5873
6210
  DragSource,
5874
6211
  BrowserWindow,
5875
6212
  Header,
6213
+ TabDragListener,
5876
6214
  Tab,
5877
6215
  EventEmitter_2 as EventEmitter
5878
6216
  }
@@ -5987,10 +6325,7 @@ declare class GoldenLayout_2 implements EventEmitter_2 {
5987
6325
  * @param itemConfiguration An item configuration (can be an entire tree of items)
5988
6326
  * @param parent A parent item
5989
6327
  */
5990
- createContentItem(
5991
- itemConfiguration?: ItemConfigType,
5992
- parent?: ContentItem
5993
- ): ContentItem;
6328
+ createContentItem(itemConfiguration?: ItemConfigType, parent?: ContentItem): ContentItem;
5994
6329
 
5995
6330
  /**
5996
6331
  * Creates a new popout window with configOrContentItem as contents at the position specified in dimensions
@@ -6023,10 +6358,7 @@ declare class GoldenLayout_2 implements EventEmitter_2 {
6023
6358
  * @return the dragSource that was created. This can be used to remove the
6024
6359
  * dragSource from the layout later.
6025
6360
  */
6026
- createDragSource(
6027
- element: HTMLElement | JQuery,
6028
- itemConfiguration: ItemConfigType
6029
- ): DragSource;
6361
+ createDragSource(element: HTMLElement | JQuery, itemConfiguration: ItemConfigType): DragSource;
6030
6362
 
6031
6363
  /**
6032
6364
  * Removes a dragSource from the layout.
@@ -6161,8 +6493,17 @@ declare interface Header {
6161
6493
  * Generated when a View is hidden.
6162
6494
  * @interface
6163
6495
  */
6164
- declare type HiddenEvent = BaseViewEvent & {
6496
+ declare type HiddenEvent = BaseEvent_4 & {
6497
+ type: 'hidden';
6498
+ };
6499
+
6500
+ /**
6501
+ * Generated when a window has been hidden.
6502
+ * @interface
6503
+ */
6504
+ declare type HiddenEvent_2 = BaseEvent_5 & {
6165
6505
  type: 'hidden';
6506
+ reason: 'closing' | 'hide' | 'hide-on-close';
6166
6507
  };
6167
6508
 
6168
6509
  /**
@@ -6170,7 +6511,7 @@ declare type HiddenEvent = BaseViewEvent & {
6170
6511
  * or because the View has moved to a new window. Only available on Views in a Platform.
6171
6512
  * @interface
6172
6513
  */
6173
- declare type HostContextChangedEvent = BaseViewEvent & {
6514
+ declare type HostContextChangedEvent = BaseEvent_4 & {
6174
6515
  type: 'host-context-changed';
6175
6516
  context: any;
6176
6517
  reason: 'reparented' | 'updated';
@@ -6249,7 +6590,16 @@ declare type Hotkey = {
6249
6590
  * @remarks For reference on keyboard event properties see [KeyboardEvent](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent).
6250
6591
  * @interface
6251
6592
  */
6252
- declare type HotkeyEvent = BaseViewEvent & {
6593
+ declare type HotkeyEvent = BaseEvent_4 & {
6594
+ type: 'hotkey';
6595
+ };
6596
+
6597
+ /**
6598
+ * Generated when a keyboard shortcut defined in the `hotkeys` array in [Window options](OpenFin.WindowOptions.html) is pressed inside the window.
6599
+ * @remarks For reference on keyboard event properties see [KeyboardEvent](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent).
6600
+ * @interface
6601
+ */
6602
+ declare type HotkeyEvent_2 = InputEvent_2 & BaseEvent_5 & {
6253
6603
  type: 'hotkey';
6254
6604
  };
6255
6605
 
@@ -6309,7 +6659,7 @@ declare type IdentityEvent = BaseEvent & {
6309
6659
  * A user returns from idle state when the computer is unlocked or keyboard/mouse activity has resumed.
6310
6660
  * @interface
6311
6661
  */
6312
- declare type IdleEvent = BaseSystemEvent & {
6662
+ declare type IdleEvent = BaseEvent_8 & {
6313
6663
  type: 'idle-state-changed';
6314
6664
  elapsedTime: number;
6315
6665
  isIdle: boolean;
@@ -6394,24 +6744,43 @@ declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
6394
6744
  * Generated when an application has initialized.
6395
6745
  * @interface
6396
6746
  */
6397
- declare type InitializedEvent = IdentityEvent & {
6747
+ declare type InitializedEvent = BaseEvents.IdentityEvent & {
6398
6748
  topic: 'application';
6399
6749
  type: 'initialized';
6400
6750
  };
6401
6751
 
6402
- declare type InitLayoutOptions = OpenFin_2.InitLayoutOptions;
6403
-
6404
- declare type InitLayoutOptions_2 = OpenFin_2.InitLayoutOptions;
6752
+ /**
6753
+ * Generated when a window is initialized.
6754
+ * @interface
6755
+ */
6756
+ declare type InitializedEvent_2 = BaseEvent_5 & {
6757
+ type: 'initialized';
6758
+ };
6405
6759
 
6406
6760
  /**
6407
6761
  * @interface
6408
6762
  */
6409
- declare type InitLayoutOptions_3 = {
6763
+ declare type InitLayoutOptions = {
6410
6764
  /**
6765
+ * @deprecated use container HTMLElement instead
6766
+ *
6411
6767
  * The id attribute of the container where the window's Layout should be initialized. If not provided
6412
6768
  * then an element with id `layout-container` is used. We recommend using a div element.
6413
6769
  */
6414
6770
  containerId?: string;
6771
+ /**
6772
+ * The HTMLElement where the window's Layout should be initialized. We recommend using a div element.
6773
+ */
6774
+ container?: HTMLElement;
6775
+ /**
6776
+ * An override callback used to instantiate a custom LayoutManager. When present, will enable
6777
+ * Multiple Layouts. The callback should return a class.
6778
+ *
6779
+ * @remarks
6780
+ * **NOTE**: Unlike the Platform Provider overrideCallback and interopOverride, this override should
6781
+ * return a class, not an instance
6782
+ */
6783
+ layoutManagerOverride?: LayoutManagerOverride<LayoutSnapshot>;
6415
6784
  };
6416
6785
 
6417
6786
  /**
@@ -8239,7 +8608,7 @@ declare type LaunchIntoPlatformPayload = {
8239
8608
  declare class Layout extends Base {
8240
8609
  #private;
8241
8610
  /* Excluded from this release type: init */
8242
- identity: Identity_4;
8611
+ identity: OpenFin_2.LayoutIdentity;
8243
8612
  private platform;
8244
8613
  wire: Transport;
8245
8614
  /* Excluded from this release type: __constructor */
@@ -8415,19 +8784,30 @@ declare type LayoutComponent = LayoutItemConfig & {
8415
8784
 
8416
8785
  declare type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
8417
8786
 
8418
- declare class LayoutContentCache {
8419
- private contentItemCache;
8420
- private contentItemCacheId;
8421
- private createCacheKey;
8422
- hasKey: (id: string) => boolean;
8423
- getItemOrUndefined: (id: string) => GoldenLayout.ContentItem | undefined;
8424
- getContentItemOrThrow: (id: string, expectedType?: string[]) => GoldenLayout.ContentItem;
8425
- getOrCreateEntityId: (contentItem: GoldenLayout.ContentItem) => string;
8426
- }
8427
-
8428
8787
  declare type LayoutEntitiesClient = ApiClient<LayoutEntitiesController>;
8429
8788
 
8430
- /* Excluded from this release type: LayoutEntitiesController */
8789
+ declare type LayoutEntitiesController = {
8790
+ getLayoutIdentityForViewOrThrow: (viewIdentity?: OpenFin_2.Identity) => Promise<OpenFin_2.LayoutIdentity>;
8791
+ getRoot: (layoutIdentity?: OpenFin_2.LayoutIdentity) => Promise<OpenFin_2.LayoutEntityDefinition>;
8792
+ getStackByView: (viewIdentity: OpenFin_2.Identity) => Promise<OpenFin_2.LayoutEntityDefinition | undefined>;
8793
+ getStackViews: (id: string) => OpenFin_2.Identity[];
8794
+ getContent: (id: string) => OpenFin_2.LayoutEntityDefinition[];
8795
+ getParent: (id: string) => OpenFin_2.LayoutEntityDefinition | undefined;
8796
+ isRoot: (id: string) => boolean;
8797
+ exists: (entityId: string) => boolean;
8798
+ addViewToStack: (stackEntityId: string, viewCreationOrReference: ViewCreationOrReference, viewInsertionOptions?: {
8799
+ index?: number;
8800
+ }) => Promise<OpenFin_2.Identity>;
8801
+ removeViewFromStack: (stackEntityId: string, view: OpenFin_2.Identity) => Promise<void>;
8802
+ createAdjacentStack: (targetId: string, views: ViewCreationOrReference[], stackCreationOptions?: {
8803
+ position?: OpenFin_2.LayoutPosition;
8804
+ }) => Promise<string>;
8805
+ getAdjacentStacks: (stackTarget: {
8806
+ targetId: string;
8807
+ edge: OpenFin_2.LayoutPosition;
8808
+ }) => Promise<Pick<OpenFin_2.LayoutEntityDefinition, 'entityId'>[]>;
8809
+ setStackActiveView: (stackEntityId: string, viewIdentity: OpenFin_2.Identity) => Promise<void>;
8810
+ };
8431
8811
 
8432
8812
  /**
8433
8813
  * @interface
@@ -8454,36 +8834,18 @@ declare type LayoutIdentity = Identity_5 & {
8454
8834
  * Generated when a window and all of its layout's views have either finished or failed navigation.
8455
8835
  * @interface
8456
8836
  */
8457
- declare type LayoutInitializedEvent = BaseWindowEvent & {
8837
+ declare type LayoutInitializedEvent = BaseEvent_5 & {
8458
8838
  type: 'layout-initialized';
8459
8839
  ofViews: (OpenFin_2.Identity & {
8460
8840
  entityType: 'view';
8461
8841
  })[];
8462
8842
  };
8463
8843
 
8464
- /**
8465
- * @interface @experimental
8466
- *
8467
- * Responsible for handling all layout management and renderering
8468
- */
8469
- declare type LayoutInstance = {
8470
- getFrameSnapshot: () => Promise<LayoutOptions>;
8471
- addView: (payload: AddViewOptions) => Promise<View_2>;
8472
- closeView: (viewIdentity: Identity_5) => Promise<void>;
8473
- removeView: (viewConfig: Identity_5 | ViewState) => Promise<View_2>;
8474
- replaceView: (payload: ReplaceViewOptions) => Promise<View_2>;
8475
- getViews: () => LayoutComponent[];
8476
- getCurrentViews: () => Identity_5[];
8477
- startReplaceLayout: (payload: ReplaceLayoutOptions) => Promise<void>;
8478
- applyPreset: (payload: PresetLayoutOptions_3) => void;
8479
- isVisible: () => boolean;
8480
- destroy: () => void;
8481
- };
8844
+ /* Excluded from this release type: LayoutInstance */
8482
8845
 
8483
8846
  /**
8484
8847
  * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
8485
- * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot} or our
8486
- * {@link https://openfin.github.io/golden-prototype/config-gen Layout Config Generation Tool }.
8848
+ * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot}.
8487
8849
  *
8488
8850
  * @interface
8489
8851
  */
@@ -8505,25 +8867,43 @@ declare type LayoutItemConfig = {
8505
8867
 
8506
8868
  /**
8507
8869
  * @interface @experimental
8870
+ *
8871
+ * **NOTE**: Internal use only. This type is reserved for Workspace Browser implementation.
8872
+ *
8873
+ * Responsible for aggergating all layout snapshots and storing LayoutInstances
8508
8874
  */
8509
- declare interface LayoutManager<T extends LayoutSnapshot = LayoutSnapshot> {
8875
+ declare interface LayoutManager<T extends LayoutSnapshot> {
8510
8876
  /**
8511
8877
  * @experimental
8512
8878
  *
8513
- * Must be overridden when working with multiple layouts
8879
+ * To enable multiple layouts, override this method and do not call super.applyLayoutSnapshot()
8880
+ *
8881
+ * This hook is called by OpenFin during fin.Platform.Layout.init() call, to pass a snapshot to derived
8882
+ * classes which will be used launch a platform window. Use this hook to set your local UI state and
8883
+ * begin rendering the containers for your layouts UI.
8514
8884
  *
8515
- * Hook called during fin.Platform.Layout.init() call, to inform derived classes
8516
- * when a snapshot is being applied to launch a platform window. Use this hook to set the
8517
- * local state and ensure you call fin.Platform.Layout.create() on every layout in snapshot.layouts
8885
+ * Ensure you call fin.Platform.Layout.create() on every layout in snapshot.layouts when that layout is
8886
+ * ready to be created in your application.
8518
8887
  *
8519
- * When using custom data to the app manifest snapshot.windows.layoutSnapshot key, this data will
8520
- * be included in the snapshot type T and should align with your component state T.
8888
+ * If you add custom data to the app manifest snapshot.windows.layoutSnapshot key, this data will
8889
+ * be included in the snapshot type.
8890
+ *
8891
+ * The default implementation throws if it is called with a snapshot containing more than one layout.
8521
8892
  *
8522
- * TODO: detect if layoutManager override was set and this was not overridden somehow to warn?
8523
8893
  * @param snapshot
8524
- * @returns
8894
+ * @throws if Object.keys(snapshot).length > 1
8895
+ */
8896
+ applyLayoutSnapshot(snapshot: T): Promise<void>;
8897
+ /**
8898
+ * Called at the start of layout initialization. Adds a new LayoutInstance if the snapshot
8899
+ * contains a single layout.
8900
+ *
8901
+ * Throws if the snapshot contains more than 1 layout, it is expected that the user handles calling
8902
+ * fin.Platform.Layout.create() once for each layout to properly connect it to their UI state.
8903
+ *
8904
+ * @param snapshot
8905
+ * @throws if Object.keys(snapshot).length > 1
8525
8906
  */
8526
- applyLayoutSnapshot: (snapshot: T) => Promise<void>;
8527
8907
  /**
8528
8908
  * @experimental
8529
8909
  *
@@ -8534,35 +8914,63 @@ declare interface LayoutManager<T extends LayoutSnapshot = LayoutSnapshot> {
8534
8914
  * @param layoutIdentity
8535
8915
  * @returns
8536
8916
  */
8537
- showLayout: ({ layoutName }: LayoutIdentity) => Promise<void>;
8917
+ showLayout({ layoutName }: LayoutIdentity): Promise<void>;
8538
8918
  /**
8539
8919
  * @experimental
8540
8920
  *
8541
8921
  * @returns T
8542
8922
  */
8543
- getLayoutSnapshot: () => Promise<T>;
8923
+ getLayoutSnapshot(): Promise<T>;
8544
8924
  /**
8545
8925
  * @experimental
8546
8926
  *
8547
- * @param param0
8927
+ * @param layoutIdentity
8548
8928
  * @returns
8549
8929
  */
8550
- resolveLayout: ({ layoutName }: LayoutIdentity) => LayoutInstance;
8930
+ resolveLayout(layoutIdentity?: LayoutIdentity): Promise<LayoutInstance>;
8551
8931
  /**
8552
8932
  * @experimental
8553
8933
  *
8554
8934
  * Returns a LayoutInstance if one exists with the name layoutIdentity.layoutName.
8555
8935
  * Throws if it does not exist.
8556
- * @param layoutIdentity
8936
+ * @param layoutName
8557
8937
  * @returns
8558
8938
  */
8559
- getLayoutByName: (layoutName: string) => LayoutInstance;
8939
+ getLayoutByName(layoutName: string): LayoutInstance;
8560
8940
  /**
8561
8941
  * @experimental
8562
8942
  */
8563
8943
  getLayouts(): Record<string, LayoutInstance>;
8944
+ /**
8945
+ * @experimental
8946
+ */
8947
+ getLayoutIdentityForView(viewIdentity: Identity_5): LayoutIdentity;
8948
+ /**
8949
+ * @experimental
8950
+ */
8951
+ isLayoutVisible({ layoutName }: LayoutIdentity): boolean;
8564
8952
  }
8565
8953
 
8954
+ /**
8955
+ * @experimental
8956
+ *
8957
+ * Constructor type for LayoutManager to be used with multiple layouts
8958
+ */
8959
+ declare type LayoutManagerConstructor<T extends LayoutSnapshot> = {
8960
+ new (): LayoutManager<T>;
8961
+ };
8962
+
8963
+ /**
8964
+ * @experimental
8965
+ *
8966
+ * Override callback used to init and configure multiple layouts. Implement by passing
8967
+ * a lambda and returning a class that OpenFin will new up for you.
8968
+ * @remarks
8969
+ * **NOTE**: Unlike the Platform Provider overrideCallback and interopOverride, this override should
8970
+ * return a class, not an instance
8971
+ */
8972
+ declare type LayoutManagerOverride<T extends LayoutSnapshot> = (Base: LayoutManagerConstructor<LayoutSnapshot>) => LayoutManagerConstructor<T>;
8973
+
8566
8974
  /**
8567
8975
  * Static namespace for OpenFin API methods that interact with the {@link Layout} class, available under `fin.Platform.Layout`.
8568
8976
  */
@@ -8587,7 +8995,7 @@ declare class LayoutModule extends Base {
8587
8995
  * const layoutConfig = await layout.getConfig();
8588
8996
  * ```
8589
8997
  */
8590
- wrap(identity: OpenFin_2.Identity): Promise<OpenFin_2.Layout>;
8998
+ wrap(identity: OpenFin_2.LayoutIdentity): Promise<OpenFin_2.Layout>;
8591
8999
  /**
8592
9000
  * Synchronously returns a Layout object that represents a Window's layout.
8593
9001
  *
@@ -8607,7 +9015,7 @@ declare class LayoutModule extends Base {
8607
9015
  * const layoutConfig = await layout.getConfig();
8608
9016
  * ```
8609
9017
  */
8610
- wrapSync(identity: OpenFin_2.Identity): OpenFin_2.Layout;
9018
+ wrapSync(identity: OpenFin_2.LayoutIdentity): OpenFin_2.Layout;
8611
9019
  /**
8612
9020
  * Asynchronously returns a Layout object that represents a Window's layout.
8613
9021
  *
@@ -8671,7 +9079,14 @@ declare class LayoutModule extends Base {
8671
9079
  * const layout = await fin.Platform.Layout.init({ containerId });
8672
9080
  * ```
8673
9081
  */
8674
- init: (options?: InitLayoutOptions) => Promise<OpenFin_2.Layout>;
9082
+ init: (options?: OpenFin_2.InitLayoutOptions) => Promise<OpenFin_2.Layout>;
9083
+ /**
9084
+ * Returns the layout manager for the current window
9085
+ * @returns
9086
+ */
9087
+ getCurrentLayoutManagerSync: <UserSnapshotType extends OpenFin_2.LayoutSnapshot>() => OpenFin_2.LayoutManager<UserSnapshotType>;
9088
+ create: (options: OpenFin_2.CreateLayoutOptions) => Promise<void>;
9089
+ destroy: (layoutIdentity: OpenFin_2.LayoutIdentity) => Promise<void>;
8675
9090
  }
8676
9091
 
8677
9092
  declare type LayoutModule_2 = OpenFin_2.Fin['Platform']['Layout'];
@@ -8757,8 +9172,7 @@ declare type LayoutOptions = {
8757
9172
  };
8758
9173
  /**
8759
9174
  * Content of the layout. There can only be one top-level LayoutItem in the content array.
8760
- * We do not recommend trying to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot} or our
8761
- * {@link https://openfin.github.io/golden-prototype/config-gen Layout Config Generation Tool }.
9175
+ * We do not recommend trying to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot}.
8762
9176
  */
8763
9177
  content?: LayoutContent;
8764
9178
  dimensions?: {
@@ -8780,7 +9194,7 @@ declare type LayoutPresetType = 'columns' | 'grid' | 'rows' | 'tabs';
8780
9194
  * Generated when a window and all of its layout's views have been created and can receive API calls.
8781
9195
  * @interface
8782
9196
  */
8783
- declare type LayoutReadyEvent = BaseWindowEvent & {
9197
+ declare type LayoutReadyEvent = BaseEvent_5 & {
8784
9198
  type: 'layout-ready';
8785
9199
  views: (OpenFin_2.Identity & {
8786
9200
  success: boolean;
@@ -8921,7 +9335,7 @@ declare type Manifest = {
8921
9335
  * Generated when the RVM notifies an application that the manifest has changed.
8922
9336
  * @interface
8923
9337
  */
8924
- declare type ManifestChangedEvent = IdentityEvent & {
9338
+ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
8925
9339
  topic: 'application';
8926
9340
  type: 'manifest-changed';
8927
9341
  };
@@ -8974,7 +9388,7 @@ declare type MatchPattern = string;
8974
9388
  * Generated when a window is maximized.
8975
9389
  * @interface
8976
9390
  */
8977
- declare type MaximizedEvent = BaseWindowEvent & {
9391
+ declare type MaximizedEvent = BaseEvent_5 & {
8978
9392
  type: 'maximized';
8979
9393
  };
8980
9394
 
@@ -9054,7 +9468,17 @@ declare interface Message<T> {
9054
9468
 
9055
9469
  declare type MessageHandler = (data: any) => boolean;
9056
9470
 
9057
- declare class MessageReceiver extends Base {
9471
+ declare interface MessageReceiver {
9472
+ addEventListener(e: 'open', listener: (ev: Event) => void): void;
9473
+ addEventListener(e: 'error', listener: (ev: Event) => void): void;
9474
+ addEventListener(e: 'message', listener: (ev: MessageEvent) => void): void;
9475
+ addEventListener(e: 'close', listener: (ev: Event) => void): void;
9476
+ send(data: unknown): void;
9477
+ close(): void;
9478
+ readyState: FlexReadyState;
9479
+ }
9480
+
9481
+ declare class MessageReceiver_2 extends Base {
9058
9482
  private endpointMap;
9059
9483
  private latestEndpointIdByChannelId;
9060
9484
  constructor(wire: Transport);
@@ -9074,7 +9498,7 @@ declare type MessagingProtocols = ProtocolOffer['type'];
9074
9498
  * Generated when a window is minimized.
9075
9499
  * @interface
9076
9500
  */
9077
- declare type MinimizedEvent = BaseWindowEvent & {
9501
+ declare type MinimizedEvent = BaseEvent_5 & {
9078
9502
  type: 'minimized';
9079
9503
  };
9080
9504
 
@@ -9123,7 +9547,7 @@ declare type MonitorDetails = {
9123
9547
  * The available space of a monitor defines a rectangle that is not occupied by the taskbar
9124
9548
  * @interface
9125
9549
  */
9126
- declare type MonitorEvent = BaseSystemEvent & OpenFin_2.MonitorInfo & {
9550
+ declare type MonitorEvent = BaseEvent_8 & OpenFin_2.MonitorInfo & {
9127
9551
  type: 'monitor-info-changed';
9128
9552
  };
9129
9553
 
@@ -9208,7 +9632,7 @@ declare type MutableViewOptions = {
9208
9632
  contentRedirect: ContentRedirect;
9209
9633
  /**
9210
9634
  * @defaultValue false
9211
- *
9635
+ * @deprecated
9212
9636
  * **Platforms Only.** If true, will hide and detach the View from the window for later use instead of closing,
9213
9637
  * allowing the state of the View to be saved and the View to be immediately shown in a new Layout.
9214
9638
  */
@@ -9545,13 +9969,15 @@ declare type NonPropagatedWebContentsEvent = never;
9545
9969
  */
9546
9970
  declare type NonPropagatedWindowEvent = never;
9547
9971
 
9972
+ /* Excluded from this release type: NotCloseRequested */
9973
+
9548
9974
  /* Excluded from this release type: NotRequested */
9549
9975
 
9550
9976
  /**
9551
9977
  * Generated when an application is not responding.
9552
9978
  * @interface
9553
9979
  */
9554
- declare type NotRespondingEvent = IdentityEvent & {
9980
+ declare type NotRespondingEvent = BaseEvents.IdentityEvent & {
9555
9981
  topic: 'application';
9556
9982
  type: 'not-responding';
9557
9983
  };
@@ -9620,6 +10046,11 @@ declare namespace OpenFin_2 {
9620
10046
  Rectangle,
9621
10047
  ApplicationCreationOptions,
9622
10048
  ApplicationOptions,
10049
+ CustomProtocolMissingState,
10050
+ CustomProtocolMalformedState,
10051
+ CustomProtocolRegisteredState,
10052
+ CustomProtocolState,
10053
+ CustomProtocolOptions,
9623
10054
  InteropBrokerOptions,
9624
10055
  ContextGroupInfo,
9625
10056
  DisplayMetadata_3 as DisplayMetadata,
@@ -9683,6 +10114,7 @@ declare namespace OpenFin_2 {
9683
10114
  ReplaceViewPayload,
9684
10115
  ReplaceViewOptions,
9685
10116
  CloseViewPayload,
10117
+ CloseViewOptions,
9686
10118
  FetchManifestPayload,
9687
10119
  ReplaceLayoutOpts,
9688
10120
  ReplaceLayoutPayload,
@@ -9806,6 +10238,11 @@ declare namespace OpenFin_2 {
9806
10238
  IntentHandler_2 as IntentHandler,
9807
10239
  ContentCreationBehaviorNames,
9808
10240
  MatchPattern,
10241
+ BaseContentCreationRule,
10242
+ WindowContentCreationRule,
10243
+ ViewContentCreationRule,
10244
+ BrowserContentCreationRule,
10245
+ BlockedContentCreationRule,
9809
10246
  ContentCreationRule,
9810
10247
  ContentCreationOptions,
9811
10248
  SnapshotProvider,
@@ -9845,13 +10282,13 @@ declare namespace OpenFin_2 {
9845
10282
  LayoutPresetType,
9846
10283
  LayoutIdentity,
9847
10284
  LayoutSnapshot,
9848
- InitLayoutOptions_3 as InitLayoutOptions,
10285
+ InitLayoutOptions,
10286
+ LayoutManagerConstructor,
10287
+ LayoutManagerOverride,
9849
10288
  LayoutInstance,
9850
10289
  LayoutManager,
9851
- AddLayoutInstanceOptions,
9852
10290
  CreateLayoutOptions,
9853
- DestroyLayoutOptions,
9854
- PresetLayoutOptions_3 as PresetLayoutOptions,
10291
+ PresetLayoutOptions_2 as PresetLayoutOptions,
9855
10292
  ResultBehavior,
9856
10293
  PopupBaseBehavior,
9857
10294
  PopupResultBehavior,
@@ -9866,7 +10303,7 @@ declare namespace OpenFin_2 {
9866
10303
  AppVersionCompleteEvent,
9867
10304
  AppVersionRuntimeStatusEvent,
9868
10305
  Events,
9869
- BaseEvent_2 as BaseEvent,
10306
+ BaseEvent_9 as BaseEvent,
9870
10307
  WebContentsEvent_2 as WebContentsEvent,
9871
10308
  SystemEvent_2 as SystemEvent,
9872
10309
  ApplicationEvent_2 as ApplicationEvent,
@@ -9891,6 +10328,7 @@ declare namespace OpenFin_2 {
9891
10328
  ChannelClientDisconnectionListener,
9892
10329
  ChannelProviderDisconnectionListener,
9893
10330
  RoutingInfo,
10331
+ DownloadShelfOptions,
9894
10332
  ApplicationEvents,
9895
10333
  BaseEvents,
9896
10334
  ExternalApplicationEvents,
@@ -9905,109 +10343,34 @@ declare namespace OpenFin_2 {
9905
10343
  }
9906
10344
  export default OpenFin_2;
9907
10345
 
9908
- declare class OpenFinLayout implements OpenFin_2.LayoutInstance {
9909
- #private;
9910
- private readonly splitterController;
9911
- private readonly tabDragController;
9912
- private readonly layoutContentCache;
9913
- private get defaultFaviconUrl();
9914
- private get isDragging();
9915
- private get resizing();
9916
- private get showBackgroundImages();
9917
- private get showFavicons();
9918
- private get showViewsOnSplitterDrag();
9919
- private get showViewsOnTabDrag();
9920
- private get showViewsOnWindowResize();
9921
- private get container();
9922
- get layout(): GoldenLayout.GoldenLayout;
9923
- private get layoutConfigToRestore();
9924
- private client;
9925
- private containerResizeObserver;
9926
- private viewsResizeObserver;
9927
- readonly ofWindow: OpenFin_2.Window;
9928
- readonly platform: Platform_2;
9929
- private lastItemDestroyed?;
9930
- private viewsSubscribedTo;
9931
- constructor(splitterController: SplitterController, tabDragController: TabDragController, layoutContentCache: LayoutContentCache, container: HTMLElement);
9932
- getViews: () => OpenFin_2.LayoutComponent[];
9933
- startReplaceLayout: ({ layout }: {
9934
- layout: GoldenLayout.Config;
9935
- }) => Promise<void>;
9936
- applyPreset: (payload: PresetLayoutOptions_2) => void;
9937
- isVisible: () => boolean;
9938
- destroy: () => void;
9939
- /* Excluded from this release type: getClient */
9940
- initManager: () => Promise<void>;
9941
- createLayout: (layout: GoldenLayout.Config, container: HTMLElement) => Promise<void>;
9942
- private setContainer;
9943
- private setupDragDropRegions;
9944
- private replaceLayout;
9945
- private onViewDetached;
9946
- private setupLayoutListeners;
9947
- private onLayoutInit;
9948
- private registerViewComponent;
9949
- private setupWindowListeners;
9950
- private setupResizeObservers;
9951
- /**
9952
- * Shows/hides a view depending on use case (used by browser)
9953
- * @ignore
9954
- */
9955
- private updateViewVisibility;
9956
- private onStackCreated;
9957
- private onTabCreated;
9958
- private onTabMouseUp;
9959
- private replaceCloseTabButton;
9960
- onCloseTabButtonClick: (tab: GoldenLayout.Tab) => Promise<void>;
9961
- addFaviconToTab: (tab: GoldenLayout.Tab, eventIcons: string[]) => void;
9962
- onPopoutClick: (stack: GoldenLayout.ContentItem) => void;
9963
- onStackCloseClick: (stack: GoldenLayout.ContentItem) => void;
9964
- private updateButtonDisplay;
9965
- private onItemCreated;
9966
- private observeSplitters;
9967
- handleOutOfWindowDrop: (e: {
9968
- screenY: number;
9969
- screenX: number;
9970
- }, parentTab: GoldenLayout.Tab, dimensions: {
9971
- width: any;
9972
- height: any;
9973
- }) => Promise<void>;
9974
- private onTabDragStart;
9975
- private setBackgroundImage;
9976
- private setBackgroundImages;
9977
- getFrameSnapshot: () => Promise<GoldenLayout.Config>;
9978
- getCurrentViews: () => OpenFin_2.Identity[];
9979
- addView: ({ options: viewConfig, targetView, location }: OpenFin_2.AddViewOptions) => Promise<View_4>;
9980
- replaceView: ({ viewToReplace, newView }: OpenFin_2.ReplaceViewOptions) => Promise<View_4>;
9981
- removeView: (viewConfig: OpenFin_2.Identity | OpenFin_2.ViewState) => Promise<View_4>;
9982
- closeView: (viewIdentity: OpenFin_2.Identity) => Promise<void>;
9983
- private createChannelConnections;
9984
- getViewComponent: ({ name }: {
9985
- name: string;
9986
- }) => ViewComponent | undefined;
9987
- getViewComponents: () => ViewComponent[];
9988
- private hideHighlight;
9989
- getOfViewFromComponentState: ({ name }: {
9990
- name: string;
9991
- }) => View_4;
9992
- private hideAllViews;
9993
- private showViews;
9994
- private initializeLayoutViews;
9995
- private createResizableView;
9996
- private attachView;
9997
- private createAndAttachView;
9998
- private setupViewEvents;
9999
- private dispatchLayoutEvent;
10000
- private setComponentState;
10001
- }
10002
-
10003
10346
  declare type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
10004
10347
 
10348
+ /**
10349
+ * Generated after window options are changed using the window.updateOptions method.
10350
+ * @remarks Will not fire if the diff object is empty.
10351
+ * @interface
10352
+ */
10353
+ declare type OptionsChangedEvent = BaseEvent_5 & {
10354
+ type: 'options-changed';
10355
+ options: OpenFin_2.WindowOptions;
10356
+ diff: OpenFin_2.WindowOptionDiff;
10357
+ };
10358
+
10005
10359
  declare type OverlapsOnlyIfMatching<T, U> = {
10006
10360
  [K in Extract<keyof T, keyof U>]: U[K] extends T[K] ? U[K] : T[K] extends U[K] ? T[K] : never;
10007
10361
  };
10008
10362
 
10009
10363
  declare type OverrideCallback<T extends any = PlatformProvider, U extends T = T> = (arg: Constructor<T>) => U | Promise<U>;
10010
10364
 
10365
+ /**
10366
+ * Generated when page receives favicon urls.
10367
+ * @interface
10368
+ */
10369
+ declare type PageFaviconUpdatedEvent = NamedEvent & {
10370
+ type: 'page-favicon-updated';
10371
+ favicons: string[];
10372
+ };
10373
+
10011
10374
  /**
10012
10375
  * Generated when page title is set during navigation.
10013
10376
  * @remarks explicitSet is false when title is synthesized from file url.
@@ -10026,74 +10389,74 @@ declare type Payload<Success extends boolean = boolean, Data = any> = {
10026
10389
  };
10027
10390
 
10028
10391
  /**
10029
- * Extracts a single event type matching the given key from the {@link ApplicationEvent} union.
10392
+ * Extracts a single event type matching the given key from the View {@link Event} union.
10030
10393
  *
10031
10394
  * @typeParam Type String key specifying the event to extract
10032
10395
  */
10033
- declare type Payload_2<Type extends ApplicationEventType> = Extract<ApplicationEvent, {
10396
+ declare type Payload_2<Type extends EventType> = Extract<Event_4, {
10034
10397
  type: Type;
10035
10398
  }>;
10036
10399
 
10037
10400
  /**
10038
- * Extracts a single event type matching the given key from the {@link ExternalApplicationEvent} union.
10401
+ * Extracts a single event type matching the given key from the Window {@link Event} union.
10039
10402
  *
10040
10403
  * @typeParam Type String key specifying the event to extract
10041
10404
  */
10042
- declare type Payload_3<Type extends ExternalApplicationEventType> = Extract<ExternalApplicationEvent, {
10405
+ declare type Payload_3<Type extends EventType_2> = Extract<Event_6, {
10043
10406
  type: Type;
10044
10407
  }>;
10045
10408
 
10046
10409
  /**
10047
- * Extracts a single event type matching the given key from the {@link FrameEvent} union.
10410
+ * Extracts a single event type matching the given key from the Application {@link Event} union.
10048
10411
  *
10049
10412
  * @typeParam Type String key specifying the event to extract
10050
10413
  */
10051
- declare type Payload_4<Type extends FrameEventType> = Extract<FrameEvent, {
10414
+ declare type Payload_4<Type extends EventType_3> = Extract<Event_3, {
10052
10415
  type: Type;
10053
10416
  }>;
10054
10417
 
10055
10418
  /**
10056
- * Extracts a single event type matching the given key from the {@link GlobalHotkeyEvent} union.
10419
+ * Extracts a single event type matching the given key from the ExternalApplication {@link Event} union.
10057
10420
  *
10058
10421
  * @typeParam Type String key specifying the event to extract
10059
10422
  */
10060
- declare type Payload_5<Type extends GlobalHotkeyEventType> = Extract<GlobalHotkeyEvent, {
10423
+ declare type Payload_5<Type extends EventType_4> = Extract<Event_7, {
10061
10424
  type: Type;
10062
10425
  }>;
10063
10426
 
10064
10427
  /**
10065
- * Extracts a single event type matching the given key from the {@link PlatformEvent} union.
10428
+ * Extracts a single event type matching the given key from the Frame {@link Event} union.
10066
10429
  *
10067
10430
  * @typeParam Type String key specifying the event to extract
10068
10431
  */
10069
- declare type Payload_6<Type extends PlatformEventType> = Extract<PlatformEvent, {
10432
+ declare type Payload_6<Type extends EventType_5> = Extract<Event_8, {
10070
10433
  type: Type;
10071
10434
  }>;
10072
10435
 
10073
10436
  /**
10074
- * Extracts a single event type matching the given key from the {@link SystemEvent} union.
10437
+ * Extracts a single event type matching the given key from the GlobalHotkey {@link Event} union.
10075
10438
  *
10076
10439
  * @typeParam Type String key specifying the event to extract
10077
10440
  */
10078
- declare type Payload_7<Type extends SystemEventType> = Extract<SystemEvent, {
10441
+ declare type Payload_7<Type extends EventType_6> = Extract<Event_9, {
10079
10442
  type: Type;
10080
10443
  }>;
10081
10444
 
10082
10445
  /**
10083
- * Extracts a single event type matching the given key from the {@link ViewEvent} union.
10446
+ * Extracts a single event type matching the given key from the Platform {@link Event} union.
10084
10447
  *
10085
10448
  * @typeParam Type String key specifying the event to extract
10086
10449
  */
10087
- declare type Payload_8<Type extends ViewEventType> = Extract<ViewEvent, {
10450
+ declare type Payload_8<Type extends EventType_7> = Extract<Event_10, {
10088
10451
  type: Type;
10089
10452
  }>;
10090
10453
 
10091
10454
  /**
10092
- * Extracts a single event type matching the given key from the {@link WindowEvent} union.
10455
+ * Extracts a single event type matching the given key from the System {@link Event} union.
10093
10456
  *
10094
10457
  * @typeParam Type String key specifying the event to extract
10095
10458
  */
10096
- declare type Payload_9<Type extends WindowEventType> = Extract<WindowEvent, {
10459
+ declare type Payload_9<Type extends EventType_8> = Extract<Event_11, {
10097
10460
  type: Type;
10098
10461
  }>;
10099
10462
 
@@ -10103,7 +10466,7 @@ declare type PayloadTypeByStrategy<T extends ChannelStrategy<unknown>> = T exten
10103
10466
  * Generated when window finishes loading. Provides performance and navigation data.
10104
10467
  * @interface
10105
10468
  */
10106
- declare type PerformanceReportEvent = Performance & BaseWindowEvent & {
10469
+ declare type PerformanceReportEvent = Performance & BaseEvent_5 & {
10107
10470
  type: 'performance-report';
10108
10471
  };
10109
10472
 
@@ -10736,41 +11099,37 @@ declare class Platform extends EmitterBase<OpenFin_2.PlatformEvent> {
10736
11099
  }): Promise<void>;
10737
11100
  }
10738
11101
 
10739
- declare type Platform_2 = OpenFin_2.Platform;
10740
-
10741
11102
  /**
10742
- * Generated when a new Platform's API becomes responsive.
10743
- * @interface
11103
+ * @deprecated Renamed to {@link ApiReadyEvent}.
10744
11104
  */
10745
- declare type PlatformApiReadyEvent = BaseEvent & {
10746
- topic: 'application';
10747
- type: 'platform-api-ready';
10748
- };
11105
+ declare type PlatformApiReadyEvent = ApiReadyEvent;
10749
11106
 
10750
11107
  /**
10751
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Platform}. Events are
10752
- * discriminated by {@link PlatformEvent.type | their type}. Event payloads unique to `Platform` can be found
10753
- * under the {@link OpenFin.PlatformEvents} namespace.
11108
+ * @deprecated Renamed to {@link Event}.
10754
11109
  */
10755
- declare type PlatformEvent = ApplicationEvent | PlatformApiReadyEvent | PlatformSnapshotAppliedEvent;
11110
+ declare type PlatformEvent = Event_10;
10756
11111
 
10757
11112
  declare type PlatformEvent_2 = Events.PlatformEvents.PlatformEvent;
10758
11113
 
10759
11114
  declare namespace PlatformEvents {
10760
11115
  export {
11116
+ ApiReadyEvent,
10761
11117
  PlatformApiReadyEvent,
11118
+ SnapshotAppliedEvent,
10762
11119
  PlatformSnapshotAppliedEvent,
11120
+ Event_10 as Event,
10763
11121
  PlatformEvent,
11122
+ EventType_7 as EventType,
10764
11123
  PlatformEventType,
10765
- Payload_6 as Payload,
10766
- ByType_5 as ByType
11124
+ Payload_8 as Payload,
11125
+ ByType_7 as ByType
10767
11126
  }
10768
11127
  }
10769
11128
 
10770
11129
  /**
10771
- * Union of possible `type` values for a {@link PlatformEvent}.
11130
+ * @deprecated Renamed to {@link }.
10772
11131
  */
10773
- declare type PlatformEventType = PlatformEvent['type'];
11132
+ declare type PlatformEventType = EventType_7;
10774
11133
 
10775
11134
  /**
10776
11135
  * Static namespace for OpenFin API methods that interact with the {@link Platform} class, available under `fin.Platform`.
@@ -11029,6 +11388,8 @@ declare interface PlatformProvider {
11029
11388
  * ```
11030
11389
  */
11031
11390
  getSnapshot(payload: undefined, identity: OpenFin_2.Identity): Promise<OpenFin_2.Snapshot>;
11391
+ /* Excluded from this release type: getInitialLayoutSnapshot */
11392
+ /* Excluded from this release type: createViewsForLayout */
11032
11393
  /* Excluded from this release type: getViewSnapshot */
11033
11394
  /**
11034
11395
  * Called when a snapshot is being applied and some windows in that snapshot would be fully or partially off-screen.
@@ -11433,19 +11794,9 @@ declare interface PlatformProvider {
11433
11794
  }
11434
11795
 
11435
11796
  /**
11436
- * Generated when a platform.ApplySnapshot call is resolved.
11437
- * @remarks The call is resolved when the following conditions are met for all windows in the snapshot:
11438
- * 1. The window has been created
11439
- * 2. The window has a responsive API
11440
- * 3. If a window has a layout property, the 'layout-ready' event has fired
11441
- *
11442
- * _Note_ - In the case of using a custom provider, if a window has a layout property but does not call _Layout.init_ this event may not fire.
11443
- * @interface
11797
+ * @deprecated Renamed to {@link SnapshotAppliedEvent}.
11444
11798
  */
11445
- declare type PlatformSnapshotAppliedEvent = BaseEvent & {
11446
- topic: 'application';
11447
- type: 'platform-snapshot-applied';
11448
- };
11799
+ declare type PlatformSnapshotAppliedEvent = SnapshotAppliedEvent;
11449
11800
 
11450
11801
  /**
11451
11802
  * @interface
@@ -11713,7 +12064,7 @@ declare type PreloadScriptsStateChangedEvent = PreloadScriptsStateChangeEvent &
11713
12064
  * A general preload scripts state change event without event type.
11714
12065
  * @interface
11715
12066
  */
11716
- declare type PreloadScriptsStateChangeEvent = BaseWindowEvent & {
12067
+ declare type PreloadScriptsStateChangeEvent = BaseEvent_5 & {
11717
12068
  preloadScripts: (PreloadScriptInfoRunning & any)[];
11718
12069
  };
11719
12070
 
@@ -11728,12 +12079,10 @@ declare type PreloadScriptsStateChangingEvent = PreloadScriptsStateChangeEvent &
11728
12079
 
11729
12080
  declare type PresetLayoutOptions = OpenFin_2.PresetLayoutOptions;
11730
12081
 
11731
- declare type PresetLayoutOptions_2 = OpenFin_2.PresetLayoutOptions;
11732
-
11733
12082
  /**
11734
12083
  * @interface
11735
12084
  */
11736
- declare type PresetLayoutOptions_3 = {
12085
+ declare type PresetLayoutOptions_2 = {
11737
12086
  /**
11738
12087
  * Which preset layout arrangement to use.
11739
12088
  * The preset options are `columns`, `grid`, `rows`, and `tabs`.
@@ -11924,65 +12273,96 @@ declare type ProcessLoggingOptions = {
11924
12273
  };
11925
12274
 
11926
12275
  /**
11927
- * An Application event that has propagated to {@link OpenFin.SystemEvents System}, type string prefixed with `application-`.
11928
- * {@link OpenFin.ApplicationEvents.ApplicationWindowEvent Application events that are tied to Windows but do not propagate from them}
11929
- * are propagated to `System` without any type string prefixing.
11930
- *
11931
- * "Requested" events (e.g. {@link RunRequestedEvent}) do not propagate.
12276
+ * @deprecated Renamed to {@link PropagatedEvent}.
11932
12277
  */
11933
- declare type PropagatedApplicationEvent<TargetTopic extends string> = PropagatedEvent<'application', TargetTopic, ApplicationSourcedEvent> | ApplicationWindowEvent;
12278
+ declare type PropagatedApplicationEvent<TargetTopic extends string> = PropagatedEvent_4<TargetTopic>;
11934
12279
 
11935
12280
  /**
11936
- * Union of possible 'type' values for a {@link OpenFin.ApplicationEvents.PropagatedApplicationEvent}.
12281
+ * @deprecated Renamed to {@link PropagatedEventType}.
11937
12282
  */
11938
- declare type PropagatedApplicationEventType = PropagatedApplicationEvent<string>['type'];
12283
+ declare type PropagatedApplicationEventType = PropagatedEventType_3;
11939
12284
 
11940
12285
  /**
11941
- * Modifies an event shape to reflect propagation to a parent topic.
12286
+ * Modifies an event shape to reflect propagation to a parent topic. Excludes `close-requested` events, as
12287
+ * these do not propagate.
12288
+ *
11942
12289
  * @remarks The 'type' field is prefixed with the original topic, and a new property is added with the original topic's identity.
12290
+ *
12291
+ * @typeParam SourceTopic The topic the event shape is propagating from.
12292
+ * @typeParam TargetTopic The topic the event shape is propagating to.
12293
+ * @typeParam Event The shape of the event being propagated.
11943
12294
  */
11944
12295
  declare type PropagatedEvent<SourceTopic extends string, TargetTopic extends string, Event extends {
11945
12296
  type: string;
11946
12297
  }> = Event extends infer E extends {
11947
12298
  type: string;
11948
- } ? Omit<E, 'type' | 'topic'> & {
12299
+ } ? E['type'] extends 'close-requested' ? never : Omit<E, 'type' | 'topic'> & {
11949
12300
  type: PropagatedEventType<SourceTopic, E['type']>;
11950
12301
  topic: TargetTopic;
11951
12302
  } : never;
11952
12303
 
11953
- /**
11954
- * Modifies an event key to reflect propagation by prefixing with the topic.
11955
- */
11956
- declare type PropagatedEventType<Topic extends string, Type extends string> = `${Topic}-${Type}`;
11957
-
11958
12304
  /**
11959
12305
  * A view event that has propagated to a parent {@link OpenFin.WindowEvents Window}, {@link OpenFin.ApplicationEvents Application},
11960
- * or {@link Openfin.SystemEvents System}), adding a `viewIdentity` property (since the `Identity` property of the propagated event refers to the `Window`) and prefixing the
12306
+ * or {@link OpenFin.SystemEvents System}), adding a `viewIdentity` property (since the `Identity` property of the propagated event refers to the `Window`) and prefixing the
11961
12307
  * event type key with `'view-'`.
11962
12308
  */
11963
- declare type PropagatedViewEvent<TargetTopic extends string> = PropagatedEvent<'view', TargetTopic, ViewEvent> & {
12309
+ declare type PropagatedEvent_2<TargetTopic extends string> = BaseEvents.PropagatedEvent<'view', TargetTopic, ViewEvent> & {
11964
12310
  viewIdentity: OpenFin_2.Identity;
11965
12311
  };
11966
12312
 
11967
- /**
11968
- * Union of possible `type` values for a {@link OpenFin.ViewEvents.PropagatedViewEvent}.
11969
- */
11970
- declare type PropagatedViewEventType = PropagatedViewEvent<string>['type'];
11971
-
11972
12313
  /**
11973
12314
  * A Window event that has propagated to the parent {@link OpenFin.ApplicationEvents Application} and {@link OpenFin.SystemEvents System},
11974
- * prefixing the type string with `'window-'`. Only {@link NativeWindowEvent native window events} will propagate
12315
+ * prefixing the type string with `'window-'`. Only {@link WindowSourcedEvent window-sourced events} will propagate
11975
12316
  * this way; those that have {@link OpenFin.ViewEvents.PropagatedViewEvent propagated} from {@link OpenFin.ViewEvents}
11976
12317
  * will *not* re-propagate.
11977
12318
  *
11978
12319
  * "Requested" events (e.g. {@link AuthRequestedEvent}) do not propagate to `System.`
11979
12320
  */
11980
- declare type PropagatedWindowEvent<TargetTopic extends string> = PropagatedEvent<'window', TargetTopic, Exclude<WindowSourcedEvent, WindowCloseRequestedEvent>>;
12321
+ declare type PropagatedEvent_3<TargetTopic extends string> = BaseEvents.PropagatedEvent<'window', TargetTopic, WindowSourcedEvent>;
12322
+
12323
+ /**
12324
+ * An Application event that has propagated to {@link OpenFin.SystemEvents System}, type string prefixed with `application-`.
12325
+ * {@link OpenFin.ApplicationEvents.ApplicationWindowEvent Application events that are tied to Windows but do not propagate from them}
12326
+ * are propagated to `System` without any type string prefixing.
12327
+ *
12328
+ * "Requested" events (e.g. {@link RunRequestedEvent}) do not propagate.
12329
+ */
12330
+ declare type PropagatedEvent_4<TargetTopic extends string> = BaseEvents.PropagatedEvent<'application', TargetTopic, ApplicationSourcedEvent> | ApplicationWindowEvent;
12331
+
12332
+ /**
12333
+ * Modifies an event type key to reflect propagation by prefixing with the topic.
12334
+ */
12335
+ declare type PropagatedEventType<Topic extends string, Type extends string> = `${Topic}-${NotCloseRequested<Type>}`;
12336
+
12337
+ /**
12338
+ * Union of possible `type` values for a {@link PropagatedEvent} sourced from a {@link OpenFin.View}.
12339
+ */
12340
+ declare type PropagatedEventType_2 = PropagatedEvent_2<string>['type'];
12341
+
12342
+ /**
12343
+ * Union of possible 'type' values for an {@link PropagatedEvent} sourced from an {@link Application}.
12344
+ */
12345
+ declare type PropagatedEventType_3 = PropagatedEvent_4<string>['type'];
12346
+
12347
+ /**
12348
+ * @deprecated Renamed to {@link PropagatedEvent}.
12349
+ */
12350
+ declare type PropagatedViewEvent<TargetTopic extends string> = PropagatedEvent_2<TargetTopic>;
12351
+
12352
+ /**
12353
+ * @deprecated Renamed to {@link PropagatedEventType}.
12354
+ */
12355
+ declare type PropagatedViewEventType = PropagatedEventType_2;
12356
+
12357
+ /**
12358
+ * @deprecated Renamed to {@link PropagatedEvent}.
12359
+ */
12360
+ declare type PropagatedWindowEvent<TargetTopic extends string> = PropagatedEvent_3<TargetTopic>;
11981
12361
 
11982
12362
  /**
11983
- * Union of possible `type` values for a {@link OpenFin.WindowEvents.PropagatedWindowEvent}.
12363
+ * Union of possible `type` values for a {@link PropagatedEvent} sourced from a {@link OpenFin.Window}.
11984
12364
  */
11985
- declare type PropagatedWindowEventType = PropagatedWindowEvent<string>['type'];
12365
+ declare type PropagatedWindowEventType = PropagatedEvent_3<string>['type'];
11986
12366
 
11987
12367
  declare interface ProtocolMap extends ProtocolMapBase {
11988
12368
  'request-external-authorization': {
@@ -12189,6 +12569,13 @@ declare interface ProtocolMap extends ProtocolMapBase {
12189
12569
  anchor: OpenFin_2.AnchorType;
12190
12570
  }>>;
12191
12571
  'set-window-bounds': IdentityCall<WithPositioningOptions<Partial<OpenFin_2.Bounds>>>;
12572
+ 'register-custom-protocol': ApiCall<OpenFin_2.CustomProtocolOptions, void>;
12573
+ 'unregister-custom-protocol': ApiCall<{
12574
+ protocolName: string;
12575
+ }, void>;
12576
+ 'get-custom-protocol-state': ApiCall<{
12577
+ protocolName: string;
12578
+ }, OpenFin_2.CustomProtocolState>;
12192
12579
  }
12193
12580
 
12194
12581
  declare interface ProtocolMapBase {
@@ -12320,6 +12707,10 @@ declare interface ReactComponentConfig extends ItemConfig {
12320
12707
  */
12321
12708
  declare type ReadImageClipboardRequest = BaseClipboardRequest & ImageFormatOptions;
12322
12709
 
12710
+ declare interface ReceiverConfig extends Omit<RemoteConfig, 'address'> {
12711
+ receiver: MessageReceiver;
12712
+ }
12713
+
12323
12714
  /**
12324
12715
  * A rectangular area on the screen.
12325
12716
  *
@@ -12389,7 +12780,7 @@ declare type RegistryInfo_2 = {
12389
12780
  * Generated when a window has been reloaded.
12390
12781
  * @interface
12391
12782
  */
12392
- declare type ReloadedEvent = BaseWindowEvent & {
12783
+ declare type ReloadedEvent = BaseEvent_5 & {
12393
12784
  type: 'reloaded';
12394
12785
  url: string;
12395
12786
  };
@@ -12401,19 +12792,19 @@ declare interface RemoteConfig extends ExistingConnectConfig {
12401
12792
  /**
12402
12793
  * @interface
12403
12794
  */
12404
- declare type ReplaceLayoutOptions = ReplaceLayoutOpts;
12795
+ declare type ReplaceLayoutOptions = {
12796
+ /**
12797
+ * Layout config to be applied.
12798
+ */
12799
+ layout: LayoutOptions;
12800
+ };
12405
12801
 
12406
12802
  /**
12407
12803
  * @interface
12408
12804
  *
12409
12805
  * @deprecated use ReplaceLayoutOptions instead
12410
12806
  */
12411
- declare type ReplaceLayoutOpts = {
12412
- /**
12413
- * Layout config to be applied.
12414
- */
12415
- layout: LayoutOptions;
12416
- };
12807
+ declare type ReplaceLayoutOpts = ReplaceLayoutOptions;
12417
12808
 
12418
12809
  /**
12419
12810
  * @interface
@@ -12424,9 +12815,9 @@ declare type ReplaceLayoutPayload = {
12424
12815
  */
12425
12816
  opts: ReplaceLayoutOptions;
12426
12817
  /**
12427
- * Identity of the window whose layout will be replace.
12818
+ * Identity of the window whose layout will be replaced.
12428
12819
  */
12429
- target: Identity_5;
12820
+ target: LayoutIdentity;
12430
12821
  };
12431
12822
 
12432
12823
  /**
@@ -12445,7 +12836,7 @@ declare type ReplaceViewPayload = {
12445
12836
  viewToReplace: Identity_5;
12446
12837
  newView: Partial<ViewOptions>;
12447
12838
  };
12448
- target: Identity_5;
12839
+ target: LayoutIdentity;
12449
12840
  };
12450
12841
 
12451
12842
  /**
@@ -12525,11 +12916,19 @@ declare type ResourceResponseReceivedEvent = NamedEvent & {
12525
12916
  * Generated when an application is responding.
12526
12917
  * @interface
12527
12918
  */
12528
- declare type RespondingEvent = IdentityEvent & {
12919
+ declare type RespondingEvent = BaseEvents.IdentityEvent & {
12529
12920
  topic: 'application';
12530
12921
  type: 'responding';
12531
12922
  };
12532
12923
 
12924
+ /**
12925
+ * Generated when a window is displayed after having been minimized or when a window leaves the maximize state without minimizing.
12926
+ * @interface
12927
+ */
12928
+ declare type RestoredEvent = BaseEvent_5 & {
12929
+ type: 'restored';
12930
+ };
12931
+
12533
12932
  declare type ResultBehavior = 'close' | 'hide' | 'none';
12534
12933
 
12535
12934
  /**
@@ -12592,7 +12991,7 @@ declare type RunRequestedEvent = OpenFin_2.ApplicationEvents.RunRequestedEvent;
12592
12991
  * Generated when Application.run() is called for an already running application.
12593
12992
  * @interface
12594
12993
  */
12595
- declare type RunRequestedEvent_2 = IdentityEvent & {
12994
+ declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
12596
12995
  topic: 'application';
12597
12996
  type: 'run-requested';
12598
12997
  userAppConfigArgs: Record<string, any>;
@@ -12774,7 +13173,7 @@ declare type ServiceIdentifier = {
12774
13173
  * Generated on changes to a user’s local computer session.
12775
13174
  * @interface
12776
13175
  */
12777
- declare type SessionChangedEvent = BaseSystemEvent & {
13176
+ declare type SessionChangedEvent = BaseEvent_8 & {
12778
13177
  type: 'session-changed';
12779
13178
  reason: 'lock' | 'unlock' | 'remote-connect' | 'remote-disconnect' | 'unknown';
12780
13179
  };
@@ -12957,11 +13356,62 @@ declare type ShortcutOverride = Hotkey & {
12957
13356
  command: string;
12958
13357
  };
12959
13358
 
13359
+ /**
13360
+ * Generated when the Download Shelf 'Show All' button is clicked.
13361
+ *
13362
+ * @remarks By default, OpenFin does not handle the clicking of the `Show All` button on the download
13363
+ * shelf. Instead, it fires this event, which leaves rendering a download manager to the user. For a simple
13364
+ * implementation, the `chrome://downloads` page can be used (see the example below):
13365
+ *
13366
+ * @example
13367
+ *
13368
+ * ```typescript
13369
+ * const platform = await fin.Platform.getCurrentSync();
13370
+ * // Listen to the propagated event at the Platform level, so that we only need one listener for a click from any window
13371
+ * platform.on('window-show-all-downloads', () => {
13372
+ * // Render the `chrome://downloads` window when a user clicks on the download shelf `Show All` button
13373
+ * platform.createWindow({
13374
+ * name: 'show-download-window',
13375
+ * layout: {
13376
+ * content: [
13377
+ * {
13378
+ * type: 'stack',
13379
+ * content: [
13380
+ * {
13381
+ * type: 'component',
13382
+ * componentName: 'view',
13383
+ * componentState: {
13384
+ * name: 'show-download-view',
13385
+ * url: 'chrome://downloads'
13386
+ * }
13387
+ * }
13388
+ * ]
13389
+ * }
13390
+ * ]
13391
+ * }
13392
+ * });
13393
+ * })
13394
+ * ```
13395
+ *
13396
+ * @interface
13397
+ */
13398
+ declare type ShowAllDownloadsEvent = BaseEvent_5 & {
13399
+ type: 'show-all-downloads';
13400
+ };
13401
+
12960
13402
  /**
12961
13403
  * Generated when a View is shown. This event will fire during creation of a View.
12962
13404
  * @interface
12963
13405
  */
12964
- declare type ShownEvent = BaseViewEvent & {
13406
+ declare type ShownEvent = BaseEvent_4 & {
13407
+ type: 'shown';
13408
+ };
13409
+
13410
+ /**
13411
+ * Generated when a hidden window has been shown.
13412
+ * @interface
13413
+ */
13414
+ declare type ShownEvent_2 = BaseEvent_5 & {
12965
13415
  type: 'shown';
12966
13416
  };
12967
13417
 
@@ -12990,6 +13440,15 @@ declare type ShowPopupMenuOptions<Data extends unknown = unknown> = {
12990
13440
  y?: number;
12991
13441
  };
12992
13442
 
13443
+ /**
13444
+ * Generated when a window has been prevented from showing.
13445
+ * @remarks A window will be prevented from showing by default, either through the API or by a user when ‘show-requested’ has been subscribed to on the window or 'window-show-requested' on the parent application and the Window.show(force) flag is false.
13446
+ * @interface
13447
+ */
13448
+ declare type ShowRequestedEvent = BaseEvent_5 & {
13449
+ type: 'show-requested';
13450
+ };
13451
+
12993
13452
  /**
12994
13453
  * _Platform Windows Only_. Enables views to be shown when a Platform Window is being resized by the user.
12995
13454
  *
@@ -13036,6 +13495,21 @@ declare type Snapshot = {
13036
13495
  };
13037
13496
  };
13038
13497
 
13498
+ /**
13499
+ * Generated when a platform.ApplySnapshot call is resolved.
13500
+ * @remarks The call is resolved when the following conditions are met for all windows in the snapshot:
13501
+ * 1. The window has been created
13502
+ * 2. The window has a responsive API
13503
+ * 3. If a window has a layout property, the 'layout-ready' event has fired
13504
+ *
13505
+ * _Note_ - In the case of using a custom provider, if a window has a layout property but does not call _Layout.init_ this event may not fire.
13506
+ * @interface
13507
+ */
13508
+ declare type SnapshotAppliedEvent = BaseEvent & {
13509
+ topic: 'application';
13510
+ type: 'platform-snapshot-applied';
13511
+ };
13512
+
13039
13513
  /**
13040
13514
  * @interface
13041
13515
  */
@@ -13146,42 +13620,11 @@ declare class SnapshotSourceModule extends Base {
13146
13620
  wrap(identity: OpenFin_2.ApplicationIdentity): Promise<SnapshotSource>;
13147
13621
  }
13148
13622
 
13149
- /**
13150
- * Utility class for managing Golden Layout splitter drag interactions.
13151
- * @ignore
13152
- */
13153
- declare class SplitterController {
13154
- private readonly viewOverlay;
13155
- constructor(viewOverlay: ViewOverlay);
13156
- private teardown?;
13157
- private tryTeardown;
13158
- /**
13159
- * Disables the pointer events on the splitters, preventing them from being dragged.
13160
- */
13161
- preventSplitterResize: () => void;
13162
- /**
13163
- * Ends a splitter drag move, if one is in progress.
13164
- */
13165
- endMove: () => Promise<void>;
13166
- /**
13167
- * Initialises a splitter drag move, rendering a view on top of the splitter
13168
- * to allow it to render on top of the views within a layout (as they will always
13169
- * have a higher z-index to the platform window itself).
13170
- * @param splitterItem The Golden Layout splitter item that is currently being dragged.
13171
- */
13172
- startMove: (splitterItem: SplitterItem) => Promise<void>;
13173
- }
13174
-
13175
- declare type SplitterItem = GoldenLayout.ContentItem & {
13176
- viewEventsAdded: boolean;
13177
- isVertical: boolean;
13178
- };
13179
-
13180
13623
  /**
13181
13624
  * Generated when an application has started.
13182
13625
  * @interface
13183
13626
  */
13184
- declare type StartedEvent = IdentityEvent & {
13627
+ declare type StartedEvent = BaseEvents.IdentityEvent & {
13185
13628
  topic: 'application';
13186
13629
  type: 'started';
13187
13630
  };
@@ -14022,6 +14465,70 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
14022
14465
  * ```
14023
14466
  */
14024
14467
  openUrlWithBrowser(url: string): Promise<void>;
14468
+ /**
14469
+ * Creates a new registry entry under the HKCU root Windows registry key if the given custom protocol name doesn't exist or
14470
+ * overwrites the existing registry entry if the given custom protocol name already exists.
14471
+ *
14472
+ * Note: This method is restricted by default and must be enabled via
14473
+ * {@link https://developers.openfin.co/docs/api-security API security settings}. It requires RVM 12 or higher version.
14474
+ *
14475
+ *
14476
+ * @remarks These protocols are reserved and cannot be registered:
14477
+ * - fin
14478
+ * - fins
14479
+ * - openfin
14480
+ * - URI Schemes registered with {@link https://en.wikipedia.org/wiki/List_of_URI_schemes#Official_IANA-registered_schemes IANA}
14481
+ *
14482
+ * @throws if a given custom protocol failed to be registered.
14483
+ * @throws if a manifest URL contains the '%1' string.
14484
+ * @throws if a manifest URL contains a query string parameter which name equals to the Protocol Launch Request Parameter Name.
14485
+ * @throws if the full length of the command string that is to be written to the registry exceeds 2048 bytes.
14486
+ *
14487
+ * @example
14488
+ * ```js
14489
+ * fin.System.registerCustomProtocol({protocolName:'protocol1'}).then(console.log).catch(console.error);
14490
+ * ```
14491
+ */
14492
+ registerCustomProtocol(options: OpenFin_2.CustomProtocolOptions): Promise<void>;
14493
+ /**
14494
+ * Removes the registry entry for a given custom protocol.
14495
+ *
14496
+ * Note: This method is restricted by default and must be enabled via
14497
+ * {@link https://developers.openfin.co/docs/api-security API security settings}. It requires RVM 12 or higher version.
14498
+ *
14499
+ *
14500
+ * @remarks These protocols are reserved and cannot be unregistered:
14501
+ * - fin
14502
+ * - fins
14503
+ * - openfin
14504
+ * - URI Schemes registered with {@link https://en.wikipedia.org/wiki/List_of_URI_schemes#Official_IANA-registered_schemes IANA}
14505
+ *
14506
+ * @throws if a protocol entry failed to be removed in registry.
14507
+ *
14508
+ * @example
14509
+ * ```js
14510
+ * await fin.System.unregisterCustomProtocol('protocol1');
14511
+ * ```
14512
+ */
14513
+ unregisterCustomProtocol(protocolName: string): Promise<void>;
14514
+ /**
14515
+ * Retrieves the registration state for a given custom protocol.
14516
+ *
14517
+ * Note: This method is restricted by default and must be enabled via
14518
+ * {@link https://developers.openfin.co/docs/api-security API security settings}. It requires RVM 12 or higher version.
14519
+ *
14520
+ * @remarks These protocols are reserved and cannot get states for them:
14521
+ * - fin
14522
+ * - fins
14523
+ * - openfin
14524
+ * - URI Schemes registered with {@link https://en.wikipedia.org/wiki/List_of_URI_schemes#Official_IANA-registered_schemes IANA}
14525
+ *
14526
+ *
14527
+ * @example
14528
+ * ```js
14529
+ * const protocolState = await fin.System.getCustomProtocolState('protocol1');
14530
+ */
14531
+ getCustomProtocolState(protocolName: string): Promise<OpenFin_2.CustomProtocolState>;
14025
14532
  /**
14026
14533
  * Removes the process entry for the passed UUID obtained from a prior call
14027
14534
  * of fin.System.launchExternalProcess().
@@ -14650,12 +15157,9 @@ declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast'
14650
15157
  };
14651
15158
 
14652
15159
  /**
14653
- * [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
14654
- * discriminated by {@link SystemEvent.type | their type}. Event payloads unique to `System` can be found
14655
- * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
14656
- * from which they propagate).
15160
+ * @deprecated Renamed to {@link Event}.
14657
15161
  */
14658
- declare type SystemEvent = ExcludeRequested<PropagatedWindowEvent<'system'>> | PropagatedViewEvent<'system'> | PropagatedApplicationEvent<'system'> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleEvent | MonitorEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
15162
+ declare type SystemEvent = Event_11;
14659
15163
 
14660
15164
  declare type SystemEvent_2 = Events.SystemEvents.SystemEvent;
14661
15165
 
@@ -14663,7 +15167,7 @@ declare namespace SystemEvents {
14663
15167
  export {
14664
15168
  NotRequested,
14665
15169
  ExcludeRequested,
14666
- BaseSystemEvent,
15170
+ BaseEvent_8 as BaseEvent,
14667
15171
  IdleEvent,
14668
15172
  MonitorEvent,
14669
15173
  SessionChangedEvent,
@@ -14678,17 +15182,19 @@ declare namespace SystemEvents {
14678
15182
  ApplicationCreatedEvent,
14679
15183
  DesktopIconClickedEvent,
14680
15184
  SystemShutdownEvent,
15185
+ Event_11 as Event,
14681
15186
  SystemEvent,
15187
+ EventType_8 as EventType,
14682
15188
  SystemEventType,
14683
- Payload_7 as Payload,
14684
- ByType_6 as ByType
15189
+ Payload_9 as Payload,
15190
+ ByType_8 as ByType
14685
15191
  }
14686
15192
  }
14687
15193
 
14688
15194
  /**
14689
- * Union of possible `type` values for a {@link SystemEvent}.
15195
+ * @deprecated Renamed to {@link EventType}.
14690
15196
  */
14691
- declare type SystemEventType = SystemEvent['type'];
15197
+ declare type SystemEventType = EventType_8;
14692
15198
 
14693
15199
  /**
14694
15200
  * @interface
@@ -14718,6 +15224,18 @@ declare type SystemPermissions = {
14718
15224
  enabled: boolean;
14719
15225
  protocols: string[];
14720
15226
  };
15227
+ registerCustomProtocol: boolean | {
15228
+ enabled: boolean;
15229
+ protocols: string[];
15230
+ };
15231
+ unregisterCustomProtocol: boolean | {
15232
+ enabled: boolean;
15233
+ protocols: string[];
15234
+ };
15235
+ getCustomProtocolState: boolean | {
15236
+ enabled: boolean;
15237
+ protocols: string[];
15238
+ };
14721
15239
  };
14722
15240
 
14723
15241
  /**
@@ -14736,7 +15254,7 @@ declare type SystemShutdownHandler = (shutdownEvent: {
14736
15254
  }) => void;
14737
15255
 
14738
15256
  declare interface Tab {
14739
- _dragListener: EventEmitter_2;
15257
+ _dragListener: TabDragListener;
14740
15258
 
14741
15259
  /**
14742
15260
  * True if this tab is the selected tab
@@ -14781,60 +15299,11 @@ declare interface Tab {
14781
15299
  setActive(isActive: boolean): void;
14782
15300
  }
14783
15301
 
14784
- /**
14785
- * Set of apis used to facilitate tab drag interactions without needing to hide views.
14786
- * @ignore
14787
- */
14788
- declare class TabDragController {
14789
- private readonly viewOverlay;
14790
- constructor(viewOverlay: ViewOverlay);
14791
- private dropZonePreview?;
14792
- /**
14793
- *
14794
- * When a tab is dragged out of a stack, it will need to be hidden from the stack.
14795
- *
14796
- * Additionally, if there is a new view to show in the stack, it will be shown at the position specified by
14797
- * containerBounds
14798
- *
14799
- * As drag interactions can under extreme circumstances complete before this chain of promises has completed,
14800
- * we need to pass in a isDragging() function which returns whether the drag is in progress.
14801
- * This allows us to cancel any layout affecting operations.
14802
- *
14803
- * @param draggingView The view which is currently being dragged
14804
- * @param isLastViewInWindow Whether the draggin view is the last view in a window or not. If false, the dragging view will not hide.
14805
- * @param isDragging A function which returns true if the drag is still in progress. As we chain some async calls here, we want to avoid
14806
- * modifying any views if the drag has completed (as the post drag procedure will have taken care of it.)
14807
- * @param containerBounds The bounds of the container of the view to be shown in the stack
14808
- * @param nextView The view which has become active after dragging the draggingView out.
14809
- */
14810
- handleTabStackActiveView: (draggingView: View_3, isLastViewInWindow: boolean, isDragging: () => boolean, containerBounds?: OpenFin_2.Bounds, nextView?: View_3) => Promise<void>;
14811
- /**
14812
- * Extracts the border and backgroundColor css values from the drop zone preview,
14813
- * and sets the viewOverlay to match them.
14814
- */
14815
- inheritStyles: () => Promise<void>;
14816
- /**
14817
- * Called when a tab drag interaction is started from the current window (not when it enters the window).
14818
- *
14819
- * Sets all views in the platform to ignore mouse events so that they can pass through to the golden-layout
14820
- * document whilst remaining visible.
14821
- */
14822
- startDrag: () => Promise<void>;
14823
- /**
14824
- * Called when a tab drag interaction which was started from the current window ends.
14825
- *
14826
- * Disables the click through setting on every view in the platform.
14827
- */
14828
- endDrag: () => Promise<void>;
14829
- private disposeObserve?;
14830
- disposeOverlayObserver: () => void;
15302
+ declare interface TabDragListener extends EventEmitter_2 {
14831
15303
  /**
14832
- * Observes a golden-layout drop zone preview in order to render a BrowserView
14833
- * overlay whenever a tab is dragged over a droppable region.
14834
- * @param dropZonePreview The drop zone preview element created by Golden Layout in order to highlight
14835
- * droppable regions of the UI.
15304
+ * A reference to the content item this tab relates to
14836
15305
  */
14837
- observeOverlay: (dropZonePreview: HTMLElement) => Promise<void>;
15306
+ contentItem: ContentItem;
14838
15307
  }
14839
15308
 
14840
15309
  /**
@@ -14978,7 +15447,7 @@ declare type TargetApp = string | AppMetadata;
14978
15447
  * In that case, previousTarget identity will be the same as target identity.
14979
15448
  * @interface
14980
15449
  */
14981
- declare type TargetChangedEvent = BaseViewEvent & {
15450
+ declare type TargetChangedEvent = BaseEvent_4 & {
14982
15451
  type: 'target-changed';
14983
15452
  previousTarget: OpenFin_2.Identity;
14984
15453
  };
@@ -15115,7 +15584,7 @@ declare class Transport<MeType extends EntityType = EntityType> extends EventEmi
15115
15584
  connectSync: () => void;
15116
15585
  getPort: () => string;
15117
15586
  shutdown(): Promise<void>;
15118
- connect(config: InternalConnectConfig | RemoteConfig): Promise<string | void>;
15587
+ connect(config: InternalConnectConfig | RemoteConfig | ReceiverConfig): Promise<string | void>;
15119
15588
  private connectRemote;
15120
15589
  connectByPort(config: ExistingConnectConfig): Promise<void>;
15121
15590
  private authorize;
@@ -15132,7 +15601,7 @@ declare class Transport<MeType extends EntityType = EntityType> extends EventEmi
15132
15601
  * Generated when the tray icon is clicked.
15133
15602
  * @interface
15134
15603
  */
15135
- declare type TrayIconClickedEvent = IdentityEvent & {
15604
+ declare type TrayIconClickedEvent = BaseEvents.IdentityEvent & {
15136
15605
  topic: 'application';
15137
15606
  type: 'tray-icon-clicked';
15138
15607
  button: 0 | 1 | 2;
@@ -15222,7 +15691,7 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15222
15691
  * A general user bounds change event without event type.
15223
15692
  * @interface
15224
15693
  */
15225
- declare type UserBoundsChangeEvent = BaseWindowEvent & {
15694
+ declare type UserBoundsChangeEvent = BaseEvent_5 & {
15226
15695
  height: number;
15227
15696
  left: number;
15228
15697
  top: number;
@@ -15234,7 +15703,7 @@ declare type UserBoundsChangeEvent = BaseWindowEvent & {
15234
15703
  * Generated when a window's user movement becomes disabled.
15235
15704
  * @interface
15236
15705
  */
15237
- declare type UserMovementDisabledEvent = BaseWindowEvent & {
15706
+ declare type UserMovementDisabledEvent = BaseEvent_5 & {
15238
15707
  type: 'user-movement-disabled';
15239
15708
  };
15240
15709
 
@@ -15242,7 +15711,7 @@ declare type UserMovementDisabledEvent = BaseWindowEvent & {
15242
15711
  * Generated when a window's user movement becomes enabled.
15243
15712
  * @interface
15244
15713
  */
15245
- declare type UserMovementEnabledEvent = BaseWindowEvent & {
15714
+ declare type UserMovementEnabledEvent = BaseEvent_5 & {
15246
15715
  type: 'user-movement-enabled';
15247
15716
  };
15248
15717
 
@@ -15888,23 +16357,31 @@ declare class View_2 extends WebContents<OpenFin_2.ViewEvent> {
15888
16357
  /* Excluded from this release type: bindToElement */
15889
16358
  }
15890
16359
 
15891
- declare type View_3 = OpenFin_2.View;
15892
-
15893
- declare type View_4 = OpenFin_2.View;
15894
-
15895
16360
  /**
15896
16361
  * Generated when a View is attached to a window.
15897
16362
  * @interface
15898
16363
  */
15899
- declare type ViewAttachedEvent = BaseWindowEvent & {
16364
+ declare type ViewAttachedEvent = BaseEvent_5 & {
15900
16365
  type: 'view-attached';
15901
16366
  target: OpenFin_2.Identity;
15902
16367
  viewIdentity: OpenFin_2.Identity;
15903
16368
  };
15904
16369
 
15905
- declare interface ViewComponent extends GoldenLayout.ContentItem {
15906
- componentState: OpenFin_2.ViewState;
15907
- }
16370
+ /**
16371
+ * A rule prescribing content creation in a {@link OpenFin.View}.
16372
+ *
16373
+ * @interface
16374
+ */
16375
+ declare type ViewContentCreationRule = BaseContentCreationRule & {
16376
+ /**
16377
+ * Behavior to use when opening matched content.
16378
+ */
16379
+ behavior: 'view';
16380
+ /**
16381
+ * Options for newly-created view.
16382
+ */
16383
+ options?: Partial<ViewOptions>;
16384
+ };
15908
16385
 
15909
16386
  /**
15910
16387
  * The options object required by {@link View.ViewModule.create View.create}.
@@ -15926,7 +16403,7 @@ declare type ViewCreationOrReference = OpenFin_2.Identity | OpenFin_2.PlatformVi
15926
16403
  * @remarks Will fire when a view is destroyed in which case `target` will be null.
15927
16404
  * @interface
15928
16405
  */
15929
- declare type ViewDetachedEvent = BaseWindowEvent & {
16406
+ declare type ViewDetachedEvent = BaseEvent_5 & {
15930
16407
  type: 'view-detached';
15931
16408
  target: OpenFin_2.Identity;
15932
16409
  previousTarget: OpenFin_2.Identity;
@@ -15934,18 +16411,15 @@ declare type ViewDetachedEvent = BaseWindowEvent & {
15934
16411
  };
15935
16412
 
15936
16413
  /**
15937
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link View}. Events are
15938
- * discriminated by {@link ViewEvent.type | their type}. Event payloads unique to `View` can be found
15939
- * under the {@link OpenFin.ViewEvents} namespace (except for {@link OpenFin.WebContentsEvents | those shared with other WebContents}).
16414
+ * @deprecated Renamed to {@link Event}.
15940
16415
  */
15941
- declare type ViewEvent = (WebContentsEvent<'view'> & {
15942
- target: OpenFin_2.Identity;
15943
- }) | CreatedEvent | DestroyedEvent | HiddenEvent | HotkeyEvent | ShownEvent | TargetChangedEvent | HostContextChangedEvent;
16416
+ declare type ViewEvent = Event_4;
15944
16417
 
15945
16418
  declare type ViewEvent_2 = Events.ViewEvents.ViewEvent;
15946
16419
 
15947
16420
  declare namespace ViewEvents {
15948
16421
  export {
16422
+ BaseEvent_4 as BaseEvent,
15949
16423
  BaseViewEvent,
15950
16424
  TargetChangedEvent,
15951
16425
  NonPropagatedViewEvent,
@@ -15955,20 +16429,24 @@ declare namespace ViewEvents {
15955
16429
  HotkeyEvent,
15956
16430
  ShownEvent,
15957
16431
  HostContextChangedEvent,
16432
+ Event_4 as Event,
15958
16433
  ViewEvent,
15959
16434
  WillPropagateViewEvent,
16435
+ EventType,
15960
16436
  ViewEventType,
16437
+ PropagatedEvent_2 as PropagatedEvent,
15961
16438
  PropagatedViewEvent,
16439
+ PropagatedEventType_2 as PropagatedEventType,
15962
16440
  PropagatedViewEventType,
15963
- Payload_8 as Payload,
15964
- ByType_7 as ByType
16441
+ Payload_2 as Payload,
16442
+ ByType
15965
16443
  }
15966
16444
  }
15967
16445
 
15968
16446
  /**
15969
- * Union of possible `type` values for a {@link OpenFin.ViewEvents.ViewEvent}.
16447
+ * @deprecated Renamed to {@link EventType}.
15970
16448
  */
15971
- declare type ViewEventType = ViewEvent['type'];
16449
+ declare type ViewEventType = EventType;
15972
16450
 
15973
16451
  /**
15974
16452
  * @interface
@@ -16071,40 +16549,6 @@ declare class ViewModule extends Base {
16071
16549
  */
16072
16550
  declare type ViewOptions = ConstViewOptions & MutableViewOptions;
16073
16551
 
16074
- /**
16075
- * Api client allowing an empty electron BrowserView to be rendered
16076
- * in the current window with the specified bounds.
16077
- *
16078
- * Please note, only one view based overlay can be rendered at a time per runtime.
16079
- * @ignore
16080
- */
16081
- declare class ViewOverlay {
16082
- private wire;
16083
- constructor(wire: Transport);
16084
- /**
16085
- * Sets the style of the root <html> element of the view overlay webcontent.
16086
- * @param style A partial collection of Css style declarations to set.
16087
- */
16088
- setStyle: (style: Partial<CSSStyleDeclaration>) => Promise<void>;
16089
- /**
16090
- * Renders the overlay at the specified position relative to the calling window.
16091
- * @param options Bounds and background color to display in the overlay.
16092
- */
16093
- renderOverlay: (bounds: OpenFin_2.Bounds) => Promise<void>;
16094
- /**
16095
- * Removes the overlay from the current window.
16096
- */
16097
- detachOverlay: () => Promise<void>;
16098
- /**
16099
- * Allows setting all OpenFin views to ignore or consume mouse events.
16100
- *
16101
- * This can help with the rendering of view overlays that depend on OpenFin views not consuming mouse events.
16102
- *
16103
- * @param enabled If true, all mouse events are ignored by openfin views. If false, all OpenFin views will consume mouse events.
16104
- */
16105
- setIgnoreViewMouseEvents(enabled: boolean): Promise<void>;
16106
- }
16107
-
16108
16552
  /**
16109
16553
  * Represents the payload shape for Views that are trying to prevent an unload.
16110
16554
  * @interface
@@ -17141,12 +17585,9 @@ declare class WebContents<T extends BaseEvent> extends EmitterBase<T> {
17141
17585
  }
17142
17586
 
17143
17587
  /**
17144
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing events shared by all WebContents elements
17145
- * (i.e. {@link OpenFin.Window} or {@link OpenFin.View}).
17588
+ * @deprecated Renamed to {@link Event}.
17146
17589
  */
17147
- declare type WebContentsEvent<Topic extends string> = {
17148
- topic: Topic;
17149
- } & (BlurredEvent | CertificateSelectionShownEvent | CrashedEvent_2 | DidChangeThemeColorEvent | FocusedEvent | NavigationRejectedEvent | UrlChangedEvent | DidFailLoadEvent | DidFinishLoadEvent | FaviconUpdatedEvent | PageTitleUpdatedEvent | ResourceLoadFailedEvent | ResourceResponseReceivedEvent | ChildContentBlockedEvent | ChildContentOpenedInBrowserEvent | ChildViewCreatedEvent | ChildWindowCreatedEvent | FileDownloadStartedEvent | FileDownloadProgressEvent | FileDownloadCompletedEvent | FoundInPageEvent | CertificateErrorEvent);
17590
+ declare type WebContentsEvent<Topic extends string> = Event_5<Topic>;
17150
17591
 
17151
17592
  declare type WebContentsEvent_2<Topic extends string> = Events.WebContentsEvents.WebContentsEvent<Topic>;
17152
17593
 
@@ -17158,6 +17599,7 @@ declare namespace WebContentsEvents {
17158
17599
  CrashedEvent_2 as CrashedEvent,
17159
17600
  CertificateErrorEvent,
17160
17601
  CertificateSelectionShownEvent,
17602
+ PageFaviconUpdatedEvent,
17161
17603
  FaviconUpdatedEvent,
17162
17604
  NavigationRejectedEvent,
17163
17605
  UrlChangedEvent,
@@ -17176,6 +17618,7 @@ declare namespace WebContentsEvents {
17176
17618
  FileDownloadStartedEvent,
17177
17619
  FileDownloadProgressEvent,
17178
17620
  FileDownloadCompletedEvent,
17621
+ Event_5 as Event,
17179
17622
  WebContentsEvent,
17180
17623
  WillPropagateWebContentsEvent,
17181
17624
  NonPropagatedWebContentsEvent
@@ -17208,6 +17651,8 @@ declare type WebRequestHeader = {
17208
17651
  [key: string]: string;
17209
17652
  };
17210
17653
 
17654
+ declare type WebSocketReadyState = WebSocket['readyState'];
17655
+
17211
17656
  /**
17212
17657
  * Generated when a window is being moved by the user.
17213
17658
  * @remarks For use with monitor scaling that is not 100%. Bounds are given in DIP (adjusted for monitor scale factor).
@@ -17221,7 +17666,7 @@ declare type WillMoveEvent = WillMoveOrResizeEvent & {
17221
17666
  * A general will-move or will-resize event without event type.
17222
17667
  * @interface
17223
17668
  */
17224
- declare type WillMoveOrResizeEvent = BaseWindowEvent & {
17669
+ declare type WillMoveOrResizeEvent = BaseEvent_5 & {
17225
17670
  height: number;
17226
17671
  left: number;
17227
17672
  top: number;
@@ -17243,7 +17688,7 @@ declare type WillPropagateViewEvent = ViewEvent;
17243
17688
  *
17244
17689
  * A WebContents event that does propagate to (republish on) parent topics.
17245
17690
  */
17246
- declare type WillPropagateWebContentsEvent = WebContentsEvent<string>;
17691
+ declare type WillPropagateWebContentsEvent = Event_5<string>;
17247
17692
 
17248
17693
  /**
17249
17694
  * @DEPRECATED all Window events propagate, so this is redundant - left as a convenience shim to avoid breaking
@@ -17257,7 +17702,7 @@ declare type WillPropagateWindowEvent = WindowSourcedEvent;
17257
17702
  * Generated when window is being redirected as per contentRedirect allowlist/denylist rules.
17258
17703
  * @interface
17259
17704
  */
17260
- declare type WillRedirectEvent = BaseWindowEvent & {
17705
+ declare type WillRedirectEvent = BaseEvent_5 & {
17261
17706
  type: 'will-redirect';
17262
17707
  blocked: boolean;
17263
17708
  isInPlace: boolean;
@@ -18094,7 +18539,7 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
18094
18539
  * ```
18095
18540
  * @experimental
18096
18541
  */
18097
- getLayout(): Promise<OpenFin_2.Layout>;
18542
+ getLayout(layoutIdentity?: OpenFin_2.LayoutIdentity): Promise<OpenFin_2.Layout>;
18098
18543
  /**
18099
18544
  * Gets the current settings of the window.
18100
18545
  *
@@ -18812,28 +19257,34 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
18812
19257
  };
18813
19258
 
18814
19259
  /**
18815
- * Generated when a window has closed.
18816
- * @interface
19260
+ * @deprecated Renamed to {@link ClosedEvent}.
18817
19261
  */
18818
- declare type WindowClosedEvent = BaseWindowEvent & {
18819
- type: 'closed';
18820
- };
19262
+ declare type WindowClosedEvent = ClosedEvent_2;
18821
19263
 
18822
19264
  /**
18823
- * Generated when a window has been prevented from closing.
18824
- * @remarks A window will be prevented from closing by default, either through the API or by a user when ‘close-requested’ has been subscribed to and the Window.close(force) flag is false.
18825
- * @interface
19265
+ * @deprecated Renamed to {@link CloseRequestedEvent}.
18826
19266
  */
18827
- declare type WindowCloseRequestedEvent = BaseWindowEvent & {
18828
- type: 'close-requested';
18829
- };
19267
+ declare type WindowCloseRequestedEvent = CloseRequestedEvent;
19268
+
19269
+ /**
19270
+ * @deprecated Renamed to {@link ClosingEvent}.
19271
+ */
19272
+ declare type WindowClosingEvent = ClosingEvent;
18830
19273
 
18831
19274
  /**
18832
- * Generated when a window has initiated the closing routine.
19275
+ * A rule prescribing content creation in a {@link OpenFin.Window}.
19276
+ *
18833
19277
  * @interface
18834
19278
  */
18835
- declare type WindowClosingEvent = BaseWindowEvent & {
18836
- type: 'closing';
19279
+ declare type WindowContentCreationRule = BaseContentCreationRule & {
19280
+ /**
19281
+ * Behavior to use when opening matched content.
19282
+ */
19283
+ behavior: 'window';
19284
+ /**
19285
+ * Options for newly-created window.
19286
+ */
19287
+ options?: Partial<WindowOptions>;
18837
19288
  };
18838
19289
 
18839
19290
  /**
@@ -18902,16 +19353,15 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
18902
19353
  };
18903
19354
 
18904
19355
  /**
18905
- * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by a {@link Window}. Events are
18906
- * discriminated by {@link WindowEvent.type | their type}. Event payloads unique to `Window` can be found
18907
- * under the {@link OpenFin.WindowEvents} namespace (except for {@link OpenFin.WebContentsEvents | those shared with other WebContents}).
19356
+ * @deprecated, Renamed to {@link Event}.
18908
19357
  */
18909
- declare type WindowEvent = WindowSourcedEvent | PropagatedViewEvent<'window'>;
19358
+ declare type WindowEvent = Event_6;
18910
19359
 
18911
19360
  declare type WindowEvent_2 = Events.WindowEvents.WindowEvent;
18912
19361
 
18913
19362
  declare namespace WindowEvents {
18914
19363
  export {
19364
+ BaseEvent_5 as BaseEvent,
18915
19365
  BaseWindowEvent,
18916
19366
  ViewAttachedEvent,
18917
19367
  ViewDetachedEvent,
@@ -18921,9 +19371,11 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
18921
19371
  EndLoadEvent,
18922
19372
  WillRedirectEvent,
18923
19373
  ReloadedEvent,
19374
+ OptionsChangedEvent,
18924
19375
  WindowOptionsChangedEvent_2 as WindowOptionsChangedEvent,
18925
19376
  ExternalProcessExitedEvent,
18926
19377
  ExternalProcessStartedEvent,
19378
+ HiddenEvent_2 as HiddenEvent,
18927
19379
  WindowHiddenEvent,
18928
19380
  PreloadScriptInfoRunning,
18929
19381
  PreloadScriptInfo,
@@ -18938,61 +19390,66 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
18938
19390
  BeginUserBoundsChangingEvent,
18939
19391
  BoundsChangedEvent,
18940
19392
  BoundsChangingEvent,
19393
+ CloseRequestedEvent,
18941
19394
  WindowCloseRequestedEvent,
18942
19395
  ContextChangedEvent,
19396
+ ClosedEvent_2 as ClosedEvent,
18943
19397
  WindowClosedEvent,
19398
+ ClosingEvent,
18944
19399
  WindowClosingEvent,
18945
19400
  DisabledMovementBoundsChangedEvent,
18946
19401
  DisabledMovementBoundsChangingEvent,
18947
19402
  EmbeddedEvent,
18948
19403
  EndUserBoundsChangingEvent,
19404
+ HotkeyEvent_2 as HotkeyEvent,
18949
19405
  WindowHotkeyEvent,
19406
+ InitializedEvent_2 as InitializedEvent,
18950
19407
  WindowInitializedEvent,
18951
19408
  MaximizedEvent,
18952
19409
  MinimizedEvent,
18953
19410
  PreloadScriptsStateChangedEvent,
18954
19411
  PreloadScriptsStateChangingEvent,
19412
+ RestoredEvent,
18955
19413
  WindowRestoredEvent,
19414
+ ShowRequestedEvent,
18956
19415
  WindowShowRequestedEvent,
19416
+ ShownEvent_2 as ShownEvent,
18957
19417
  WindowShownEvent,
18958
19418
  UserMovementEnabledEvent,
18959
19419
  UserMovementDisabledEvent,
18960
19420
  WillMoveEvent,
18961
19421
  WillResizeEvent,
18962
19422
  NonPropagatedWindowEvent,
19423
+ ShowAllDownloadsEvent,
19424
+ DownloadShelfVisibilityChangedEvent,
18963
19425
  WindowSourcedEvent,
18964
19426
  WillPropagateWindowEvent,
19427
+ Event_6 as Event,
18965
19428
  WindowEvent,
19429
+ EventType_2 as EventType,
18966
19430
  WindowEventType,
19431
+ PropagatedEvent_3 as PropagatedEvent,
18967
19432
  PropagatedWindowEvent,
18968
19433
  PropagatedWindowEventType,
18969
- Payload_9 as Payload,
18970
- ByType_8 as ByType
19434
+ Payload_3 as Payload,
19435
+ ByType_2 as ByType
18971
19436
  }
18972
19437
  }
18973
19438
 
18974
19439
  /**
18975
- * Union of possible `type` values for a {@link OpenFin.WindowEvents.WindowEvent}.
19440
+ * @deprecated Renamed to {@link EventType}.
18976
19441
  */
18977
19442
  declare type WindowEventType = WindowEvent['type'];
18978
19443
 
18979
19444
  /**
18980
- * Generated when a window has been hidden.
18981
- * @interface
19445
+ * @deprecated Renamed to {@link HiddenEvent}.
18982
19446
  */
18983
- declare type WindowHiddenEvent = BaseWindowEvent & {
18984
- type: 'hidden';
18985
- reason: 'closing' | 'hide' | 'hide-on-close';
18986
- };
19447
+ declare type WindowHiddenEvent = HiddenEvent_2;
18987
19448
 
18988
19449
  /**
18989
- * Generated when a keyboard shortcut defined in the `hotkeys` array in [Window options](OpenFin.WindowOptions.html) is pressed inside the window.
18990
- * @remarks For reference on keyboard event properties see [KeyboardEvent](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent).
18991
- * @interface
19450
+ * @deprecated Renamed to {@link HotkeyEvent}.
18992
19451
  */
18993
- declare type WindowHotkeyEvent = InputEvent_2 & BaseWindowEvent & {
18994
- type: 'hotkey';
18995
- };
19452
+ declare type WindowHotkeyEvent = HotkeyEvent_2;
18996
19453
 
18997
19454
  /**
18998
19455
  * @interface
@@ -19006,12 +19463,9 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
19006
19463
  };
19007
19464
 
19008
19465
  /**
19009
- * Generated when a window is initialized.
19010
- * @interface
19466
+ * @deprecated Renamed to {@link InitializedEvent}.
19011
19467
  */
19012
- declare type WindowInitializedEvent = BaseWindowEvent & {
19013
- type: 'initialized';
19014
- };
19468
+ declare type WindowInitializedEvent = InitializedEvent_2;
19015
19469
 
19016
19470
  /**
19017
19471
  * Static namespace for OpenFin API methods that interact with the {@link _Window} class, available under `fin.Window`.
@@ -19130,15 +19584,9 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
19130
19584
  declare type WindowOptionsChangedEvent = OpenFin_2.WindowEvents.WindowOptionsChangedEvent;
19131
19585
 
19132
19586
  /**
19133
- * Generated after window options are changed using the window.updateOptions method.
19134
- * @remarks Will not fire if the diff object is empty.
19135
- * @interface
19587
+ * @deprecated Renamed to {@link OptionsChangedEvent}.
19136
19588
  */
19137
- declare type WindowOptionsChangedEvent_2 = BaseWindowEvent & {
19138
- type: 'options-changed';
19139
- options: OpenFin_2.WindowOptions;
19140
- diff: OpenFin_2.WindowOptionDiff;
19141
- };
19589
+ declare type WindowOptionsChangedEvent_2 = OptionsChangedEvent;
19142
19590
 
19143
19591
  declare type WindowPrintOptions = PrintOptions | ScreenshotPrintOptions | WindowViewsPrintOptions;
19144
19592
 
@@ -19151,35 +19599,25 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
19151
19599
  };
19152
19600
 
19153
19601
  /**
19154
- * Generated when a window is displayed after having been minimized or when a window leaves the maximize state without minimizing.
19155
- * @interface
19602
+ * @deprecated Renamed to {@link RestoredEvent}.
19156
19603
  */
19157
- declare type WindowRestoredEvent = BaseWindowEvent & {
19158
- type: 'restored';
19159
- };
19604
+ declare type WindowRestoredEvent = RestoredEvent;
19160
19605
 
19161
19606
  /**
19162
- * Generated when a hidden window has been shown.
19163
- * @interface
19607
+ * @deprecated Renamed to {@link ShownEvent}.
19164
19608
  */
19165
- declare type WindowShownEvent = BaseWindowEvent & {
19166
- type: 'shown';
19167
- };
19609
+ declare type WindowShownEvent = ShownEvent_2;
19168
19610
 
19169
19611
  /**
19170
- * Generated when a window has been prevented from showing.
19171
- * @remarks A window will be prevented from showing by default, either through the API or by a user when ‘show-requested’ has been subscribed to on the window or 'window-show-requested' on the parent application and the Window.show(force) flag is false.
19172
- * @interface
19612
+ * @deprecated Renamed to {@link ShowRequestedEvent}.
19173
19613
  */
19174
- declare type WindowShowRequestedEvent = BaseWindowEvent & {
19175
- type: 'show-requested';
19176
- };
19614
+ declare type WindowShowRequestedEvent = ShowRequestedEvent;
19177
19615
 
19178
19616
  /**
19179
19617
  * A union of all events that emit natively on the `Window` topic, i.e. excluding those that propagate
19180
19618
  * from {@link OpenFin.ViewEvents}.
19181
19619
  */
19182
- declare type WindowSourcedEvent = WebContentsEvent<'window'> | WindowViewEvent | AuthRequestedEvent | BeginUserBoundsChangingEvent | BoundsChangedEvent | BoundsChangingEvent | ContextChangedEvent | WindowCloseRequestedEvent | WindowClosedEvent | WindowClosingEvent | DisabledMovementBoundsChangedEvent | DisabledMovementBoundsChangingEvent | EmbeddedEvent | EndUserBoundsChangingEvent | ExternalProcessExitedEvent | ExternalProcessStartedEvent | WindowHiddenEvent | WindowHotkeyEvent | WindowInitializedEvent | LayoutInitializedEvent | LayoutReadyEvent | MaximizedEvent | MinimizedEvent | WindowOptionsChangedEvent_2 | PerformanceReportEvent | PreloadScriptsStateChangedEvent | PreloadScriptsStateChangingEvent | ReloadedEvent | WindowRestoredEvent | WindowShowRequestedEvent | WindowShownEvent | UserMovementDisabledEvent | UserMovementEnabledEvent | WillMoveEvent | WillRedirectEvent | WillResizeEvent;
19620
+ declare type WindowSourcedEvent = WebContentsEvents.Event<'window'> | WindowViewEvent | AuthRequestedEvent | BeginUserBoundsChangingEvent | BoundsChangedEvent | BoundsChangingEvent | ContextChangedEvent | CloseRequestedEvent | ClosedEvent_2 | ClosingEvent | DisabledMovementBoundsChangedEvent | DisabledMovementBoundsChangingEvent | EmbeddedEvent | EndUserBoundsChangingEvent | ExternalProcessExitedEvent | ExternalProcessStartedEvent | HiddenEvent_2 | HotkeyEvent_2 | InitializedEvent_2 | LayoutInitializedEvent | LayoutReadyEvent | MaximizedEvent | MinimizedEvent | OptionsChangedEvent | PerformanceReportEvent | PreloadScriptsStateChangedEvent | PreloadScriptsStateChangingEvent | ReloadedEvent | RestoredEvent | ShowRequestedEvent | ShownEvent_2 | UserMovementDisabledEvent | UserMovementEnabledEvent | WillMoveEvent | WillRedirectEvent | WillResizeEvent | ShowAllDownloadsEvent | DownloadShelfVisibilityChangedEvent;
19183
19621
 
19184
19622
  /**
19185
19623
  * Generated when a child window starts loading.
@@ -19211,7 +19649,7 @@ declare class _Window extends WebContents<OpenFin_2.WindowEvent> {
19211
19649
  };
19212
19650
 
19213
19651
  declare type Wire = EventEmitter & {
19214
- connect(address: string, WsConstructor: typeof WebSocket): Promise<any>;
19652
+ connect(messageReciever: MessageReceiver): Promise<any>;
19215
19653
  connectSync(): any;
19216
19654
  send(data: any): Promise<any>;
19217
19655
  shutdown(): Promise<void>;