@jbrowse/product-core 4.3.0 → 5.0.0-beta.10

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.
Files changed (157) hide show
  1. package/esm/RootModel/BaseRootModel.d.ts +514 -323
  2. package/esm/RootModel/BaseRootModel.js +141 -14
  3. package/esm/RootModel/HierarchicalConfig.d.ts +30 -20
  4. package/esm/RootModel/HierarchicalConfig.js +36 -0
  5. package/esm/RootModel/InternetAccounts.d.ts +18 -1
  6. package/esm/RootModel/InternetAccounts.js +120 -22
  7. package/esm/RootModel/PreferencesConfig.d.ts +37 -0
  8. package/esm/RootModel/PreferencesConfig.js +75 -0
  9. package/esm/RootModel/createConfigModel.d.ts +257 -0
  10. package/esm/RootModel/createConfigModel.js +77 -0
  11. package/esm/RootModel/index.d.ts +10 -5
  12. package/esm/RootModel/index.js +10 -5
  13. package/esm/RootModel/menuItems.d.ts +24 -0
  14. package/esm/RootModel/menuItems.js +141 -0
  15. package/esm/Session/BaseSession.d.ts +285 -11
  16. package/esm/Session/BaseSession.js +383 -15
  17. package/esm/Session/Connections.d.ts +115 -8
  18. package/esm/Session/Connections.js +196 -74
  19. package/esm/Session/DrawerWidgets.d.ts +145 -13
  20. package/esm/Session/DrawerWidgets.js +219 -49
  21. package/esm/Session/MultipleViews.d.ts +1067 -1177
  22. package/esm/Session/MultipleViews.js +395 -64
  23. package/esm/Session/Preferences.d.ts +1389 -0
  24. package/esm/Session/Preferences.js +58 -0
  25. package/esm/Session/ReferenceManagement.d.ts +28 -3
  26. package/esm/Session/ReferenceManagement.js +56 -41
  27. package/esm/Session/SessionTracks.d.ts +1101 -1180
  28. package/esm/Session/SessionTracks.js +584 -34
  29. package/esm/Session/Themes.d.ts +136 -2
  30. package/esm/Session/Themes.js +267 -21
  31. package/esm/Session/TrackMenu.d.ts +88 -0
  32. package/esm/Session/TrackMenu.js +175 -0
  33. package/esm/Session/TrackMenuSessionMixin.d.ts +27 -0
  34. package/esm/Session/TrackMenuSessionMixin.js +42 -0
  35. package/esm/Session/Tracks.d.ts +945 -1159
  36. package/esm/Session/Tracks.js +229 -30
  37. package/esm/Session/assertSessionModel.d.ts +21 -0
  38. package/esm/Session/assertSessionModel.js +1 -0
  39. package/esm/Session/copyTrackSnapshot.d.ts +21 -0
  40. package/esm/Session/copyTrackSnapshot.js +20 -0
  41. package/esm/Session/developerMode.d.ts +7 -0
  42. package/esm/Session/developerMode.js +43 -0
  43. package/esm/Session/finalizeSession.d.ts +15 -0
  44. package/esm/Session/finalizeSession.js +28 -0
  45. package/esm/Session/hydratedForms.d.ts +16 -0
  46. package/esm/Session/hydratedForms.js +13 -0
  47. package/esm/Session/index.d.ts +27 -10
  48. package/esm/Session/index.js +16 -10
  49. package/esm/Session/pluginExtraTrackItems.d.ts +11 -0
  50. package/esm/Session/pluginExtraTrackItems.js +13 -0
  51. package/esm/Session/readdedTrackConf.d.ts +8 -0
  52. package/esm/Session/readdedTrackConf.js +24 -0
  53. package/esm/Session/shareableSnapshot.d.ts +23 -0
  54. package/esm/Session/shareableSnapshot.js +66 -0
  55. package/esm/Session/temporaryAssemblyTracks.d.ts +24 -0
  56. package/esm/Session/temporaryAssemblyTracks.js +37 -0
  57. package/esm/assertExtends.d.ts +55 -0
  58. package/esm/assertExtends.js +1 -0
  59. package/esm/controllerTracks.d.ts +76 -0
  60. package/esm/controllerTracks.js +125 -0
  61. package/esm/destroyViewState.d.ts +21 -0
  62. package/esm/destroyViewState.js +29 -0
  63. package/esm/embeddedController.d.ts +57 -0
  64. package/esm/embeddedController.js +100 -0
  65. package/esm/index.d.ts +32 -4
  66. package/esm/index.js +31 -4
  67. package/esm/loadPlugins.d.ts +38 -0
  68. package/esm/loadPlugins.js +45 -0
  69. package/esm/localFiles.d.ts +74 -0
  70. package/esm/localFiles.js +156 -0
  71. package/esm/observeSession.d.ts +55 -0
  72. package/esm/observeSession.js +90 -0
  73. package/esm/parallelChunkLoading.d.ts +30 -0
  74. package/esm/parallelChunkLoading.js +71 -0
  75. package/esm/pluginInput.d.ts +32 -0
  76. package/esm/pluginInput.js +19 -0
  77. package/esm/pruneUnbuildableNodes.d.ts +109 -0
  78. package/esm/pruneUnbuildableNodes.js +562 -0
  79. package/esm/resolveAssemblies.d.ts +68 -0
  80. package/esm/resolveAssemblies.js +77 -0
  81. package/esm/rpcWorker.d.ts +36 -4
  82. package/esm/rpcWorker.js +126 -20
  83. package/esm/sessionMigrations/index.d.ts +15 -0
  84. package/esm/sessionMigrations/index.js +178 -0
  85. package/esm/sessionUrl.d.ts +40 -0
  86. package/esm/sessionUrl.js +66 -0
  87. package/esm/sessionUtils.d.ts +74 -0
  88. package/esm/sessionUtils.js +599 -0
  89. package/esm/siblingCast.d.ts +14 -0
  90. package/esm/siblingCast.js +16 -0
  91. package/esm/snapshotUtils.d.ts +8 -0
  92. package/esm/snapshotUtils.js +12 -0
  93. package/esm/ui/AboutDialog.d.ts +8 -3
  94. package/esm/ui/AboutDialog.js +14 -5
  95. package/esm/ui/AboutDialogContents.d.ts +2 -6
  96. package/esm/ui/AboutDialogContents.js +13 -17
  97. package/esm/ui/AssemblyInfoPanel.d.ts +5 -0
  98. package/esm/ui/AssemblyInfoPanel.js +63 -0
  99. package/esm/ui/DescriptionPanel.d.ts +3 -0
  100. package/esm/ui/DescriptionPanel.js +25 -0
  101. package/esm/ui/Drawer.d.ts +21 -0
  102. package/esm/ui/Drawer.js +60 -0
  103. package/esm/ui/DrawerControls.d.ts +5 -0
  104. package/esm/ui/DrawerControls.js +28 -0
  105. package/esm/ui/DrawerHeader.d.ts +6 -0
  106. package/esm/ui/DrawerHeader.js +36 -0
  107. package/esm/ui/DrawerWidget.d.ts +5 -0
  108. package/esm/ui/DrawerWidget.js +12 -0
  109. package/esm/ui/DrawerWidgetSelector.d.ts +5 -0
  110. package/esm/ui/DrawerWidgetSelector.js +40 -0
  111. package/esm/ui/FileInfoPanel.d.ts +3 -6
  112. package/esm/ui/FileInfoPanel.js +36 -26
  113. package/esm/ui/GeneralPreferencesTab.d.ts +17 -0
  114. package/esm/ui/GeneralPreferencesTab.js +34 -0
  115. package/esm/ui/HeaderButtons.d.ts +2 -1
  116. package/esm/ui/HeaderButtons.js +15 -17
  117. package/esm/ui/ModalWidget.d.ts +13 -0
  118. package/esm/ui/ModalWidget.js +48 -0
  119. package/esm/ui/ModalWidgetAppBar.d.ts +8 -0
  120. package/esm/ui/ModalWidgetAppBar.js +9 -0
  121. package/esm/ui/PreferenceCheckbox.d.ts +6 -0
  122. package/esm/ui/PreferenceCheckbox.js +16 -0
  123. package/esm/ui/PreferencesDialog.d.ts +34 -0
  124. package/esm/ui/PreferencesDialog.js +55 -0
  125. package/esm/ui/PreferencesResetDialog.d.ts +8 -0
  126. package/esm/ui/PreferencesResetDialog.js +19 -0
  127. package/esm/ui/RefNameAliasesDialog.d.ts +9 -0
  128. package/esm/ui/RefNameAliasesDialog.js +65 -0
  129. package/esm/ui/RefNameInfoDialog.d.ts +3 -6
  130. package/esm/ui/RefNameInfoDialog.js +45 -63
  131. package/esm/ui/ViewPreferencesTab.d.ts +12 -0
  132. package/esm/ui/ViewPreferencesTab.js +15 -0
  133. package/esm/ui/WidgetBody.d.ts +18 -0
  134. package/esm/ui/WidgetBody.js +22 -0
  135. package/esm/ui/WidgetHeading.d.ts +7 -0
  136. package/esm/ui/WidgetHeading.js +7 -0
  137. package/esm/ui/aboutTestUtils.d.ts +140 -0
  138. package/esm/ui/aboutTestUtils.js +25 -0
  139. package/esm/ui/descriptionHtml.d.ts +25 -0
  140. package/esm/ui/descriptionHtml.js +64 -0
  141. package/esm/ui/drawerLayout.d.ts +18 -0
  142. package/esm/ui/drawerLayout.js +22 -0
  143. package/esm/ui/index.d.ts +15 -1
  144. package/esm/ui/index.js +13 -1
  145. package/esm/ui/preferencesReset.d.ts +18 -0
  146. package/esm/ui/preferencesReset.js +69 -0
  147. package/esm/ui/util.d.ts +22 -7
  148. package/esm/ui/util.js +19 -41
  149. package/esm/useEngineLifecycle.d.ts +19 -0
  150. package/esm/useEngineLifecycle.js +44 -0
  151. package/package.json +15 -18
  152. package/esm/RootModel/FormatAbout.d.ts +0 -12
  153. package/esm/RootModel/FormatAbout.js +0 -15
  154. package/esm/RootModel/FormatDetails.d.ts +0 -24
  155. package/esm/RootModel/FormatDetails.js +0 -27
  156. package/esm/Session/DialogQueue.d.ts +0 -17
  157. package/esm/Session/DialogQueue.js +0 -31
