@openfin/fdc3-api 37.80.39 → 37.81.20

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.
@@ -76,14 +76,42 @@ declare type AnchorType = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-rig
76
76
 
77
77
  declare type AnyStrategy = ChannelStrategy<any>;
78
78
 
79
+ /**
80
+ * @deprecated Renamed to {@link ApiSettings}.
81
+ */
82
+ declare type Api = ApiSettings;
83
+
84
+ declare type ApiCall<Request, Response> = {
85
+ request: Request;
86
+ response: Response;
87
+ };
88
+
89
+ declare type ApiClient<T extends Record<any, any>> = {
90
+ [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
91
+ };
92
+
93
+ /**
94
+ * @deprecated Renamed to {@link DomainApiSettings}.
95
+ */
96
+ declare type ApiInjection = DomainApiSettings;
97
+
98
+ /**
99
+ * Generated when a new Platform's API becomes responsive.
100
+ * @interface
101
+ */
102
+ declare type ApiReadyEvent = BaseEvent & {
103
+ topic: 'application';
104
+ type: 'platform-api-ready';
105
+ };
106
+
79
107
  /**
80
108
  * Configurations for API injection.
81
109
  *
82
110
  * @interface
83
111
  */
84
- declare type Api = {
112
+ declare type ApiSettings = {
85
113
  /**
86
- * Configure injection of OpenFin API into iframes based on domain
114
+ * Configure conditional injection of OpenFin API into iframes
87
115
  */
88
116
  iframe?: {
89
117
  /**
@@ -114,41 +142,6 @@ declare type Api = {
114
142
  fin?: InjectionType;
115
143
  };
116
144
 
117
- declare type ApiCall<Request, Response> = {
118
- request: Request;
119
- response: Response;
120
- };
121
-
122
- declare type ApiClient<T extends Record<any, any>> = {
123
- [key in keyof PickOfType<T, Function>]: (...args: Parameters<T[key]>) => ReturnType<T[key]> extends Promise<any> ? ReturnType<T[key]> : Promise<ReturnType<T[key]>>;
124
- };
125
-
126
- /**
127
- * @interface
128
- *
129
- * Rules for domain-conditional `fin` API injection.
130
- */
131
- declare type ApiInjection = {
132
- /**
133
- * Injection setting for the `fin` API for contexts on a matched domain.
134
- *
135
- * * 'none': The `fin` API will be not available.
136
- * * 'global': The entire `fin` API will be available.
137
- *
138
- * @defaultValue 'global'
139
- */
140
- fin: InjectionType;
141
- };
142
-
143
- /**
144
- * Generated when a new Platform's API becomes responsive.
145
- * @interface
146
- */
147
- declare type ApiReadyEvent = BaseEvent & {
148
- topic: 'application';
149
- type: 'platform-api-ready';
150
- };
151
-
152
145
  /**
153
146
  * @interface
154
147
  */
@@ -187,31 +180,6 @@ declare type AppAssetRequest = {
187
180
  alias: string;
188
181
  };
189
182
 
190
- declare interface AppIdentifier {
191
- /** The unique application identifier located within a specific application directory instance. An example of an appId might be 'app@sub.root' */
192
- readonly appId: string;
193
- /** An optional instance identifier, indicating that this object represents a specific instance of the application described. */
194
- readonly instanceId?: string;
195
- }
196
-
197
- /**
198
- * An interface that relates an intent to apps
199
- */
200
- declare interface AppIntent {
201
- readonly intent: IntentMetadata;
202
- readonly apps: Array<AppMetadata>;
203
- }
204
-
205
- /**
206
- * An interface that relates an intent to apps
207
- */
208
- declare interface AppIntent_2 {
209
- /** Details of the intent whose relationship to resolving applications is being described. */
210
- readonly intent: IntentMetadata_2;
211
- /** Details of applications that can resolve the intent. */
212
- readonly apps: Array<AppMetadata_2>;
213
- }
214
-
215
183
  /**
216
184
  * An object representing an application. Allows the developer to create,
217
185
  * execute, show/close an application as well as listen to {@link OpenFin.ApplicationEvents application events}.
@@ -966,7 +934,7 @@ declare type ApplicationIdentity_2 = {
966
934
  * @interface
967
935
  */
968
936
  declare type ApplicationInfo = {
969
- initialOptions: ApplicationCreationOptions | PlatformOptions;
937
+ initialOptions: WithUserAppConfigArgs & (ApplicationCreationOptions | PlatformOptions);
970
938
  launchMode: string;
971
939
  manifest: Manifest & {
972
940
  [key: string]: any;
@@ -1422,60 +1390,6 @@ declare type ApplySnapshotPayload = {
1422
1390
  options?: ApplySnapshotOptions;
1423
1391
  };
1424
1392
 
1425
- /**
1426
- * App definition as provided by the application directory
1427
- */
1428
- declare interface AppMetadata {
1429
- /** The unique app name that can be used with the open and raiseIntent calls. */
1430
- readonly name: string;
1431
- /** The unique application identifier located within a specific application directory instance. An example of an appId might be 'app@sub.root' */
1432
- readonly appId?: string;
1433
- /** The Version of the application. */
1434
- readonly version?: string;
1435
- /** A more user-friendly application title that can be used to render UI elements */
1436
- readonly title?: string;
1437
- /** A tooltip for the application that can be used to render UI elements */
1438
- readonly tooltip?: string;
1439
- /** A longer, multi-paragraph description for the application that could include markup */
1440
- readonly description?: string;
1441
- /** A list of icon URLs for the application that can be used to render UI elements */
1442
- readonly icons?: Array<string>;
1443
- /** A list of image URLs for the application that can be used to render UI elements */
1444
- readonly images?: Array<string>;
1445
- }
1446
-
1447
- /**
1448
- * Extends an `AppIdentifier`, describing an application or instance of an application, with additional descriptive metadata that is usually provided by an FDC3 App Directory that the desktop agent connects to.
1449
- *
1450
- * The additional information from an app directory can aid in rendering UI elements, such as a launcher menu or resolver UI. This includes a title, description, tooltip and icon and screenshot URLs.
1451
- *
1452
- * Note that as `AppMetadata` instances are also `AppIdentifiers` they may be passed to the `app` argument of `fdc3.open`, `fdc3.raiseIntent` etc.
1453
- */
1454
- declare interface AppMetadata_2 extends AppIdentifier {
1455
- /**
1456
- The 'friendly' app name.
1457
- This field was used with the `open` and `raiseIntent` calls in FDC3 <2.0, which now require an `AppIdentifier` wth `appId` set.
1458
- Note that for display purposes the `title` field should be used, if set, in preference to this field.
1459
- */
1460
- readonly name?: string;
1461
- /** The Version of the application. */
1462
- readonly version?: string;
1463
- /** An optional set of, implementation specific, metadata fields that can be used to disambiguate instances, such as a window title or screen position. Must only be set if `instanceId` is set. */
1464
- readonly instanceMetadata?: Record<string, any>;
1465
- /** A more user-friendly application title that can be used to render UI elements */
1466
- readonly title?: string;
1467
- /** A tooltip for the application that can be used to render UI elements */
1468
- readonly tooltip?: string;
1469
- /** A longer, multi-paragraph description for the application that could include markup */
1470
- readonly description?: string;
1471
- /** A list of icon URLs for the application that can be used to render UI elements */
1472
- readonly icons?: Array<Icon>;
1473
- /** Images representing the app in common usage scenarios that can be used to render UI elements */
1474
- readonly screenshots?: Array<Image_2>;
1475
- /** The type of output returned for any intent specified during resolution. May express a particular context type (e.g. "fdc3.instrument"), channel (e.g. "channel") or a channel that will receive a specified type (e.g. "channel<fdc3.instrument>"). */
1476
- readonly resultType?: string | null;
1477
- }
1478
-
1479
1393
  /**
1480
1394
  * @interface
1481
1395
  */
@@ -2369,25 +2283,7 @@ declare class Channel extends EmitterBase<ChannelEvent> {
2369
2283
 
2370
2284
  declare type Channel_2 = OpenFin.Fin['InterApplicationBus']['Channel'];
2371
2285
 
2372
- declare interface Channel_3 {
2373
- id: string;
2374
- type: string;
2375
- displayMetadata?: DisplayMetadata;
2376
- broadcast(context: Context): void;
2377
- getCurrentContext(contextType?: string): Promise<Context | null>;
2378
- addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
2379
- }
2380
-
2381
- declare interface Channel_4 {
2382
- readonly id: string;
2383
- readonly type: 'user' | 'app' | 'private';
2384
- readonly displayMetadata?: DisplayMetadata_2;
2385
- broadcast(context: Context_2): Promise<void>;
2386
- getCurrentContext(contextType?: string): Promise<Context_2 | null>;
2387
- addContextListener(contextType: string | null, handler: ContextHandler_2): Listener_2 & Promise<Listener_2>;
2388
- }
2389
-
2390
- declare type Channel_5 = OpenFin.Fin['InterApplicationBus']['Channel'];
2286
+ declare type Channel_3 = OpenFin.Fin['InterApplicationBus']['Channel'];
2391
2287
 
2392
2288
  declare type ChannelAction = OpenFin.ChannelAction;
2393
2289
 
@@ -2760,6 +2656,7 @@ declare class ChannelClient extends ChannelBase {
2760
2656
  */
2761
2657
  disconnect(): Promise<void>;
2762
2658
  sendDisconnectAction(): Promise<void>;
2659
+ /* Excluded from this release type: wireClose */
2763
2660
  }
2764
2661
 
2765
2662
  declare type ChannelClient_2 = OpenFin.ChannelClient;
@@ -3000,6 +2897,7 @@ declare class ChannelProvider extends ChannelBase {
3000
2897
  private getEndpointIdForOpenFinId;
3001
2898
  private static clientIdentityIncludesEndpointId;
3002
2899
  private static clientIsMultiRuntime;
2900
+ static wireClose(wire: Transport, channelName: string): Promise<void>;
3003
2901
  }
3004
2902
 
3005
2903
  declare type ChannelProviderDisconnectionListener = (identity: ProviderIdentity_4) => any;
@@ -3498,7 +3396,7 @@ declare type ConstViewOptions = {
3498
3396
  /**
3499
3397
  * Configurations for API injection.
3500
3398
  */
3501
- api: Api;
3399
+ api: ApiSettings;
3502
3400
  /**
3503
3401
  * The name of the view.
3504
3402
  */
@@ -3918,7 +3816,23 @@ declare interface Container extends EventEmitter_2 {
3918
3816
  close(): boolean;
3919
3817
  }
3920
3818
 
3921
- declare type ContentCreationBehaviorNames = 'window' | 'view' | 'block' | 'browser';
3819
+ /**
3820
+ * Generated when content navigation or redirection is blocked by {@link OpenFin.DomainSettings}.
3821
+ */
3822
+ declare type ContentBlockedEvent = NamedEvent & {
3823
+ type: 'content-blocked';
3824
+ /**
3825
+ * The domain whose content was blocked.
3826
+ */
3827
+ url: string;
3828
+ };
3829
+
3830
+ declare type ContentCreationBehavior = 'window' | 'view' | 'block' | 'browser';
3831
+
3832
+ /**
3833
+ * @deprecated Renamed to {@link ContentCreationBehavior}.
3834
+ */
3835
+ declare type ContentCreationBehaviorNames = ContentCreationBehavior;
3922
3836
 
3923
3837
  /**
3924
3838
  * Configures how new content (e,g, from `window.open` or a link) is opened.
@@ -3942,7 +3856,7 @@ declare type ContentCreationOptions = {
3942
3856
  * @typeParam Behavior The way content governed by this rule will be created. If provided, this type will narrow to
3943
3857
  * the specified `behavior` key.
3944
3858
  */
3945
- declare type ContentCreationRule<Behavior extends ContentCreationBehaviorNames = ContentCreationBehaviorNames> = Extract<WindowContentCreationRule | ViewContentCreationRule | BrowserContentCreationRule | BlockedContentCreationRule, {
3859
+ declare type ContentCreationRule<Behavior extends ContentCreationBehavior = ContentCreationBehavior> = Extract<WindowContentCreationRule | ViewContentCreationRule | BrowserContentCreationRule | BlockedContentCreationRule, {
3946
3860
  behavior: Behavior;
3947
3861
  }>;
3948
3862
 
@@ -4192,39 +4106,39 @@ declare interface ContentItem extends EventEmitter_2 {
4192
4106
  * In the lack of an allowlist, navigation to URLs that match a denied pattern would be prohibited.
4193
4107
  * See [here](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) for more details.
4194
4108
  *
4109
+ * @remarks Superseded by {@link DomainSettingsRule.content}. If {@link DomainSettings.default} includes a
4110
+ * `content` setting, this setting will be **ignored**.
4111
+ *
4195
4112
  * @interface
4196
4113
  */
4197
4114
  declare type ContentNavigation = NavigationRules;
4198
4115
 
4116
+ /**
4117
+ * Whether a content url is allowed or blocked for navigation or redirection.
4118
+ *
4119
+ * * 'allow': The content url is allowed.
4120
+ * * 'block': The content url is blocked.
4121
+ */
4122
+ declare type ContentPermission = 'allow' | 'block';
4123
+
4199
4124
  /**
4200
4125
  * Restrict redirects to URLs that match an allowed pattern.
4201
4126
  * In the lack of an allowlist, redirects to URLs that match a denied pattern would be prohibited.
4202
4127
  * See [here](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) for more details.
4203
4128
  *
4129
+ * @remarks Superseded by {@link DomainSettingsRule.content}. If {@link DomainSettings.default} includes a
4130
+ * `content` setting, this setting will be **ignored**.
4131
+ *
4204
4132
  * @interface
4205
4133
  */
4206
4134
  declare type ContentRedirect = NavigationRules;
4207
4135
 
4208
- declare interface Context {
4209
- id?: { [key: string]: string };
4210
- name?: string;
4211
- type: string;
4212
- }
4213
-
4214
- declare interface Context_2 {
4215
- id?: { [key: string]: string };
4216
- name?: string;
4217
- type: string;
4218
- contextMetadata?: ContextMetadata;
4219
- metadata?: any;
4220
- }
4221
-
4222
4136
  /**
4223
4137
  * Data passed between entities and applications.
4224
4138
  *
4225
4139
  * @interface
4226
4140
  */
4227
- declare type Context_3 = {
4141
+ declare type Context = {
4228
4142
  /**
4229
4143
  * An object containing string key-value pairs for the bulk of the data for the context. Differs between context types.
4230
4144
  */
@@ -4253,7 +4167,7 @@ declare type ContextChangedEvent = BaseEvent_5 & {
4253
4167
  /**
4254
4168
  * @interface
4255
4169
  */
4256
- declare type ContextForIntent<MetadataType = any> = Context_3 & {
4170
+ declare type ContextForIntent<MetadataType = any> = Context & {
4257
4171
  metadata?: MetadataType;
4258
4172
  };
4259
4173
 
@@ -4269,23 +4183,19 @@ declare type ContextGroupInfo = {
4269
4183
  /**
4270
4184
  * Metadata for the Context Group. Contains the group's human-readable name, color, and an image, as defined by the Interop Broker.
4271
4185
  */
4272
- displayMetadata?: DisplayMetadata_3;
4186
+ displayMetadata?: DisplayMetadata;
4273
4187
  };
4274
4188
 
4275
4189
  declare type ContextGroupStates = {
4276
4190
  [key: string]: {
4277
- [key: string]: Context_3;
4191
+ [key: string]: Context;
4278
4192
  };
4279
4193
  };
4280
4194
 
4281
- declare type ContextHandler = (context: Context) => void;
4282
-
4283
- declare type ContextHandler_2 = (context: Context_2, metadata?: ContextMetadata) => void;
4284
-
4285
4195
  /**
4286
4196
  * Subscription function for addContextHandler.
4287
4197
  */
4288
- declare type ContextHandler_3 = (context: Context_3) => void;
4198
+ declare type ContextHandler = (context: Context) => void;
4289
4199
 
4290
4200
  /**
4291
4201
  * Configure the context menu when right-clicking on a window.
@@ -4324,20 +4234,6 @@ declare type ContextMenuSettings = {
4324
4234
  reload?: boolean;
4325
4235
  };
4326
4236
 
4327
- /**
4328
- * Metadata relating to a context or intent and context received through the
4329
- * `addContextListener` and `addIntentListener` functions.
4330
- *
4331
- * @experimental Introduced in FDC3 2.0 and may be refined by further changes outside the normal FDC3 versioning policy.
4332
- */
4333
- declare interface ContextMetadata {
4334
- /** Identifier for the app instance that sent the context and/or intent.
4335
- *
4336
- * @experimental
4337
- */
4338
- readonly source: AppIdentifier;
4339
- }
4340
-
4341
4237
  /**
4342
4238
  * @interface
4343
4239
  */
@@ -4584,45 +4480,6 @@ declare type DefaultDomainSettings = DomainSettings;
4584
4480
  */
4585
4481
  declare type DefaultDomainSettingsRule = DomainSettingsRule;
4586
4482
 
4587
- declare interface DesktopAgent {
4588
- open(app: TargetApp, context?: Context): Promise<void>;
4589
- findIntent(intent: string, context?: Context): Promise<AppIntent>;
4590
- findIntentsByContext(context: Context): Promise<Array<AppIntent>>;
4591
- broadcast(context: Context): void;
4592
- raiseIntent(intent: string, context: Context, app?: TargetApp): Promise<IntentResolution>;
4593
- raiseIntentForContext(context: Context, app?: TargetApp): Promise<IntentResolution>;
4594
- addIntentListener(intent: string, handler: ContextHandler): Listener;
4595
- joinChannel(channelId: string): Promise<void>;
4596
- leaveCurrentChannel(): Promise<void>;
4597
- getInfo(): ImplementationMetadata;
4598
- addContextListener(contextType: string | null, handler: ContextHandler): Listener & Promise<Listener>;
4599
- getOrCreateChannel(channelId: string): Promise<Channel_3>;
4600
- getSystemChannels(): Promise<SystemChannel[]>;
4601
- getCurrentChannel(): Promise<Channel_3 | null>;
4602
- }
4603
-
4604
- declare interface DesktopAgent_2 {
4605
- open(app: AppIdentifier | TargetApp, context?: Context_2): Promise<AppIdentifier>;
4606
- findIntent(intent: string, context?: Context_2, resultType?: string): Promise<AppIntent_2>;
4607
- findIntentsByContext(context: Context_2, resultType?: string): Promise<Array<AppIntent_2>>;
4608
- findInstances(app: AppIdentifier): Promise<Array<AppIdentifier>>;
4609
- broadcast(context: Context_2): Promise<void>;
4610
- raiseIntent(intent: string, context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4611
- raiseIntentForContext(context: Context_2, app?: AppIdentifier | TargetApp): Promise<IntentResolution_2>;
4612
- addIntentListener(intent: string, handler: IntentHandler): Promise<Listener_2>;
4613
- addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
4614
- getUserChannels(): Promise<Array<SystemChannel>>;
4615
- joinUserChannel(channelId: string): Promise<void>;
4616
- getOrCreateChannel(channelId: string): Promise<Channel_4>;
4617
- createPrivateChannel(): Promise<PrivateChannel>;
4618
- getCurrentChannel(): Promise<Channel_3 | null>;
4619
- leaveCurrentChannel(): Promise<void>;
4620
- getInfo(): Promise<ImplementationMetadata_2>;
4621
- getAppMetadata(app: AppIdentifier): Promise<AppMetadata_2>;
4622
- getSystemChannels(): Promise<Array<SystemChannel>>;
4623
- joinChannel(channelId: string): Promise<void>;
4624
- }
4625
-
4626
4483
  /**
4627
4484
  * Generated when the desktop icon is clicked while it's already running.
4628
4485
  * @interface
@@ -4767,52 +4624,12 @@ declare type DisconnectedEvent_3 = BaseFrameEvent & {
4767
4624
  type: 'disconnected';
4768
4625
  };
4769
4626
 
4770
- /**
4771
- * A system channel will be global enough to have a presence across many apps. This gives us some hints
4772
- * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4773
- * this is their meaning.
4774
- */
4775
- declare interface DisplayMetadata {
4776
- /**
4777
- * A user-readable name for this channel, e.g: `"Red"`
4778
- */
4779
- readonly name?: string;
4780
- /**
4781
- * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4782
- */
4783
- readonly color?: string;
4784
- /**
4785
- * A URL of an image that can be used to display this channel
4786
- */
4787
- readonly glyph?: string;
4788
- }
4789
-
4790
- /**
4791
- * A system channel will be global enough to have a presence across many apps. This gives us some hints
4792
- * to render them in a standard way. It is assumed it may have other properties too, but if it has these,
4793
- * this is their meaning.
4794
- */
4795
- declare interface DisplayMetadata_2 {
4796
- /**
4797
- * A user-readable name for this channel, e.g: `"Red"`
4798
- */
4799
- readonly name?: string;
4800
- /**
4801
- * The color that should be associated within this channel when displaying this channel in a UI, e.g: `0xFF0000`.
4802
- */
4803
- readonly color?: string;
4804
- /**
4805
- * A URL of an image that can be used to display this channel
4806
- */
4807
- readonly glyph?: string;
4808
- }
4809
-
4810
4627
  /**
4811
4628
  * The display data for a context group.
4812
4629
  *
4813
4630
  * @interface
4814
4631
  */
4815
- declare type DisplayMetadata_3 = {
4632
+ declare type DisplayMetadata = {
4816
4633
  /**
4817
4634
  * A user-readable name for this context group, e.g: `"Red"`
4818
4635
  */
@@ -4827,6 +4644,25 @@ declare type DisplayMetadata_3 = {
4827
4644
  readonly glyph?: string;
4828
4645
  };
4829
4646
 
4647
+ /**
4648
+ * @interface
4649
+ *
4650
+ * Rules for domain-conditional `fin` API injection.
4651
+ *
4652
+ * @remarks Subset of {@link DomainSettings}.
4653
+ */
4654
+ declare type DomainApiSettings = {
4655
+ /**
4656
+ * Injection setting for the `fin` API for contexts on a matched domain.
4657
+ *
4658
+ * * 'none': The `fin` API will be not available.
4659
+ * * 'global': The entire `fin` API will be available.
4660
+ *
4661
+ * @defaultValue 'global'
4662
+ */
4663
+ fin: InjectionType;
4664
+ };
4665
+
4830
4666
  /**
4831
4667
  * @interface
4832
4668
  * Defines application settings that vary by the domain of the current context.
@@ -4839,6 +4675,10 @@ declare type DomainSettings = {
4839
4675
  * {@inheritDoc DomainSettingsRule}
4840
4676
  */
4841
4677
  rules: DomainSettingsRule[];
4678
+ /**
4679
+ * Default values for settings in {@link DomainSettingsRule}.
4680
+ */
4681
+ default?: PerDomainSettings;
4842
4682
  };
4843
4683
 
4844
4684
  /**
@@ -4851,22 +4691,11 @@ declare type DomainSettingsRule = {
4851
4691
  * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) specifying
4852
4692
  * the domain(s) for which the rule applies.
4853
4693
  */
4854
- match: string[];
4694
+ match?: string[];
4855
4695
  /**
4856
4696
  * Settings applied when a webcontents has been navigated to a matched domain.
4857
4697
  */
4858
- options: {
4859
- /**
4860
- * {@inheritDoc FileDownloadSettings}
4861
- *
4862
- * @remarks See: https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads
4863
- */
4864
- downloadSettings?: FileDownloadSettings;
4865
- /**
4866
- * {@inheritDoc ApiInjection}
4867
- */
4868
- api?: ApiInjection;
4869
- };
4698
+ options: PerDomainSettings;
4870
4699
  };
4871
4700
 
4872
4701
  /**
@@ -4904,18 +4733,19 @@ declare type DownloadPreloadOption = {
4904
4733
  /**
4905
4734
  * @interface
4906
4735
  *
4907
- * A rule governing domain-conditional download behavior.
4736
+ * A rule that governs download behavior, discriminated by the URL of the download.
4908
4737
  */
4909
4738
  declare type DownloadRule = {
4910
4739
  /**
4911
- * {@inheritDoc FileDownloadBehaviorNames}
4740
+ * {@inheritDoc FileDownloadBehavior}
4912
4741
  */
4913
- behavior: FileDownloadBehaviorNames;
4742
+ behavior: FileDownloadBehavior;
4914
4743
  /**
4915
4744
  * Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns) specifying
4916
- * the domain(s) for which the rule applies.
4745
+ * URL(s) of the resource(s) being downloaded.
4917
4746
  *
4918
- * @remarks The match is evaluated against the URL of the *download*.
4747
+ * @remarks The match is evaluated against the URL of the *file*, which is not necessarily the same as that
4748
+ * of the page in which a file download link is embedded.
4919
4749
  */
4920
4750
  match: string[];
4921
4751
  };
@@ -5190,7 +5020,7 @@ declare interface Environment {
5190
5020
  getWsConstructor(): typeof WebSocket;
5191
5021
  whenReady(): Promise<void>;
5192
5022
  getInteropInfo(fin: OpenFin.Fin<OpenFin.EntityType>): Promise<InternalInteropBrokerOptions & {
5193
- fdc3Version?: Fdc3Version;
5023
+ fdc3Version?: Version;
5194
5024
  }>;
5195
5025
  readonly type: EnvironmentType;
5196
5026
  }
@@ -5258,7 +5088,7 @@ declare type Event_4 = (WebContentsEvents.Event<'view'> & {
5258
5088
  */
5259
5089
  declare type Event_5<Topic extends string> = {
5260
5090
  topic: Topic;
5261
- } & (BlurredEvent | CertificateSelectionShownEvent | CrashedEvent_2 | DidChangeThemeColorEvent | FocusedEvent | NavigationRejectedEvent | UrlChangedEvent | DidFailLoadEvent | DidFinishLoadEvent | PageFaviconUpdatedEvent | PageTitleUpdatedEvent | ResourceLoadFailedEvent | ResourceResponseReceivedEvent | ChildContentBlockedEvent | ChildContentOpenedInBrowserEvent | ChildViewCreatedEvent | ChildWindowCreatedEvent | FileDownloadStartedEvent | FileDownloadProgressEvent | FileDownloadCompletedEvent | FoundInPageEvent | CertificateErrorEvent);
5091
+ } & (BlurredEvent | CertificateSelectionShownEvent | CrashedEvent_2 | DidChangeThemeColorEvent | FocusedEvent | NavigationRejectedEvent | UrlChangedEvent | DidFailLoadEvent | DidFinishLoadEvent | PageFaviconUpdatedEvent | PageTitleUpdatedEvent | ResourceLoadFailedEvent | ResourceResponseReceivedEvent | ChildContentBlockedEvent | ChildContentOpenedInBrowserEvent | ChildViewCreatedEvent | ChildWindowCreatedEvent | FileDownloadStartedEvent | FileDownloadProgressEvent | FileDownloadCompletedEvent | FoundInPageEvent | CertificateErrorEvent | ContentBlockedEvent | WillRedirectEvent);
5262
5092
 
5263
5093
  /**
5264
5094
  * [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
@@ -5595,8 +5425,9 @@ declare type FaviconUpdatedEvent = PageFaviconUpdatedEvent;
5595
5425
 
5596
5426
  declare namespace FDC3 {
5597
5427
  export {
5598
- v1,
5599
- v2
5428
+ Version,
5429
+ v1_2,
5430
+ v2_0
5600
5431
  }
5601
5432
  }
5602
5433
 
@@ -5639,7 +5470,8 @@ export declare function fdc3FromFin(fin: OpenFin.Fin<OpenFin.EntityType>, { fdc3
5639
5470
  * }
5640
5471
  * ```
5641
5472
  */
5642
- export declare class Fdc3Module extends Base implements v1.DesktopAgent {
5473
+ export declare class Fdc3Module extends FDC3ModuleBase<v1_2.Channel> implements v1_2.DesktopAgent {
5474
+ open(app: v1_2.TargetApp, context?: v1_2.Context): Promise<void>;
5643
5475
  /**
5644
5476
  * Add a context handler for incoming context. If an entity is part of a context group, and then sets its context handler, it will receive all of its declared contexts. If you wish to listen for all incoming contexts, pass `null` for the contextType argument.
5645
5477
  * @param contextType - The type of context you wish to handle.
@@ -5648,42 +5480,7 @@ export declare class Fdc3Module extends Base implements v1.DesktopAgent {
5648
5480
  * @tutorial fdc3.addContextListener
5649
5481
  * @static
5650
5482
  */
5651
- addContextListener(contextType: string | null, handler: v1.ContextHandler): v1.Listener & Promise<v1.Listener>;
5652
- /**
5653
- * Broadcasts a context for the channel of the current entity.
5654
- * @param context - New context to set.
5655
- *
5656
- * @tutorial fdc3.broadcast
5657
- * @static
5658
- */
5659
- broadcast(context: v1.Context): Promise<void>;
5660
- /**
5661
- * Returns the Interop-Broker-defined context groups available for an entity to join.
5662
- *
5663
- * @tutorial fdc3.getSystemChannels
5664
- * @static
5665
- */
5666
- getSystemChannels(): Promise<v1.SystemChannel[]>;
5667
- /**
5668
- * Join all Interop Clients at the given identity to context group `contextGroupId`.
5669
- * If no target is specified, it adds the sender to the context group.
5670
- * Because multiple Channel connections/Interop Clients can potentially exist at a `uuid`/`name` combo, we currently join all Channel connections/Interop Clients at the given identity to the context group.
5671
- * If an `endpointId` is provided (which is unlikely, unless the call is coming from an external adapter), then we only join that single connection to the context group.
5672
- * For all intents and purposes, there will only be 1 connection present in Platform and Browser implementations, so this point is more-or-less moot.
5673
- * @param channelId - Id of the context group.
5674
- *
5675
- * @tutorial fdc3.joinChannel
5676
- * @static
5677
- */
5678
- joinChannel(channelId: string): Promise<void>;
5679
- /**
5680
- * Removes the specified target from a context group.
5681
- * If no target is specified, it removes the sender from their context group.
5682
- *
5683
- * @tutorial fdc3.leaveCurrentChannel
5684
- * @static
5685
- */
5686
- leaveCurrentChannel(): Promise<void>;
5483
+ addContextListener(contextType: string | null, handler: v1_2.ContextHandler): v1_2.Listener & Promise<v1_2.Listener>;
5687
5484
  /**
5688
5485
  * Adds a listener for incoming Intents.
5689
5486
  * @param intent - Name of the Intent
@@ -5692,7 +5489,7 @@ export declare class Fdc3Module extends Base implements v1.DesktopAgent {
5692
5489
  * @tutorial fdc3.addIntentListener
5693
5490
  * @static
5694
5491
  */
5695
- addIntentListener(intent: string, handler: v1.ContextHandler): v1.Listener & Promise<v1.Listener>;
5492
+ addIntentListener(intent: string, handler: v1_2.ContextHandler): v1_2.Listener & Promise<v1_2.Listener>;
5696
5493
  /**
5697
5494
  * Raises a specific intent.
5698
5495
  * @param intent Name of the Intent.
@@ -5702,13 +5499,7 @@ export declare class Fdc3Module extends Base implements v1.DesktopAgent {
5702
5499
  * @tutorial fdc3.raiseIntent
5703
5500
  * @static
5704
5501
  */
5705
- raiseIntent(intent: string, context: v1.Context, app?: v1.TargetApp): Promise<v1.IntentResolution>;
5706
- /**
5707
- * Returns the Channel that the entity is subscribed to. Returns null if not joined to a channel.
5708
- *
5709
- * @tutorial fdc3.getCurrentChannel
5710
- */
5711
- getCurrentChannel(): Promise<v1.Channel | null>;
5502
+ raiseIntent(intent: string, context: v1_2.Context, app?: v1_2.TargetApp): Promise<v1_2.IntentResolution>;
5712
5503
  /**
5713
5504
  * Find out more information about a particular intent by passing its name, and optionally its context.
5714
5505
  * @param intent Name of the Intent
@@ -5716,14 +5507,14 @@ export declare class Fdc3Module extends Base implements v1.DesktopAgent {
5716
5507
  *
5717
5508
  * @tutorial fdc3.findIntent
5718
5509
  */
5719
- findIntent(intent: string, context?: v1.Context): Promise<v1.AppIntent>;
5510
+ findIntent(intent: string, context?: v1_2.Context): Promise<v1_2.AppIntent>;
5720
5511
  /**
5721
5512
  * Find all the available intents for a particular context.
5722
5513
  * @param context
5723
5514
  *
5724
5515
  * @tutorial fdc3.findIntentsByContext
5725
5516
  */
5726
- findIntentsByContext(context: v1.Context): Promise<Array<v1.AppIntent>>;
5517
+ findIntentsByContext(context: v1_2.Context): Promise<Array<v1_2.AppIntent>>;
5727
5518
  /**
5728
5519
  * Finds and raises an intent against a target app based purely on context data.
5729
5520
  * @param context
@@ -5731,30 +5522,20 @@ export declare class Fdc3Module extends Base implements v1.DesktopAgent {
5731
5522
  *
5732
5523
  * @tutorial fdc3.raiseIntentForContext
5733
5524
  */
5734
- raiseIntentForContext(context: v1.Context, app?: v1.TargetApp): Promise<v1.IntentResolution>;
5525
+ raiseIntentForContext(context: v1_2.Context, app?: v1_2.TargetApp): Promise<v1_2.IntentResolution>;
5735
5526
  /**
5736
5527
  * Returns a Channel object for the specified channel, creating it as an App Channel if it does not exist.
5737
5528
  * @param channelId
5738
5529
  *
5739
5530
  * @tutorial fdc3.getOrCreateChannel
5740
5531
  */
5741
- getOrCreateChannel(channelId: string): Promise<v1.Channel>;
5532
+ getOrCreateChannel(channelId: string): Promise<v1_2.Channel>;
5742
5533
  /**
5743
5534
  * Returns metadata relating to the FDC3 object and its provider, including the supported version of the FDC3 specification and the name of the provider of the implementation.
5744
5535
  *
5745
5536
  * @tutorial fdc3.getInfo
5746
5537
  */
5747
- getInfo(): v1.ImplementationMetadata;
5748
- /**
5749
- * Launches an app with target information, which can either be a string or an AppMetadata object.
5750
- * @param app
5751
- * @param context
5752
- *
5753
- * @tutorial fdc3.open
5754
- */
5755
- open(app: v1.TargetApp, context?: v1.Context): Promise<void>;
5756
- private getCurrentContextGroupInfo;
5757
- private buildChannelObject;
5538
+ getInfo(): v1_2.ImplementationMetadata;
5758
5539
  }
5759
5540
 
5760
5541
  /**
@@ -5792,9 +5573,7 @@ export declare class Fdc3Module extends Base implements v1.DesktopAgent {
5792
5573
  * }
5793
5574
  * ```
5794
5575
  */
5795
- export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5796
- private fdc3Module;
5797
- constructor(wire: Transport);
5576
+ export declare class Fdc3Module2 extends FDC3ModuleBase<v2_0.Channel> implements v2_0.DesktopAgent {
5798
5577
  /**
5799
5578
  * Launches an app, specified via an AppIdentifier object.
5800
5579
  * @param app
@@ -5802,28 +5581,28 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5802
5581
  *
5803
5582
  * @tutorial fdc3.open
5804
5583
  */
5805
- open(app: v2.AppIdentifier | v1.TargetApp, context?: v2.Context): Promise<v2.AppIdentifier>;
5584
+ open(app: v2_0.AppIdentifier | string, context?: v2_0.Context): Promise<v2_0.AppIdentifier>;
5806
5585
  /**
5807
5586
  * Find all the available instances for a particular application.
5808
5587
  * @param app
5809
5588
  *
5810
5589
  * @tutorial fdc3v2.findInstances
5811
5590
  */
5812
- findInstances(app: v2.AppIdentifier): Promise<Array<v2.AppIdentifier>>;
5591
+ findInstances(app: v2_0.AppIdentifier): Promise<Array<v2_0.AppIdentifier>>;
5813
5592
  /**
5814
5593
  * Retrieves the AppMetadata for an AppIdentifier, which provides additional metadata (such as icons, a title and description) from the App Directory record for the application, that may be used for display purposes.
5815
5594
  * @param app
5816
5595
  *
5817
5596
  * @tutorial fdc3v2.getAppMetadata
5818
5597
  */
5819
- getAppMetadata(app: v2.AppIdentifier): Promise<v2.AppMetadata>;
5598
+ getAppMetadata(app: v2_0.AppIdentifier): Promise<v2_0.AppMetadata>;
5820
5599
  /**
5821
5600
  * Broadcasts a context for the channel of the current entity.
5822
5601
  * @param context - New context to set.
5823
5602
  *
5824
5603
  * @tutorial fdc3.broadcast
5825
5604
  */
5826
- broadcast(context: v2.Context): Promise<void>;
5605
+ broadcast(context: v2_0.Context): Promise<void>;
5827
5606
  /**
5828
5607
  * Add a context handler for incoming context. If an entity is part of a context group, and then sets its context handler, it will receive all of its declared contexts. If you wish to listen for all incoming contexts, pass `null` for the contextType argument.
5829
5608
  * @param contextType
@@ -5831,7 +5610,7 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5831
5610
  *
5832
5611
  * @tutorial fdc3.addContextListener
5833
5612
  */
5834
- addContextListener(contextType: string | null, handler: v2.ContextHandler): Promise<v2.Listener>;
5613
+ addContextListener(contextType: string | null, handler: v2_0.ContextHandler): Promise<v2_0.Listener>;
5835
5614
  /**
5836
5615
  * Find out more information about a particular intent by passing its name, and optionally its context and resultType.
5837
5616
  * @param intent Name of the Intent
@@ -5840,7 +5619,7 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5840
5619
  *
5841
5620
  * @tutorial fdc3.findIntent
5842
5621
  */
5843
- findIntent(intent: string, context?: v2.Context, resultType?: string): Promise<v2.AppIntent>;
5622
+ findIntent(intent: string, context?: v2_0.Context, resultType?: string): Promise<v2_0.AppIntent>;
5844
5623
  /**
5845
5624
  * Find all the available intents for a particular context.
5846
5625
  * @param context
@@ -5848,7 +5627,7 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5848
5627
  *
5849
5628
  * @tutorial fdc3v2.findIntentsByContext
5850
5629
  */
5851
- findIntentsByContext(context: v2.Context, resultType?: string): Promise<Array<v2.AppIntent>>;
5630
+ findIntentsByContext(context: v2_0.Context, resultType?: string): Promise<Array<v2_0.AppIntent>>;
5852
5631
  /**
5853
5632
  * Raises a specific intent for resolution against apps registered with the desktop agent.
5854
5633
  * @param intent Name of the Intent
@@ -5857,7 +5636,7 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5857
5636
  *
5858
5637
  * @tutorial fdc3v2.raiseIntent
5859
5638
  */
5860
- raiseIntent(intent: string, context: v2.Context, app?: v2.AppIdentifier | v1.TargetApp): Promise<v2.IntentResolution>;
5639
+ raiseIntent(intent: string, context: v2_0.Context, app?: v2_0.AppIdentifier | string): Promise<v2_0.IntentResolution>;
5861
5640
  /**
5862
5641
  * Finds and raises an intent against apps registered with the desktop agent based purely on the type of the context data.
5863
5642
  * @param context Context associated with the Intent
@@ -5865,7 +5644,7 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5865
5644
  *
5866
5645
  * @tutorial fdc3v2.raiseIntentForContext
5867
5646
  */
5868
- raiseIntentForContext(context: v2.Context, app?: v2.AppIdentifier | v1.TargetApp): Promise<v2.IntentResolution>;
5647
+ raiseIntentForContext(context: v2_0.Context, app?: v2_0.AppIdentifier | string): Promise<v2_0.IntentResolution>;
5869
5648
  /**
5870
5649
  * Adds a listener for incoming intents.
5871
5650
  * @param intent Name of the Intent
@@ -5873,33 +5652,33 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5873
5652
  *
5874
5653
  * @tutorial fdc3.addIntentListener
5875
5654
  */
5876
- addIntentListener(intent: string, handler: v2.IntentHandler): Promise<v1.Listener>;
5655
+ addIntentListener(intent: string, handler: v2_0.IntentHandler): Promise<v2_0.Listener>;
5877
5656
  /**
5878
5657
  * Returns a Channel object for the specified channel, creating it as an App Channel if it does not exist.
5879
5658
  * @param channelId
5880
5659
  *
5881
5660
  * @tutorial fdc3.getOrCreateChannel
5882
5661
  */
5883
- getOrCreateChannel(channelId: string): Promise<v2.Channel>;
5662
+ getOrCreateChannel(channelId: string): Promise<v2_0.Channel>;
5884
5663
  /**
5885
5664
  * Returns a Channel with an auto-generated identity that is intended for private communication between applications. Primarily used to create channels that will be returned to other applications via an IntentResolution for a raised intent.
5886
5665
  *
5887
5666
  * @tutorial fdc3v2.createPrivateChannel
5888
5667
  */
5889
- createPrivateChannel(): Promise<v2.PrivateChannel>;
5668
+ createPrivateChannel(): Promise<v2_0.PrivateChannel>;
5890
5669
  /**
5891
5670
  * Retrieves a list of the User Channels available for the app to join.
5892
5671
  *
5893
5672
  * @tutorial fdc3v2.getUserChannels
5894
5673
  */
5895
- getUserChannels(): Promise<Array<v1.SystemChannel>>;
5674
+ getUserChannels(): Promise<Array<v2_0.Channel>>;
5896
5675
  /**
5897
5676
  * Retrieves a list of the User Channels available for the app to join.
5898
5677
  *
5899
5678
  * @deprecated Please use {@link fdc3.getUserChannels fdc3.getUserChannels} instead
5900
5679
  * @tutorial fdc3.getSystemChannels
5901
5680
  */
5902
- getSystemChannels(): Promise<Array<v1.SystemChannel>>;
5681
+ getSystemChannels(): Promise<Array<v2_0.Channel>>;
5903
5682
  /**
5904
5683
  * Join an app to a specified User channel.
5905
5684
  * @param channelId Channel name
@@ -5920,23 +5699,83 @@ export declare class Fdc3Module2 extends Base implements v2.DesktopAgent {
5920
5699
  *
5921
5700
  * @tutorial fdc3.getCurrentChannel
5922
5701
  */
5923
- getCurrentChannel(): Promise<v2.Channel | null>;
5924
- /**
5925
- * Removes the app from any User channel membership.
5926
- *
5927
- * @tutorial fdc3.leaveCurrentChannel
5928
- */
5929
- leaveCurrentChannel(): Promise<void>;
5702
+ getCurrentChannel(): Promise<v2_0.Channel | null>;
5930
5703
  /**
5931
5704
  * Retrieves information about the FDC3 implementation, including the supported version of the FDC3 specification, the name of the provider of the implementation, its own version number, details of whether optional API features are implemented and the metadata of the calling application according to the desktop agent.
5932
5705
  * fdc3HandleGetInfo must be overridden in the InteropBroker so that the ImplementationMetadata will have the appMetadata info.
5933
5706
  *
5934
5707
  * @tutorial fdc3v2.getInfo
5935
5708
  */
5936
- getInfo(): Promise<v2.ImplementationMetadata>;
5709
+ getInfo(): Promise<v2_0.ImplementationMetadata>;
5710
+ }
5711
+
5712
+ declare class FDC3ModuleBase<ChannelType extends v1_2.Channel | v2_0.Channel> {
5713
+ #private;
5714
+ protected wire: Transport;
5715
+ protected get client(): InteropClient;
5716
+ protected get fin(): OpenFin.Fin;
5717
+ constructor(producer: () => InteropClient, wire: Transport);
5718
+ /**
5719
+ * Broadcasts a context for the channel of the current entity.
5720
+ * @param context - New context to set.
5721
+ *
5722
+ * @tutorial fdc3.broadcast
5723
+ * @static
5724
+ */
5725
+ broadcast(context: v1_2.Context): Promise<void>;
5726
+ /**
5727
+ * Launches an app with target information, which can either be a string or an AppMetadata object.
5728
+ * @param app
5729
+ * @param context
5730
+ *
5731
+ * @tutorial fdc3.open
5732
+ */
5733
+ protected _open(app: v1_2.TargetApp, context?: v1_2.Context): Promise<v2_0.AppIdentifier>;
5734
+ /**
5735
+ * Returns a Channel object for the specified channel, creating it as an App Channel if it does not exist.
5736
+ * @param channelId
5737
+ *
5738
+ * @tutorial fdc3.getOrCreateChannel
5739
+ */
5740
+ getOrCreateChannel(channelId: string): Promise<ChannelType>;
5741
+ /**
5742
+ * Returns the Interop-Broker-defined context groups available for an entity to join.
5743
+ *
5744
+ * @tutorial fdc3.getSystemChannels
5745
+ * @static
5746
+ */
5747
+ getSystemChannels(): Promise<ChannelType[]>;
5748
+ /**
5749
+ * Join all Interop Clients at the given identity to context group `contextGroupId`.
5750
+ * If no target is specified, it adds the sender to the context group.
5751
+ * Because multiple Channel connections/Interop Clients can potentially exist at a `uuid`/`name` combo, we currently join all Channel connections/Interop Clients at the given identity to the context group.
5752
+ * If an `endpointId` is provided (which is unlikely, unless the call is coming from an external adapter), then we only join that single connection to the context group.
5753
+ * For all intents and purposes, there will only be 1 connection present in Platform and Browser implementations, so this point is more-or-less moot.
5754
+ * @param channelId - Id of the context group.
5755
+ *
5756
+ * @tutorial fdc3.joinChannel
5757
+ * @static
5758
+ */
5759
+ joinChannel(channelId: string): Promise<void>;
5760
+ /**
5761
+ * Returns the Channel that the entity is subscribed to. Returns null if not joined to a channel.
5762
+ *
5763
+ * @tutorial fdc3.getCurrentChannel
5764
+ */
5765
+ getCurrentChannel(): Promise<ChannelType | null>;
5766
+ /**
5767
+ * Removes the specified target from a context group.
5768
+ * If no target is specified, it removes the sender from their context group.
5769
+ *
5770
+ * @tutorial fdc3.leaveCurrentChannel
5771
+ * @static
5772
+ */
5773
+ leaveCurrentChannel(): Promise<void>;
5774
+ private getCurrentContextGroupInfo;
5775
+ private buildChannelObject;
5937
5776
  }
5938
5777
 
5939
- export declare type Fdc3Version = '1.2' | '2.0';
5778
+ export declare type Fdc3Version = OpenFin.FDC3.Version;
5940
5779
 
5941
5780
  /**
5942
5781
  * @interface
@@ -5951,7 +5790,12 @@ declare type FetchManifestPayload = {
5951
5790
  /**
5952
5791
  * Whether file downloads raise a user prompt.
5953
5792
  */
5954
- declare type FileDownloadBehaviorNames = 'prompt' | 'no-prompt';
5793
+ declare type FileDownloadBehavior = 'prompt' | 'no-prompt';
5794
+
5795
+ /**
5796
+ * @deprecated Renamed to {@link FileDownloadBehavior}.
5797
+ */
5798
+ declare type FileDownloadBehaviorNames = FileDownloadBehavior;
5955
5799
 
5956
5800
  /**
5957
5801
  * Generated when a file download has completed.
@@ -6136,8 +5980,8 @@ declare type FindInPageResult = {
6136
5980
  /**
6137
5981
  * @interface
6138
5982
  */
6139
- declare type FindIntentsByContextOptions<MetadataType = IntentMetadata_3> = {
6140
- context: Context_3;
5983
+ declare type FindIntentsByContextOptions<MetadataType = IntentMetadata> = {
5984
+ context: Context;
6141
5985
  metadata?: MetadataType;
6142
5986
  };
6143
5987
 
@@ -6576,6 +6420,20 @@ declare class GoldenLayout_2 implements EventEmitter_2 {
6576
6420
 
6577
6421
  dropTargetIndicator: any;
6578
6422
 
6423
+ _isFullPage: boolean;
6424
+
6425
+ _onUnload: any;
6426
+
6427
+ tabDropPlaceholder: any;
6428
+
6429
+ transitionIndicator: any;
6430
+
6431
+ _dragSources: any;
6432
+
6433
+ _resizeFunction: any;
6434
+
6435
+ _unloadFunction: any;
6436
+
6579
6437
  /**
6580
6438
  * @param config A GoldenLayout configuration object
6581
6439
  * @param container The DOM element the layout will be initialised in. Default: document.body
@@ -6904,15 +6762,6 @@ declare type HotkeyEvent_2 = InputEvent_2 & BaseEvent_5 & {
6904
6762
  type: 'hotkey';
6905
6763
  };
6906
6764
 
6907
- declare interface Icon {
6908
- /** The icon url */
6909
- readonly src: string;
6910
- /** The icon dimension, formatted as `<height>x<width>`. */
6911
- readonly size?: string;
6912
- /** Icon media type. If not present the Desktop Agent may use the src file extension. */
6913
- readonly type?: string;
6914
- }
6915
-
6916
6765
  declare type Identity = OpenFin.Identity;
6917
6766
 
6918
6767
  declare type Identity_2 = OpenFin.Identity;
@@ -6971,17 +6820,6 @@ declare type IdleStateChangedEvent = BaseEvent_9 & {
6971
6820
  isIdle: boolean;
6972
6821
  };
6973
6822
 
6974
- declare interface Image_2 {
6975
- /** The image url. */
6976
- readonly src: string;
6977
- /** The image dimension, formatted as `<height>x<width>`. */
6978
- readonly size?: string;
6979
- /** Image media type. If not present the Desktop Agent may use the src file extension. */
6980
- readonly type?: string;
6981
- /** Caption for the image. */
6982
- readonly label?: string;
6983
- }
6984
-
6985
6823
  declare type ImageFormatOptions = {
6986
6824
  format: 'dataURL' | 'png' | 'bmp';
6987
6825
  } | {
@@ -6992,57 +6830,15 @@ declare type ImageFormatOptions = {
6992
6830
  quality?: number;
6993
6831
  };
6994
6832
 
6995
- /**
6996
- * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
6997
- */
6998
- declare interface ImplementationMetadata {
6999
- /** The version number of the FDC3 specification that the implementation provides.
7000
- * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
7001
- */
7002
- readonly fdc3Version: string;
7003
- /** The name of the provider of the FDC3 Desktop Agent Implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
7004
- readonly provider: string;
7005
- /** The version of the provider of the FDC3 Desktop Agent Implementation (e.g. 5.3.0). */
7006
- readonly providerVersion?: string;
7007
- }
7008
-
7009
- /**
7010
- * Metadata relating to the FDC3 Desktop Agent implementation and its provider.
7011
- */
7012
- declare interface ImplementationMetadata_2 {
7013
- /** The version number of the FDC3 specification that the implementation provides.
7014
- * The string must be a numeric semver version, e.g. 1.2 or 1.2.1.
7015
- */
7016
- readonly fdc3Version: string;
7017
- /** The name of the provider of the Desktop Agent implementation (e.g. Finsemble, Glue42, OpenFin etc.). */
7018
- readonly provider: string;
7019
- /** The version of the provider of the Desktop Agent implementation (e.g. 5.3.0). */
7020
- readonly providerVersion?: string;
7021
- /** Metadata indicating whether the Desktop Agent implements optional features of
7022
- * the Desktop Agent API.
7023
- */
7024
- readonly optionalFeatures: {
7025
- /** Used to indicate whether the exposure of 'originating app metadata' for
7026
- * context and intent messages is supported by the Desktop Agent. */
7027
- readonly OriginatingAppMetadata: boolean;
7028
- /** Used to indicate whether the optional `fdc3.joinUserChannel`,
7029
- * `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by
7030
- * the Desktop Agent. */
7031
- readonly UserChannelMembershipAPIs: boolean;
7032
- };
7033
- /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */
7034
- readonly appMetadata: AppMetadata_2;
7035
- }
7036
-
7037
6833
  /**
7038
6834
  * @interface
7039
6835
  */
7040
- declare type InfoForIntentOptions<MetadataType = IntentMetadata_3> = {
6836
+ declare type InfoForIntentOptions<MetadataType = IntentMetadata> = {
7041
6837
  /**
7042
6838
  * Name of the intent to get info for.
7043
6839
  */
7044
6840
  name: string;
7045
- context?: Context_3;
6841
+ context?: Context;
7046
6842
  metadata?: MetadataType;
7047
6843
  };
7048
6844
 
@@ -7150,16 +6946,10 @@ declare type InstalledApps_2 = {
7150
6946
  [key: string]: InstallationInfo;
7151
6947
  };
7152
6948
 
7153
- declare interface Intent {
7154
- name: string;
7155
- context: Context_2;
7156
- metadata: IntentMetadata_2;
7157
- }
7158
-
7159
6949
  /**
7160
6950
  * Combination of an action and a context that is passed to an application for resolution.
7161
6951
  */
7162
- declare type Intent_2<MetadataType = IntentMetadata_3> = {
6952
+ declare type Intent<MetadataType = IntentMetadata> = {
7163
6953
  /**
7164
6954
  * Name of the intent.
7165
6955
  */
@@ -7167,54 +6957,25 @@ declare type Intent_2<MetadataType = IntentMetadata_3> = {
7167
6957
  /**
7168
6958
  * Data associated with the intent.
7169
6959
  */
7170
- context: Context_3;
6960
+ context: Context;
7171
6961
  metadata?: MetadataType;
7172
6962
  };
7173
6963
 
7174
- declare type IntentHandler = (context: Context_2, metadata?: ContextMetadata) => Promise<IntentResult> | void;
7175
-
7176
6964
  /**
7177
6965
  * Subscription function for registerIntentHandler.
7178
6966
  */
7179
- declare type IntentHandler_2 = (intent: Intent_2) => void;
6967
+ declare type IntentHandler = (intent: Intent) => void;
7180
6968
 
7181
6969
  /**
7182
- * Intent descriptor
6970
+ * The type used to describe an intent within the platform.
6971
+ * @interface
7183
6972
  */
7184
- declare interface IntentMetadata {
7185
- /** The unique name of the intent that can be invoked by the raiseIntent call */
7186
- readonly name: string;
7187
- /** A friendly display name for the intent that should be used to render UI elements */
7188
- readonly displayName: string;
7189
- }
7190
-
7191
- declare type IntentMetadata_2<TargetType = any> = {
6973
+ declare type IntentMetadata<TargetType = any> = {
7192
6974
  target?: TargetType;
7193
6975
  resultType?: string;
7194
6976
  intentResolutionResultId?: string;
7195
6977
  };
7196
6978
 
7197
- /**
7198
- * The type used to describe an intent within the platform.
7199
- * @interface
7200
- */
7201
- declare type IntentMetadata_3<TargetType = any> = FDC3.v2.IntentMetadata<TargetType>;
7202
-
7203
- declare interface IntentResolution {
7204
- source: TargetApp;
7205
- data?: object;
7206
- version: string;
7207
- }
7208
-
7209
- declare interface IntentResolution_2 {
7210
- source: AppIdentifier;
7211
- intent: string;
7212
- version?: string;
7213
- getResult(): Promise<IntentResult>;
7214
- }
7215
-
7216
- declare type IntentResult = Context_2 | Channel_4 | PrivateChannel;
7217
-
7218
6979
  /**
7219
6980
  * A messaging bus that allows for pub/sub messaging between different applications.
7220
6981
  *
@@ -7460,7 +7221,6 @@ declare type InteropActionLoggingOption = {
7460
7221
  */
7461
7222
  declare class InteropBroker extends Base {
7462
7223
  #private;
7463
- private getProvider;
7464
7224
  private interopClients;
7465
7225
  private contextGroupsById;
7466
7226
  private intentClientMap;
@@ -7469,6 +7229,7 @@ declare class InteropBroker extends Base {
7469
7229
  private channel;
7470
7230
  private logging;
7471
7231
  /* Excluded from this release type: __constructor */
7232
+ private getProvider;
7472
7233
  static createClosedConstructor(...args: ConstructorParameters<typeof InteropBroker>): {
7473
7234
  new (): InteropBroker;
7474
7235
  };
@@ -7773,23 +7534,23 @@ declare class InteropBroker extends Base {
7773
7534
  * @param clientIdentity Identity of the Client making the request.
7774
7535
  */
7775
7536
  fdc3HandleOpen({ app, context }: {
7776
- app: FDC3.v1.TargetApp | FDC3.v2.AppIdentifier;
7537
+ app: FDC3.v1_2.TargetApp | FDC3.v2_0.AppIdentifier;
7777
7538
  context: OpenFin.Context;
7778
- }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2.AppIdentifier>;
7539
+ }, clientIdentity: OpenFin.ClientIdentity): Promise<void | FDC3.v2_0.AppIdentifier>;
7779
7540
  /**
7780
7541
  * Responsible for resolving the fdc3.findInstances call.
7781
7542
  * Must be overridden
7782
7543
  * @param app AppIdentifier that was passed to fdc3.findInstances
7783
7544
  * @param clientIdentity Identity of the Client making the request.
7784
7545
  */
7785
- fdc3HandleFindInstances(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7546
+ fdc3HandleFindInstances(app: FDC3.v2_0.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7786
7547
  /**
7787
7548
  * Responsible for resolving the fdc3.getAppMetadata call.
7788
7549
  * Must be overridden
7789
7550
  * @param app AppIdentifier that was passed to fdc3.getAppMetadata
7790
7551
  * @param clientIdentity Identity of the Client making the request.
7791
7552
  */
7792
- fdc3HandleGetAppMetadata(app: FDC3.v2.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7553
+ fdc3HandleGetAppMetadata(app: FDC3.v2_0.AppIdentifier, clientIdentity: OpenFin.ClientIdentity): Promise<unknown>;
7793
7554
  /**
7794
7555
  * This function is called by the Interop Broker whenever a Context handler would fire.
7795
7556
  * For FDC3 2.0 you would need to override this function and add the contextMetadata as
@@ -8091,9 +7852,7 @@ declare class InteropClient extends Base {
8091
7852
  * ```
8092
7853
  *
8093
7854
  *
8094
- * We are also testing the ability to add a context handler for specific contexts. If you would like to use
8095
- * this, please make sure you add your context handlers at the top level of your application, on a page that
8096
- * does not navigate/reload/re-render, to avoid memory leaks. This feature is experimental:
7855
+ * Passing in a context type as the second parameter will cause the handler to only be invoked with that context type.
8097
7856
  *
8098
7857
  * ```js
8099
7858
  * function handleInstrumentContext(contextInfo) {
@@ -8383,6 +8142,23 @@ declare class InteropClient extends Base {
8383
8142
  * ```
8384
8143
  */
8385
8144
  onDisconnection(listener: OpenFin.InteropClientOnDisconnectionListener): Promise<void>;
8145
+ /**
8146
+ * Returns a representation of this Interop Client as an FDC3 DesktopAgent matching the given version.
8147
+ * Note that this does not set a global FDC3 object, it only returns an instance of the FDC3 DesktopAgent.
8148
+ * This also does not raise the FDC3Ready event.
8149
+ */
8150
+ getFDC3Sync(version: '2.0'): OpenFin.FDC3.v2_0.DesktopAgent;
8151
+ getFDC3Sync(version: '1.2'): OpenFin.FDC3.v1_2.DesktopAgent;
8152
+ getFDC3Sync(version: OpenFin.FDC3.Version): OpenFin.FDC3.v1_2.DesktopAgent | OpenFin.FDC3.v2_0.DesktopAgent;
8153
+ /**
8154
+ *
8155
+ * Returns a representation of this Interop Client as an FDC3 DesktopAgent matching the given version.
8156
+ * Note that this does not set a global FDC3 object, it only returns an instance of the FDC3 DesktopAgent.
8157
+ * This also does not raise the FDC3Ready event.
8158
+ */
8159
+ getFDC3(version: '2.0'): Promise<OpenFin.FDC3.v2_0.DesktopAgent>;
8160
+ getFDC3(version: '1.2'): Promise<OpenFin.FDC3.v1_2.DesktopAgent>;
8161
+ getFDC3(version: OpenFin.FDC3.Version): Promise<OpenFin.FDC3.v1_2.DesktopAgent | OpenFin.FDC3.v2_0.DesktopAgent>;
8386
8162
  /* Excluded from this release type: ferryFdc3Call */
8387
8163
  }
8388
8164
 
@@ -9427,21 +9203,7 @@ declare type LayoutSnapshot = {
9427
9203
  */
9428
9204
  declare type LegacyWinOptionsInAppOptions = Pick<WindowCreationOptions, 'accelerator' | 'alwaysOnTop' | 'api' | 'aspectRatio' | 'autoplayPolicy' | 'autoShow' | 'backgroundColor' | 'contentNavigation' | 'contextMenu' | 'cornerRounding' | 'customData' | 'customRequestHeaders' | 'defaultCentered' | 'defaultHeight' | 'defaultLeft' | 'defaultTop' | 'defaultWidth' | 'frame' | 'hideOnClose' | 'icon' | 'maxHeight' | 'maximizable' | 'maxWidth' | 'minHeight' | 'minimizable' | 'minWidth' | 'opacity' | 'preloadScripts' | 'resizable' | 'resizeRegion' | 'saveWindowState' | 'ignoreSavedWindowState' | 'shadow' | 'showTaskbarIcon' | 'smallWindow' | 'state' | 'taskbarIconGroup' | 'waitForPageLoad' | '_internalWorkspaceData'>;
9429
9205
 
9430
- declare interface Listener {
9431
- /**
9432
- * Unsubscribe the listener object.
9433
- */
9434
- unsubscribe(): void;
9435
- }
9436
-
9437
- declare interface Listener_2 {
9438
- /**
9439
- * Unsubscribe the listener object.
9440
- */
9441
- unsubscribe(): void;
9442
- }
9443
-
9444
- declare type Listener_3<T extends {
9206
+ declare type Listener<T extends {
9445
9207
  type: string;
9446
9208
  }> = (payload: T) => void;
9447
9209
 
@@ -9830,7 +9592,7 @@ declare type MutableViewOptions = {
9830
9592
  /**
9831
9593
  * Configurations for API injection.
9832
9594
  */
9833
- api: Api;
9595
+ api: ApiSettings;
9834
9596
  /**
9835
9597
  * Restrict navigation to URLs that match an allowed pattern.
9836
9598
  * In the lack of an allowlist, navigation to URLs that match a denylisted pattern would be prohibited.
@@ -10208,6 +9970,7 @@ declare namespace OpenFin {
10208
9970
  export {
10209
9971
  FinApi,
10210
9972
  Fin,
9973
+ FDC3,
10211
9974
  Application,
10212
9975
  ApplicationModule,
10213
9976
  ExternalApplication,
@@ -10259,11 +10022,11 @@ declare namespace OpenFin {
10259
10022
  CustomProtocolOptions,
10260
10023
  InteropBrokerOptions,
10261
10024
  ContextGroupInfo,
10262
- DisplayMetadata_3 as DisplayMetadata,
10025
+ DisplayMetadata,
10263
10026
  LegacyWinOptionsInAppOptions,
10264
10027
  Snapshot,
10265
10028
  ContextGroupStates,
10266
- Context_3 as Context,
10029
+ Context,
10267
10030
  MonitorInfo,
10268
10031
  Point,
10269
10032
  PointTopLeft,
@@ -10290,6 +10053,7 @@ declare namespace OpenFin {
10290
10053
  ResizeRegion,
10291
10054
  Accelerator,
10292
10055
  Api,
10056
+ ApiSettings,
10293
10057
  InjectionType,
10294
10058
  NavigationRules,
10295
10059
  ContentNavigation,
@@ -10396,6 +10160,7 @@ declare namespace OpenFin {
10396
10160
  AppVersionError,
10397
10161
  AppVersionRuntimeInfo,
10398
10162
  LaunchEmitter,
10163
+ UserAppConfigArgs,
10399
10164
  RvmLaunchOptions,
10400
10165
  ShortCutConfig,
10401
10166
  TerminateExternalRequestType,
@@ -10441,14 +10206,19 @@ declare namespace OpenFin {
10441
10206
  DefaultDomainSettingsRule,
10442
10207
  DomainSettings,
10443
10208
  ApiInjection,
10209
+ DomainApiSettings,
10210
+ ContentPermission,
10211
+ PerDomainSettings,
10444
10212
  DomainSettingsRule,
10213
+ FileDownloadBehavior,
10445
10214
  FileDownloadBehaviorNames,
10446
10215
  FileDownloadSettings,
10447
10216
  DownloadRule,
10448
- ContextHandler_3 as ContextHandler,
10449
- Intent_2 as Intent,
10450
- IntentMetadata_3 as IntentMetadata,
10451
- IntentHandler_2 as IntentHandler,
10217
+ ContextHandler,
10218
+ Intent,
10219
+ IntentMetadata,
10220
+ IntentHandler,
10221
+ ContentCreationBehavior,
10452
10222
  ContentCreationBehaviorNames,
10453
10223
  MatchPattern,
10454
10224
  BaseContentCreationRule,
@@ -10668,6 +10438,31 @@ declare type Payload_9<Type extends EventType_8> = Extract<Event_11, {
10668
10438
  type: Type;
10669
10439
  }>;
10670
10440
 
10441
+ /**
10442
+ * @interface
10443
+ *
10444
+ * Conditional settings for a domain or set of domains.
10445
+ */
10446
+ declare type PerDomainSettings = {
10447
+ /**
10448
+ * {@inheritDoc FileDownloadSettings}
10449
+ *
10450
+ * @remarks See: https://developers.openfin.co/of-docs/docs/file-download#manifest-properties-for-file-downloads
10451
+ */
10452
+ downloadSettings?: FileDownloadSettings;
10453
+ /**
10454
+ * {@inheritDoc ApiInjection}
10455
+ */
10456
+ api?: DomainApiSettings;
10457
+ /**
10458
+ * Whether DOM content can be loaded (by navigation or redirect).
10459
+ *
10460
+ * @remarks If this is included in {@link DomainSettings.default}, then {@link ContentNavigation} and
10461
+ * {@link ContentRedirect} will be **ignored**.
10462
+ */
10463
+ content?: ContentPermission;
10464
+ };
10465
+
10671
10466
  /**
10672
10467
  * Generated when window finishes loading. Provides performance and navigation data.
10673
10468
  * @interface
@@ -12404,14 +12199,6 @@ declare type PrintOptions = {
12404
12199
  dpi?: Dpi;
12405
12200
  };
12406
12201
 
12407
- declare type PrivateChannel = Omit<Channel_4, 'addContextListener'> & {
12408
- addContextListener(contextType: string | null, handler: ContextHandler_2): Promise<Listener_2>;
12409
- onAddContextListener(handler: (contextType?: string) => void): Listener_2;
12410
- onUnsubscribe(handler: (contextType?: string) => void): Listener_2;
12411
- onDisconnect(handler: () => void): Listener_2;
12412
- disconnect(): void;
12413
- };
12414
-
12415
12202
  /**
12416
12203
  * Strategy to assign views to process affinity by domain.
12417
12204
  *
@@ -13180,7 +12967,7 @@ declare type RunRequestedEvent = OpenFin.ApplicationEvents.RunRequestedEvent;
13180
12967
  declare type RunRequestedEvent_2 = BaseEvents.IdentityEvent & {
13181
12968
  topic: 'application';
13182
12969
  type: 'run-requested';
13183
- userAppConfigArgs: Record<string, any>;
12970
+ userAppConfigArgs: OpenFin.UserAppConfigArgs;
13184
12971
  manifest: OpenFin.Manifest;
13185
12972
  };
13186
12973
 
@@ -13295,7 +13082,7 @@ declare type RvmLaunchOptions = {
13295
13082
  * True if no UI when launching
13296
13083
  */
13297
13084
  noUi?: boolean;
13298
- userAppConfigArgs?: object;
13085
+ userAppConfigArgs?: UserAppConfigArgs;
13299
13086
  /**
13300
13087
  * Timeout in seconds until RVM launch request expires.
13301
13088
  */
@@ -13377,19 +13164,19 @@ declare type SessionContextGroup = {
13377
13164
  * A SessionContextGroup instance method for setting a context in the SessionContextGroup.
13378
13165
  * @param context The Context to be set.
13379
13166
  */
13380
- setContext: (context: Context_3) => Promise<void>;
13167
+ setContext: (context: Context) => Promise<void>;
13381
13168
  /**
13382
13169
  * A SessionContextGroup instance method for getting the current context of a certain type.
13383
13170
  * @param type The Context Type to get. If not specified the last contextType set would get used.
13384
13171
  */
13385
- getCurrentContext: (type?: string) => Promise<Context_3>;
13172
+ getCurrentContext: (type?: string) => Promise<Context>;
13386
13173
  /**
13387
13174
  * A SessionContextGroup instance method for adding a handler for context change.
13388
13175
  * @param handler The callback to be invoked. Is invoked when (a) the context changes or (b) immediately after getting created if the context is already set.
13389
13176
  * @param contextType The context type this handler should listen to. If not specified, a global handler for all context types will get created. Only one global handler is allowed per SessionContextGroup.
13390
13177
  *
13391
13178
  */
13392
- addContextHandler: (handler: ContextHandler_3, contextType?: string) => Promise<{
13179
+ addContextHandler: (handler: ContextHandler, contextType?: string) => Promise<{
13393
13180
  unsubscribe: () => void;
13394
13181
  }>;
13395
13182
  };
@@ -15276,12 +15063,6 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
15276
15063
  setDomainSettings(domainSettings: OpenFin.DefaultDomainSettings): Promise<void>;
15277
15064
  }
15278
15065
 
15279
- declare type SystemChannel = Omit<Channel_3, 'addContextListener' | 'broadcast' | 'getCurrentContext'> & {
15280
- addContextListener(): Error;
15281
- broadcast(): Error;
15282
- getCurrentContext(): Error;
15283
- };
15284
-
15285
15066
  /**
15286
15067
  * @deprecated Renamed to {@link Event}.
15287
15068
  */
@@ -15553,8 +15334,6 @@ declare class TabStack extends LayoutNode {
15553
15334
  setActiveView: (view: OpenFin.Identity) => Promise<void>;
15554
15335
  }
15555
15336
 
15556
- declare type TargetApp = string | AppMetadata;
15557
-
15558
15337
  /**
15559
15338
  * Generated when a View changes its window target.
15560
15339
  * @remarks This event will fire during creation of a View.
@@ -15752,13 +15531,13 @@ declare type tween = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-i
15752
15531
  declare interface TypedEventEmitter<Event extends {
15753
15532
  type: string;
15754
15533
  }, EmitterEventType = Event['type']> {
15755
- on<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15534
+ on<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15756
15535
  type: EventType;
15757
15536
  }>>): this;
15758
- addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15537
+ addListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15759
15538
  type: EventType;
15760
15539
  }>>): this;
15761
- removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener_3<Extract<Event, {
15540
+ removeListener<EventType extends EmitterEventType>(event: EventType, listener: Listener<Extract<Event, {
15762
15541
  type: EventType;
15763
15542
  }>>): this;
15764
15543
  removeAllListeners<EventType extends EmitterEventType>(event?: EmitterEventType): this;
@@ -15801,6 +15580,11 @@ declare type UrlChangedEvent = BaseUrlEvent & ({
15801
15580
  httpStatusText: string;
15802
15581
  });
15803
15582
 
15583
+ /**
15584
+ * @interface
15585
+ */
15586
+ declare type UserAppConfigArgs = Record<string, string | string[]>;
15587
+
15804
15588
  /**
15805
15589
  * A general user bounds change event without event type.
15806
15590
  * @interface
@@ -15829,45 +15613,102 @@ declare type UserMovementEnabledEvent = BaseEvent_5 & {
15829
15613
  type: 'user-movement-enabled';
15830
15614
  };
15831
15615
 
15832
- declare namespace v1 {
15833
- export {
15834
- Listener,
15835
- AppMetadata,
15836
- IntentMetadata,
15616
+ declare namespace v1_2 {
15617
+ {
15837
15618
  AppIntent,
15619
+ AppMetadata,
15838
15620
  DisplayMetadata,
15621
+ OpenError,
15622
+ ResolveError,
15623
+ ChannelError,
15839
15624
  ImplementationMetadata,
15840
- ContextHandler,
15841
- TargetApp,
15625
+ IntentMetadata,
15626
+ Listener,
15627
+ ContextTypes,
15628
+ ContextType,
15842
15629
  Context,
15630
+ ContactList,
15631
+ Contact,
15632
+ ContactID,
15633
+ InstrumentList,
15634
+ Instrument,
15635
+ InstrumentID,
15636
+ Country,
15637
+ CountryID,
15638
+ Organization,
15639
+ OrganizationID,
15640
+ Portfolio,
15641
+ Position,
15642
+ Convert,
15643
+ Intents,
15644
+ Channel,
15645
+ DesktopAgent,
15843
15646
  IntentResolution,
15844
- Channel_3 as Channel,
15845
- SystemChannel,
15846
- DesktopAgent
15647
+ TargetApp,
15648
+ ContextHandler
15847
15649
  }
15848
15650
  }
15849
15651
 
15850
- declare namespace v2 {
15851
- export {
15852
- IntentMetadata_2 as IntentMetadata,
15652
+ declare namespace v2_0 {
15653
+ {
15853
15654
  AppIdentifier,
15854
- Listener_2 as Listener,
15855
15655
  AppIntent_2 as AppIntent,
15856
- ImplementationMetadata_2 as ImplementationMetadata,
15656
+ AppMetadata_2 as AppMetadata,
15857
15657
  ContextMetadata,
15658
+ DisplayMetadata_2 as DisplayMetadata,
15659
+ OpenError_2 as OpenError,
15660
+ ResolveError_2 as ResolveError,
15661
+ ResultError,
15662
+ ChannelError_2 as ChannelError,
15858
15663
  Icon,
15859
15664
  Image_2 as Image,
15860
- AppMetadata_2 as AppMetadata,
15861
- DisplayMetadata_2 as DisplayMetadata,
15862
- ContextHandler_2 as ContextHandler,
15863
- IntentHandler,
15864
- IntentResult,
15665
+ ImplementationMetadata_2 as ImplementationMetadata,
15666
+ IntentMetadata_2 as IntentMetadata,
15667
+ Listener_2 as Listener,
15668
+ ContextTypes_2 as ContextTypes,
15669
+ ContextType_2 as ContextType,
15670
+ Chart,
15671
+ InstrumentElement,
15672
+ PurpleID,
15673
+ PurpleMarket,
15674
+ TimeRangeObject,
15675
+ Style,
15676
+ ChatInitSettings,
15677
+ ContactListObject,
15678
+ ContactElement,
15679
+ FluffyID,
15680
+ Contact_2 as Contact,
15681
+ TentacledID,
15682
+ ContactList_2 as ContactList,
15865
15683
  Context_2 as Context,
15866
- Intent,
15684
+ Country_2 as Country,
15685
+ CountryID_2 as CountryID,
15686
+ Currency,
15687
+ CurrencyID,
15688
+ Email,
15689
+ RecipientsObject,
15690
+ RecipientsID,
15691
+ Instrument_2 as Instrument,
15692
+ StickyID,
15693
+ FluffyMarket,
15694
+ InstrumentList_2 as InstrumentList,
15695
+ Nothing,
15696
+ Organization_2 as Organization,
15697
+ OrganizationID_2 as OrganizationID,
15698
+ Portfolio_2 as Portfolio,
15699
+ PositionElement,
15700
+ Position_2 as Position,
15701
+ TimeRange,
15702
+ Valuation,
15703
+ Convert_2 as Convert,
15704
+ Intents_2 as Intents,
15705
+ Channel_2 as Channel,
15706
+ DesktopAgent_2 as DesktopAgent,
15867
15707
  IntentResolution_2 as IntentResolution,
15868
- Channel_4 as Channel,
15869
15708
  PrivateChannel,
15870
- DesktopAgent_2 as DesktopAgent
15709
+ ContextHandler_2 as ContextHandler,
15710
+ IntentResult,
15711
+ IntentHandler
15871
15712
  }
15872
15713
  }
15873
15714
 
@@ -15876,6 +15717,13 @@ declare type VerboseWebPermission = {
15876
15717
  enabled: boolean;
15877
15718
  };
15878
15719
 
15720
+ declare type Version = (typeof versions)[keyof typeof versions];
15721
+
15722
+ declare const versions: {
15723
+ readonly v1_2: "1.2";
15724
+ readonly v2_0: "2.0";
15725
+ };
15726
+
15879
15727
  declare type View = OpenFin.View;
15880
15728
 
15881
15729
  /**
@@ -17577,10 +17425,12 @@ declare namespace WebContentsEvents {
17577
17425
  FileDownloadStartedEvent,
17578
17426
  FileDownloadProgressEvent,
17579
17427
  FileDownloadCompletedEvent,
17428
+ ContentBlockedEvent,
17580
17429
  Event_5 as Event,
17581
17430
  WebContentsEvent,
17582
17431
  WillPropagateWebContentsEvent,
17583
- NonPropagatedWebContentsEvent
17432
+ NonPropagatedWebContentsEvent,
17433
+ WillRedirectEvent
17584
17434
  }
17585
17435
  }
17586
17436
 
@@ -17658,14 +17508,15 @@ declare type WillPropagateWebContentsEvent = Event_5<string>;
17658
17508
  declare type WillPropagateWindowEvent = WindowSourcedEvent;
17659
17509
 
17660
17510
  /**
17661
- * Generated when window is being redirected as per contentRedirect allowlist/denylist rules.
17511
+ * Generated whenever a redirection occurs.
17662
17512
  * @interface
17663
17513
  */
17664
- declare type WillRedirectEvent = BaseEvent_5 & {
17514
+ declare type WillRedirectEvent = NamedEvent & {
17665
17515
  type: 'will-redirect';
17666
17516
  blocked: boolean;
17667
17517
  isInPlace: boolean;
17668
17518
  url: string;
17519
+ isMainFrame: boolean;
17669
17520
  };
17670
17521
 
17671
17522
  /**
@@ -17687,7 +17538,7 @@ declare type WillResizeEvent = WillMoveOrResizeEvent & {
17687
17538
  */
17688
17539
  declare class _Window extends WebContents<OpenFin.WindowEvent> {
17689
17540
  /* Excluded from this release type: __constructor */
17690
- /* Excluded from this release type: createWindow */
17541
+ createWindow(options: OpenFin.WindowCreationOptions): Promise<OpenFin.Window>;
17691
17542
  /**
17692
17543
  * Retrieves an array of frame info objects representing the main frame and any
17693
17544
  * iframes that are currently on the page.
@@ -18810,7 +18661,6 @@ declare namespace WindowEvents {
18810
18661
  AlertRequestedEvent,
18811
18662
  AuthRequestedEvent,
18812
18663
  EndLoadEvent,
18813
- WillRedirectEvent,
18814
18664
  ReloadedEvent,
18815
18665
  OptionsChangedEvent,
18816
18666
  WindowOptionsChangedEvent_2 as WindowOptionsChangedEvent,
@@ -19066,7 +18916,7 @@ declare type WindowShowRequestedEvent = ShowRequestedEvent;
19066
18916
  * A union of all events that emit natively on the `Window` topic, i.e. excluding those that propagate
19067
18917
  * from {@link OpenFin.ViewEvents}.
19068
18918
  */
19069
- 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;
18919
+ 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 | WillResizeEvent | ShowAllDownloadsEvent | DownloadShelfVisibilityChangedEvent;
19070
18920
 
19071
18921
  /**
19072
18922
  * Generated when a child window starts loading.
@@ -19121,6 +18971,32 @@ declare type WithPositioningOptions<T extends {} = {}> = T & {
19121
18971
  positioningOptions?: OpenFin.PositioningOptions;
19122
18972
  };
19123
18973
 
18974
+ declare type WithUserAppConfigArgs = {
18975
+ /**
18976
+ * Represents the key-value pairs for the parameters passed into any fin:// or fins:// link
18977
+ * that launches this application.
18978
+ *
18979
+ * @remarks
18980
+ * In the link, user defined parameters are separated by the `$$` delimeter, for example:
18981
+ * `fins://path.to/app/manifest.json?$$use-last-configuration=true`
18982
+ *
18983
+ * Results in the following object:
18984
+ * ```json
18985
+ * {
18986
+ * "use-last-configuration": true"
18987
+ * }
18988
+ * ```
18989
+ *
18990
+ * These args can be accessed via the {@link ApplicationInfo.initialOptions} object:
18991
+ * ```typescript
18992
+ * const appInfo = await fin.Application.getCurrentSync().getInfo();
18993
+ * const { userAppConfigArgs } = appInfo.initialOptions;
18994
+ * console.log(userAppConfigArgs['use-last-configuration']); // 'true'
18995
+ * ```
18996
+ */
18997
+ userAppConfigArgs?: UserAppConfigArgs;
18998
+ };
18999
+
19124
19000
  /* Excluded from this release type: WorkspacePlatformOptions */
19125
19001
 
19126
19002
  /**