@@ -1,35 +1,309 @@
1
1
  import type { BaseRootModelType } from '../RootModel/BaseRootModel.ts';
2
+ import type { HeldNode } from '../pruneUnbuildableNodes.ts';
2
3
  import type PluginManager from '@jbrowse/core/PluginManager';
3
- import type { BaseAssemblyConfigSchema } from '@jbrowse/core/assemblyManager';
4
+ import type { BaseAssemblyConfigModel } from '@jbrowse/core/assemblyManager';
4
5
  import type { AnyConfigurationSchemaType } from '@jbrowse/core/configuration';
6
+ import type { AnimationMode, DialogComponentType, TrackConfigChange } from '@jbrowse/core/util';
7
+ import type { HighlightType } from '@jbrowse/core/util/highlights';
5
8
  import type { IAnyStateTreeNode, Instance } from '@jbrowse/mobx-state-tree';
6
- export declare function BaseSessionModel<ROOT_MODEL_TYPE extends BaseRootModelType, JB_CONFIG_SCHEMA extends AnyConfigurationSchemaType>(_pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<{
9
+ type DoneCallback = (doneCallback: () => void) => [DialogComponentType, Record<string, unknown>];
10
+ /**
11
+ * #stateModel BaseSessionModel
12
+ *
13
+ * base session shared by all JBrowse products. Be careful what you include
14
+ * here, everything will use it.
15
+ */
16
+ export declare function BaseSessionModel<ROOT_MODEL_TYPE extends BaseRootModelType, JB_CONFIG_SCHEMA extends AnyConfigurationSchemaType>(_pluginManager: PluginManager): import("@jbrowse/mobx-state-tree").IModelType<Omit<{
17
+ /**
18
+ * #property
19
+ */
7
20
  id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
21
+ /**
22
+ * #property
23
+ */
8
24
  name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
9
- margin: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
10
- }, {
25
+ /**
26
+ * #property
27
+ * used to keep track of which view is in focus
28
+ */
29
+ focusedViewId: import("@jbrowse/mobx-state-tree").IMaybe<import("@jbrowse/mobx-state-tree").ISimpleType<string>>;
30
+ /**
31
+ * #property
32
+ * translucent bands over genomic regions; every view draws the ones on
33
+ * its own assemblies
34
+ */
35
+ highlights: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IArrayType<import("@jbrowse/mobx-state-tree").IType<HighlightType, HighlightType, HighlightType>>, [undefined]>;
36
+ /**
37
+ * #property
38
+ */
39
+ highlightsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
40
+ /**
41
+ * #property
42
+ * whether a band's label is written on it
43
+ */
44
+ highlightLabelsVisible: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<boolean>, [undefined]>;
45
+ /**
46
+ * #property
47
+ * views, tracks, displays and widgets `pruneUnbuildableNodes` took out of
48
+ * the tree because this build has no plugin for their type, each with the
49
+ * anchor that puts it back. Nothing in the session reads its contents,
50
+ * and `pruneUnbuildableNodes` defines their structure.
51
+ *
52
+ * It is a **declared property** because MST drops undeclared snapshot
53
+ * keys without error. Without this declaration the held nodes survive
54
+ * the prune and are then discarded when `setSession` builds the tree,
55
+ * while every unit test of the prune still passes.
56
+ * `heldNodesSurviveTheSession.test.ts` tests that they survive.
57
+ */
58
+ heldForMissingPlugins: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").IType<HeldNode[] | undefined, HeldNode[] | undefined, HeldNode[] | undefined>, [undefined]>;
59
+ }, never>, {
60
+ /**
61
+ * #volatile
62
+ * this is the globally "selected" object. can be anything. code that
63
+ * wants to deal with this should examine it to see what kind of thing it
64
+ * is.
65
+ */
11
66
  selection: unknown;
67
+ /**
68
+ * #volatile
69
+ * this is the globally "hovered" object. can be anything. code that
70
+ * wants to deal with this should examine it to see what kind of thing it
71
+ * is.
72
+ */
12
73
  hovered: unknown;
74
+ /**
75
+ * #volatile
76
+ */
77
+ queueOfDialogs: [DialogComponentType, Record<string, unknown>][];
78
+ /**
79
+ * #volatile
80
+ * runtime user-preference overrides keyed by preference id, resolved by
81
+ * `getPreference` against the `configuration.preferences` admin defaults.
82
+ * Empty here (config-only); products that let users edit preferences load
83
+ * and persist these via localStorage. A runtime override map layered over
84
+ * config defaults, kept off the snapshot since prefs are local UI.
85
+ *
86
+ * An `observable.map` (not a plain object reassigned wholesale) so each
87
+ * preference is its own tracked key: writing one (`setScrollZoom`) can't
88
+ * invalidate a reader of another. A single spread-replaced object made
89
+ * every setter wake every reader, so toggling scroll-to-zoom re-fetched
90
+ * every track.
91
+ *
92
+ * `deep: false` keeps an object-valued preference a plain object rather
93
+ * than a MobX Proxy, which V8's structured-clone serializer rejects. The
94
+ * map still notifies per key on `set`, so shallow values lose no
95
+ * reactivity — and nothing can mutate a preference in place, because
96
+ * `setPreferenceOverride` freezes what it stores.
97
+ */
98
+ preferencesOverrides: import("mobx").ObservableMap<string, unknown>;
13
99
  } & {
100
+ /**
101
+ * #getter
102
+ */
14
103
  readonly root: import("@jbrowse/mobx-state-tree").TypeOrStateTreeNodeToStateTreeNode<ROOT_MODEL_TYPE>;
15
104
  } & {
105
+ /**
106
+ * #getter
107
+ */
16
108
  readonly jbrowse: any;
109
+ /**
110
+ * #getter
111
+ */
17
112
  readonly rpcManager: import("@jbrowse/core/rpc/RpcManager").default;
113
+ /**
114
+ * #getter
115
+ */
18
116
  readonly configuration: Instance<JB_CONFIG_SCHEMA>;
117
+ /**
118
+ * #getter
119
+ */
19
120
  readonly adminMode: boolean;
20
- readonly textSearchManager: import("@jbrowse/core/util").TextSearchManager;
121
+ /**
122
+ * #getter
123
+ */
124
+ readonly textSearchManager: import("@jbrowse/core/TextSearch/TextSearchManager").default;
21
125
  } & {
22
- readonly assemblies: Instance<BaseAssemblyConfigSchema>[];
126
+ /**
127
+ * #getter
128
+ */
129
+ readonly assemblies: BaseAssemblyConfigModel[];
130
+ /**
131
+ * #getter
132
+ */
133
+ readonly DialogComponent: DialogComponentType | undefined;
134
+ /**
135
+ * #getter
136
+ */
137
+ readonly DialogProps: Record<string, unknown> | undefined;
23
138
  } & {
139
+ /**
140
+ * #method
141
+ * the admin/embedder `configuration.preferences` value for a key, ignoring
142
+ * any runtime override — i.e. what a reset falls back to. Exposed rather
143
+ * than inlined because "differs from the default" is a question the
144
+ * Preferences reset diff asks about settings this map doesn't hold (see
145
+ * `defaultUseWorkspaces`).
146
+ */
147
+ getPreferenceDefault(key: string): unknown;
148
+ /**
149
+ * #method
150
+ * resolved value of a user preference: a runtime override if the user set
151
+ * one, otherwise the admin/embedder `configuration.preferences` default.
152
+ * The override map is empty unless the product loads it (web/desktop).
153
+ */
154
+ getPreference(key: string): unknown;
155
+ /**
156
+ * #method
157
+ * every scalar preference override that currently differs from its
158
+ * config/admin default, as `{ path, from, to }` rows whose path is the
159
+ * override's own key. A scalar pref (animationMode, scrollZoom) whose
160
+ * override equals the default is omitted, since reverting it is a no-op.
161
+ */
162
+ getPreferenceChanges(): TrackConfigChange[];
163
+ } & {
164
+ /**
165
+ * #getter
166
+ * resolved feature-layout animation mode (never undefined)
167
+ */
168
+ readonly animationMode: AnimationMode;
169
+ /**
170
+ * #getter
171
+ * resolved scroll-to-zoom preference. Global and personal (never shared in
172
+ * a session snapshot); every wheel-zoom view reads this single value.
173
+ */
174
+ readonly scrollZoom: boolean;
175
+ /**
176
+ * #getter
177
+ * resolved thousand-separator preference. Read for display in the
178
+ * Preferences dialog; the formatter itself reads a plain module variable
179
+ * set at startup in each realm (see `setNumberGrouping`), because worker-
180
+ * built strings can't see a main-thread observable.
181
+ */
182
+ readonly numberGrouping: boolean;
183
+ } & {
184
+ afterAttach(): void;
185
+ /**
186
+ * #action
187
+ * set the global selection, i.e. the globally-selected object. can be a
188
+ * feature, a view, just about anything
189
+ *
190
+ * A feature is unwrapped on the way in, so app state never holds a
191
+ * jexlFeatureProxy. `isFeature` accepts a proxy, but on one `id` is a
192
+ * data field rather than the method the Feature type promises — every
193
+ * consumer doing `isFeature(selection) ? selection.id() : …` would throw.
194
+ */
24
195
  setSelection(thing: unknown): void;
196
+ /**
197
+ * #action
198
+ * clears the global selection
199
+ */
25
200
  clearSelection(): void;
201
+ /**
202
+ * #action
203
+ */
26
204
  setHovered(thing: unknown): void;
27
- }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree").ModelSnapshotType<{
28
- id: import("@jbrowse/mobx-state-tree").IOptionalIType<import("@jbrowse/mobx-state-tree").ISimpleType<string>, [undefined]>;
29
- name: import("@jbrowse/mobx-state-tree").ISimpleType<string>;
30
- margin: import("@jbrowse/mobx-state-tree").IType<number | undefined, number, number>;
31
- }>>;
205
+ /**
206
+ * #action
207
+ */
208
+ setHighlightsVisible(arg: boolean): void;
209
+ /**
210
+ * #action
211
+ */
212
+ setHighlightLabelsVisible(arg: boolean): void;
213
+ /**
214
+ * #action
215
+ * an identical entry is not added twice, so a spec launched again does not
216
+ * stack its bands. Adding shows the bands again, since a highlight made
217
+ * while they are off would otherwise read as nothing happening
218
+ */
219
+ addHighlight(highlight: HighlightType): void;
220
+ /**
221
+ * #action
222
+ */
223
+ removeHighlight(highlight: HighlightType): void;
224
+ /**
225
+ * #action
226
+ */
227
+ updateHighlight(old: HighlightType, updates: Partial<HighlightType>): void;
228
+ /**
229
+ * #action
230
+ */
231
+ setHighlights(highlights: HighlightType[]): void;
232
+ /**
233
+ * #action
234
+ * set a runtime user-preference override (see `getPreference`). Mutates
235
+ * volatile state; products persist these to localStorage. An `undefined`
236
+ * value deletes the key (rather than leaving a phantom entry that
237
+ * `getPreference` reads as absent) so the store never holds dead keys.
238
+ */
239
+ setPreferenceOverride(key: string, value: unknown): void;
240
+ /**
241
+ * #action
242
+ * clear every runtime preference override at once, so each falls back to
243
+ * its config/admin default. Backs the Preferences dialog "Reset to
244
+ * defaults" button.
245
+ */
246
+ clearPreferenceOverrides(): void;
247
+ /**
248
+ * #action
249
+ * clear a single runtime preference override (see `getPreference`) so it
250
+ * falls back to its config/admin default. Backs the per-entry reset in the
251
+ * Preferences dialog "Reset to defaults" confirmation.
252
+ */
253
+ clearPreferenceOverride(key: string): void;
254
+ /**
255
+ * #action
256
+ * set the global scroll-to-zoom preference (see the `scrollZoom` getter)
257
+ */
258
+ setScrollZoom(flag: boolean): void;
259
+ /**
260
+ * #action
261
+ */
262
+ setName(str: string): void;
263
+ /**
264
+ * #action
265
+ * `undefined` is "no view is focused", which the property has always been
266
+ * able to hold (`types.maybe`) and this had no way to spell. Nothing
267
+ * cleared it on teardown as a result: a view that was focused when it left
268
+ * the session left its id behind, and since every consumer compares
269
+ * `focusedViewId === view.id`, the id matched nothing, the focus ring
270
+ * vanished with nothing to say why, and the dead id persisted into a saved
271
+ * or shared session. `takeOut` clears it now.
272
+ */
273
+ setFocusedViewId(viewId: string | undefined): void;
274
+ /**
275
+ * #action
276
+ */
277
+ removeActiveDialog(): void;
278
+ /**
279
+ * #action
280
+ */
281
+ queueDialog(doneCallback: DoneCallback): void;
282
+ /**
283
+ * #action
284
+ */
285
+ removeDialog(entry: [DialogComponentType, Record<string, unknown>]): void;
286
+ } & {
287
+ snackbarMessages: import("mobx").IObservableArray<import("@jbrowse/core/ui/SnackbarModel").SnackbarMessage>;
288
+ errorDialog: import("@jbrowse/core/ui/SnackbarModel").ErrorDialogState | undefined;
289
+ } & {
290
+ readonly snackbarMessageSet: Map<string, import("@jbrowse/core/ui/SnackbarModel").SnackbarMessage>;
291
+ } & {
292
+ notify(message: string, level?: import("@jbrowse/core/util").NotificationLevel, action?: import("@jbrowse/core/util").SnackAction | import("@jbrowse/core/util").SnackAction[]): void;
293
+ notifyError(errorMessage: string, error?: unknown, extra?: unknown, action?: import("@jbrowse/core/util").SnackAction): void;
294
+ setErrorDialog(state: import("@jbrowse/core/ui/SnackbarModel").ErrorDialogState | undefined): void;
295
+ pushSnackbarMessage(message: string, level?: import("@jbrowse/core/util").NotificationLevel, actions?: import("@jbrowse/core/util").SnackAction[]): void;
296
+ popSnackbarMessage(): import("@jbrowse/core/ui/SnackbarModel").SnackbarMessage | undefined;
297
+ removeSnackbarMessage(message: string): void;
298
+ } & {
299
+ afterAttach(): void;
300
+ }, import("@jbrowse/mobx-state-tree")._NotCustomized, import("@jbrowse/mobx-state-tree")._NotCustomized>;
301
+ /** Session mixin MST type for the most basic session */
32
302
  export type BaseSessionType = ReturnType<typeof BaseSessionModel>;
303
+ /** Instance of the most basic possible session */
33
304
  export type BaseSession = Instance<BaseSessionType>;
305
+ /** Type guard for BaseSession */
34
306
  export declare function isBaseSession(thing: IAnyStateTreeNode): thing is BaseSession;
307
+ /** Type guard for whether a thing is JBrowse session */
35
308
  export declare function isSession(thing: unknown): thing is BaseSession;
309
+ export {};