obsidian-typings 4.81.0 → 4.83.0

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.
package/README.md CHANGED
@@ -95,6 +95,12 @@ In most cases, we recommend to always use the latest release.
95
95
  >
96
96
  > If you run `npm install obsidian-typings` instead, the most likely, the library will not get updated.
97
97
 
98
+ > [!WARNING]
99
+ >
100
+ > The package installs several libraries that trigger `npm audit` warnings.
101
+ >
102
+ > Those packages cannot be updated because they should match the exact versions Obsidian uses internally.
103
+
98
104
  ### 2. Enable in `tsconfig.json` (recommended) <span id="add-types-setting-to-tsconfig-json"></span>
99
105
 
100
106
  Add `obsidian-typings` to the `types` array of your `tsconfig.json` to make all extended typings available globally without explicit importing them:
@@ -8,7 +8,7 @@ import type { Tree as LezerTree } from '@lezer/common';
8
8
  import type { App as App$1, BrowserWindow } from 'electron';
9
9
  import type { Mermaid } from 'mermaid';
10
10
  import type { FSWatcher } from 'node:fs';
11
- import type { App, BasesConfigFileFilter, BlockCache, CacheItem, CachedMetadata, CloseableComponent, ColorComponent, Command, Component, DataAdapter, Debouncer, EditableFileView, Editor, EditorPosition, EditorRange, EditorRangeOrCaret, EditorSuggest, EmbedCache, EventRef, Events, FileStats, FileView, FrontmatterLinkCache, FuzzySuggestModal, HoverLinkSource, HoverPopover, IconName, ItemView, KeymapInfo, LinkCache, MarkdownEditView, MarkdownFileInfo, MarkdownPostProcessorContext, MarkdownPreviewView, MarkdownView, Menu, Modal, PaneType, Plugin as Plugin, PluginManifest, PluginSettingTab, PopoverSuggest, Reference, ReferenceCache, RenderContext, Scope, SearchComponent, SearchResult, Setting, SettingTab, SplitDirection, TAbstractFile, TFile, TFolder, TextComponent, TextFileView, Vault, View, ViewCreator, ViewState, Workspace, WorkspaceLeaf, WorkspaceTabs, moment as moment$1 } from 'obsidian';
11
+ import type { App, BlockCache, CacheItem, CachedMetadata, CloseableComponent, ColorComponent, Command, Component, DataAdapter, Debouncer, EditableFileView, Editor, EditorPosition, EditorRange, EditorRangeOrCaret, EditorSuggest, EmbedCache, EventRef, Events, FileStats, FileView, FrontmatterLinkCache, FuzzySuggestModal, HoverLinkSource, HoverParent, HoverPopover, IconName, ItemView, KeymapInfo, LinkCache, MarkdownEditView, MarkdownFileInfo, MarkdownPostProcessorContext, MarkdownPreviewView, MarkdownView, Menu, Modal, PaneType, Plugin as Plugin, PluginManifest, PluginSettingTab, PopoverSuggest, Reference, ReferenceCache, RenderContext, Scope, SearchComponent, SearchResult, Setting, SettingTab, SplitDirection, TAbstractFile, TFile, TFolder, TextComponent, TextFileView, Vault, View, ViewCreator, ViewState, Workspace, WorkspaceLeaf, WorkspaceTabs, moment as moment$1 } from 'obsidian';
12
12
  import type { default as pdfjsLib } from 'pdfjs-dist';
13
13
  import type { Application, Container, Graphics, ICanvas, Sprite, Text as Text$1, TextStyle } from 'pixi.js';
14
14
  import type { default as Prism$1 } from 'prismjs';
@@ -1357,78 +1357,6 @@ export interface BacklinkView extends InfoFileView {
1357
1357
  */
1358
1358
  export interface BacklinkViewConstructor extends TypedViewConstructor<BacklinkView> {
1359
1359
  }
1360
- /**
1361
- * BasesConfigFileFilter `and` clause.
1362
- *
1363
- * @public
1364
- * @unofficial
1365
- */
1366
- export interface BasesConfigFileFilterAndClause {
1367
- /**
1368
- * All of the following filters must match.
1369
- *
1370
- * @public
1371
- * @since 1.10.0
1372
- * @example
1373
- * ```ts
1374
- * {
1375
- * and: [
1376
- * '*.md',
1377
- * '*.txt',
1378
- * ],
1379
- * }
1380
- * ```
1381
- */
1382
- and: BasesConfigFileFilter[];
1383
- }
1384
- /**
1385
- * BasesConfigFileFilter `not` clause.
1386
- *
1387
- * @public
1388
- * @unofficial
1389
- */
1390
- export interface BasesConfigFileFilterNotClause {
1391
- /**
1392
- * None of the following filters should match.
1393
- *
1394
- * @public
1395
- * @since 1.10.0
1396
- * @example
1397
- * ```ts
1398
- * {
1399
- * not: [
1400
- * '*.md',
1401
- * '*.txt',
1402
- * ],
1403
- * }
1404
- * ```
1405
- */
1406
- not: BasesConfigFileFilter[];
1407
- }
1408
- /**
1409
- * BasesConfigFileFilter `or` clause.
1410
- *
1411
- * @public
1412
- * @unofficial
1413
- */
1414
- export interface BasesConfigFileFilterOrClause {
1415
- /**
1416
- * Some of the following filters should match.
1417
- *
1418
- * @public
1419
- * @since 1.10.0
1420
- * @example
1421
- * ```ts
1422
- * {
1423
- * or: [
1424
- * '*.md',
1425
- * '*.txt',
1426
- * ],
1427
- * }
1428
- * ```
1429
- */
1430
- or: BasesConfigFileFilter[];
1431
- }
1432
1360
  /**
1433
1361
  * Bases context
1434
1362
  *
@@ -7304,24 +7232,39 @@ export interface HotkeysSettingTab extends SettingTab {
7304
7232
  export interface HourFunction extends BasesFunction, HasExtract {
7305
7233
  }
7306
7234
  /**
7307
- * @todo Documentation incomplete.
7235
+ * Event triggered when a link is hovered.
7236
+ *
7308
7237
  * @public
7309
7238
  * @unofficial
7310
7239
  */
7311
7240
  export interface HoverLinkEvent {
7312
- /** @todo Documentation incomplete. */
7241
+ /**
7242
+ * The mouse event.
7243
+ */
7313
7244
  event: MouseEvent;
7314
- /** @todo Documentation incomplete. */
7315
- hoverParent: WorkspaceLeaf;
7316
- /** @todo Documentation incomplete. */
7245
+ /**
7246
+ * The hover parent.
7247
+ */
7248
+ hoverParent: HoverParent;
7249
+ /**
7250
+ * The link text.
7251
+ */
7317
7252
  linktext: string;
7318
- /** @todo Documentation incomplete. */
7253
+ /**
7254
+ * The source of the event.
7255
+ */
7319
7256
  source: "search" | "editor" | "preview" | "properties" | "graph" | "file-explorer" | "hover-link";
7320
- /** @todo Documentation incomplete. */
7257
+ /**
7258
+ * The source path.
7259
+ */
7321
7260
  sourcePath?: string;
7322
- /** @todo Documentation incomplete. */
7261
+ /**
7262
+ * The state of the event.
7263
+ */
7323
7264
  state?: HoverLinkEventState;
7324
- /** @todo Documentation incomplete. */
7265
+ /**
7266
+ * The target element.
7267
+ */
7325
7268
  targetEl: HTMLElement | null;
7326
7269
  }
7327
7270
  /**
@@ -10298,6 +10241,97 @@ export interface RecentFileTracker {
10298
10241
  */
10299
10242
  serialize(): string[];
10300
10243
  }
10244
+ /**
10245
+ * The handlers for the DOM events.
10246
+ *
10247
+ * @public
10248
+ * @unofficial
10249
+ */
10250
+ export interface RegisterDomEventsHandlers {
10251
+ /**
10252
+ * Handles the external link click event.
10253
+ *
10254
+ * @param evt - The mouse event.
10255
+ * @param targetEl - The target element.
10256
+ * @param linkText - The link text.
10257
+ */
10258
+ onExternalLinkClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
10259
+ /**
10260
+ * Handles the external link right click event.
10261
+ *
10262
+ * @param evt - The mouse event.
10263
+ * @param targetEl - The target element.
10264
+ * @param linkText - The link text.
10265
+ */
10266
+ onExternalLinkRightClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
10267
+ /**
10268
+ * Handles the internal link click event.
10269
+ *
10270
+ * @param evt - The mouse event.
10271
+ * @param targetEl - The target element.
10272
+ * @param linkText - The link text.
10273
+ */
10274
+ onInternalLinkClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
10275
+ /**
10276
+ * Handles the internal link drag event.
10277
+ *
10278
+ * @param evt - The mouse event.
10279
+ * @param targetEl - The target element.
10280
+ * @param linkText - The link text.
10281
+ * @param title - The title.
10282
+ */
10283
+ onInternalLinkDrag(evt: MouseEvent, targetEl: HTMLElement, linkText: string, title?: string): unknown;
10284
+ /**
10285
+ * Handles the internal link mouseover event.
10286
+ *
10287
+ * @param evt - The mouse event.
10288
+ * @param targetEl - The target element.
10289
+ * @param linkText - The link text.
10290
+ */
10291
+ onInternalLinkMouseover(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
10292
+ /**
10293
+ * Handles the internal link right click event.
10294
+ *
10295
+ * @param evt - The mouse event.
10296
+ * @param targetEl - The target element.
10297
+ * @param linkText - The link text.
10298
+ */
10299
+ onInternalLinkRightClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
10300
+ /**
10301
+ * Handles the tag click event.
10302
+ *
10303
+ * @param evt - The mouse event.
10304
+ * @param targetEl - The target element.
10305
+ * @param linkText - The link text.
10306
+ */
10307
+ onTagClick(evt: MouseEvent, targetEl: HTMLElement, tag: string): unknown;
10308
+ }
10309
+ /**
10310
+ * The RegisterDomEventsHandlers constructor.
10311
+ *
10312
+ * @public
10313
+ * @unofficial
10314
+ */
10315
+ export interface RegisterDomEventsHandlersConstructor extends ConstructorBase<[
10316
+ info: RegisterDomEventsHandlersInfo
10317
+ ], RegisterDomEventsHandlers> {
10318
+ }
10319
+ /**
10320
+ * Information about the register dom events handlers.
10321
+ *
10322
+ * @public
10323
+ * @unofficial
10324
+ */
10325
+ export interface RegisterDomEventsHandlersInfo extends HoverParent {
10326
+ /**
10327
+ * Obsidian app instance.
10328
+ */
10329
+ app: App;
10330
+ /**
10331
+ * The path to calculate relative links from.
10332
+ */
10333
+ path: string;
10334
+ }
10301
10335
  /**
10302
10336
  * @todo Documentation incomplete.
10303
10337
  * @public
@@ -16,7 +16,7 @@ import * as fs from 'node:fs';
16
16
  import type { FSWatcher, Stats } from 'node:fs';
17
17
  import * as fsPromises from 'node:fs/promises';
18
18
  import * as path from 'node:path';
19
- import type { App, BasesConfigFileFilter, BlockCache, CacheItem, CachedMetadata, CloseableComponent, ColorComponent, Command, Component, Constructor, DataAdapter, Debouncer, EditableFileView, Editor, EditorPosition, EditorRange, EditorRangeOrCaret, EditorSuggest, EmbedCache, EventRef, Events, FileStats, FileView, FrontmatterLinkCache, FuzzySuggestModal, HoverLinkSource, HoverPopover, IconName, ItemView, KeymapInfo, LinkCache, MarkdownEditView, MarkdownFileInfo, MarkdownPostProcessorContext, MarkdownPreviewView, MarkdownView, Menu, Modal, Notice, ObsidianProtocolHandler, PaneType, Plugin as Plugin, PluginManifest, PluginSettingTab, PopoverSuggest, Reference, ReferenceCache, RenderContext, Scope, SearchComponent, SearchResult, Setting, SettingTab, SplitDirection, TAbstractFile, TFile, TFolder, TextComponent, TextFileView, Vault, View, ViewCreator, ViewState, Workspace, WorkspaceLeaf, WorkspaceTabs, moment as moment$1, request, requestUrl } from 'obsidian';
19
+ import type { App, BlockCache, CacheItem, CachedMetadata, CloseableComponent, ColorComponent, Command, Component, Constructor, DataAdapter, Debouncer, EditableFileView, Editor, EditorPosition, EditorRange, EditorRangeOrCaret, EditorSuggest, EmbedCache, EventRef, Events, FileStats, FileView, FrontmatterLinkCache, FuzzySuggestModal, HoverLinkSource, HoverParent, HoverPopover, IconName, ItemView, KeymapInfo, LinkCache, MarkdownEditView, MarkdownFileInfo, MarkdownPostProcessorContext, MarkdownPreviewView, MarkdownView, Menu, Modal, Notice, ObsidianProtocolHandler, PaneType, Plugin as Plugin, PluginManifest, PluginSettingTab, PopoverSuggest, Reference, ReferenceCache, RenderContext, Scope, SearchComponent, SearchResult, Setting, SettingTab, SplitDirection, TAbstractFile, TFile, TFolder, TextComponent, TextFileView, Vault, View, ViewCreator, ViewState, Workspace, WorkspaceLeaf, WorkspaceTabs, moment as moment$1, request, requestUrl } from 'obsidian';
20
20
  import type { default as pdfjsLib } from 'pdfjs-dist';
21
21
  import type { Application, Container, Graphics, ICanvas, Sprite, Text as Text$1, TextStyle, default as PIXI } from 'pixi.js';
22
22
  import type { default as Prism$1 } from 'prismjs';
@@ -2323,7 +2323,7 @@ declare module "obsidian" {
2323
2323
  *
2324
2324
  * @deprecated - Added only for typing purposes. Use {@link BasesConfigFileFilter} instead.
2325
2325
  */
2326
- type BasesConfigFileFilter__ = string | BasesConfigFileFilterAndClause | BasesConfigFileFilterOrClause | BasesConfigFileFilterNotClause;
2326
+ type BasesConfigFileFilter__ = string | {} | {} | {};
2327
2327
  }
2328
2328
  declare module "obsidian" {
2329
2329
  /**
@@ -5481,18 +5481,11 @@ declare module "obsidian" {
5481
5481
  */
5482
5482
  app: App;
5483
5483
  /**
5484
- * HTML element for the setting tab content.
5484
+ * Outermost HTML element on the setting tab.
5485
5485
  *
5486
5486
  * @official
5487
5487
  */
5488
5488
  containerEl: HTMLElement;
5489
- /**
5490
- * The icon to display in the settings sidebar.
5491
- *
5492
- * @official
5493
- * @since 1.11.0
5494
- */
5495
- icon: IconName;
5496
5489
  /**
5497
5490
  * Unique ID of the tab.
5498
5491
  *
@@ -5627,20 +5620,6 @@ declare module "obsidian" {
5627
5620
  * @official
5628
5621
  */
5629
5622
  addColorPicker(cb: (component: ColorComponent) => any): this;
5630
- /**
5631
- * Add a component to the setting.
5632
- *
5633
- * @param cb - The callback to add the component.
5634
- * @returns The setting.
5635
- * @example
5636
- * ```ts
5637
- * setting.addComponent((el) => {
5638
- * return new TextComponent(el);
5639
- * });
5640
- * @official
5641
- * @since 1.11.0
5642
- */
5643
- addComponent<T extends BaseComponent>(cb: (el: HTMLElement) => T): this;
5644
5623
  /**
5645
5624
  * Add a dropdown component to the setting.
5646
5625
  *
@@ -10295,14 +10274,6 @@ declare module "obsidian" {
10295
10274
  tags?: TagCache[];
10296
10275
  }
10297
10276
  }
10298
- declare module "obsidian" {
10299
- /**
10300
- * Can be any Lucide icon name or an internal icon name.
10301
- *
10302
- * @deprecated - Added only for typing purposes. Use {@link IconName} instead.
10303
- */
10304
- type IconName__ = string;
10305
- }
10306
10277
  declare module "obsidian" {
10307
10278
  /**
10308
10279
  * Collapsible container for other ViewOptions.
@@ -13508,66 +13479,6 @@ declare module "obsidian" {
13508
13479
  top: number;
13509
13480
  }
13510
13481
  }
13511
- declare module "obsidian" {
13512
- /**
13513
- * Setting group.
13514
- *
13515
- * @since 1.11.0
13516
- */
13517
- interface SettingGroup {
13518
- /**
13519
- * Add a CSS class to the setting group.
13520
- *
13521
- * @param cls - The CSS class to add.
13522
- * @returns The setting group.
13523
- * @example
13524
- * ```ts
13525
- * settingGroup.addClass('foo');
13526
- * ```
13527
- * @official
13528
- * @since 1.11.0
13529
- */
13530
- addClass(cls: string): this;
13531
- /**
13532
- * Add a setting to the setting group.
13533
- *
13534
- * @param cb - The callback to add the setting.
13535
- * @returns The setting group.
13536
- * @example
13537
- * ```ts
13538
- * settingGroup.addSetting((setting) => {
13539
- * setting.setName('foo');
13540
- * });
13541
- * ```
13542
- * @official
13543
- * @since 1.11.0
13544
- */
13545
- addSetting(cb: (setting: Setting) => void): this;
13546
- /**
13547
- * Create a new setting group.
13548
- *
13549
- * @param containerEl - The container element.
13550
- * @returns The setting group.
13551
- * @official
13552
- * @since 1.11.0
13553
- * @deprecated - Added only for typing purposes. Use {@link constructor} instead.
13554
- */
13555
- constructor__(containerEl: HTMLElement): this;
13556
- /**
13557
- * Set the heading of the setting group.
13558
- *
13559
- * @param text - The text to set the heading to.
13560
- * @returns The setting group.
13561
- * @example
13562
- * ```ts
13563
- * settingGroup.setHeading('foo');
13564
- * ```
13565
- * @official
13566
- * @since 1.11.0
13567
- */
13568
- setHeading(text: string | DocumentFragment): this;
13569
- }
13570
- }
13571
13482
  declare module "obsidian" {
13572
13483
  /**
13573
13484
  * Slider option.
@@ -15242,6 +15153,14 @@ declare module "obsidian" {
15242
15153
  */
15243
15154
  type EditorCommandName__ = "goUp" | "goDown" | "goLeft" | "goRight" | "goStart" | "goEnd" | "goWordLeft" | "goWordRight" | "indentMore" | "indentLess" | "newlineAndIndent" | "swapLineUp" | "swapLineDown" | "deleteLine" | "toggleFold" | "foldAll" | "unfoldAll";
15244
15155
  }
15156
+ declare module "obsidian" {
15157
+ /**
15158
+ * The name of the icon.
15159
+ *
15160
+ * @deprecated - Added only for typing purposes. Use {@link IconName} instead.
15161
+ */
15162
+ type IconName__ = string;
15163
+ }
15245
15164
  declare module "obsidian" {
15246
15165
  /**
15247
15166
  * The object stored in the view plugin {@link livePreviewState}
@@ -15381,6 +15300,16 @@ declare module "obsidian" {
15381
15300
  * @since 0.12.11
15382
15301
  */
15383
15302
  function createCodeBlockPostProcessor__(language: string, handler: (source: string, el: HTMLElement, ctx: MarkdownPostProcessorContext) => Promise<any> | void): (el: HTMLElement, ctx: MarkdownPostProcessorContext) => void;
15303
+ /**
15304
+ * Registers the DOM events.
15305
+ *
15306
+ * @param el - The element to register the events on.
15307
+ * @param handlers - The handlers to register.
15308
+ * @param childElFn - The function to determine if `childEl` belongs to the `el`.
15309
+ *
15310
+ * @unofficial
15311
+ */
15312
+ function registerDomEvents(el: HTMLElement, handlers: RegisterDomEventsHandlers, childElFn?: (childEl: HTMLElement) => boolean): void;
15384
15313
  /**
15385
15314
  * Register a post processor.
15386
15315
  *
@@ -19768,78 +19697,6 @@ export interface BacklinkView extends InfoFileView {
19768
19697
  */
19769
19698
  export interface BacklinkViewConstructor extends TypedViewConstructor<BacklinkView> {
19770
19699
  }
19771
- /**
19772
- * BasesConfigFileFilter `and` clause.
19773
- *
19774
- * @public
19775
- * @unofficial
19776
- */
19777
- export interface BasesConfigFileFilterAndClause {
19778
- /**
19779
- * All of the following filters must match.
19780
- *
19781
- * @public
19782
- * @since 1.10.0
19783
- * @example
19784
- * ```ts
19785
- * {
19786
- * and: [
19787
- * '*.md',
19788
- * '*.txt',
19789
- * ],
19790
- * }
19791
- * ```
19792
- */
19793
- and: BasesConfigFileFilter[];
19794
- }
19795
- /**
19796
- * BasesConfigFileFilter `not` clause.
19797
- *
19798
- * @public
19799
- * @unofficial
19800
- */
19801
- export interface BasesConfigFileFilterNotClause {
19802
- /**
19803
- * None of the following filters should match.
19804
- *
19805
- * @public
19806
- * @since 1.10.0
19807
- * @example
19808
- * ```ts
19809
- * {
19810
- * not: [
19811
- * '*.md',
19812
- * '*.txt',
19813
- * ],
19814
- * }
19815
- * ```
19816
- */
19817
- not: BasesConfigFileFilter[];
19818
- }
19819
- /**
19820
- * BasesConfigFileFilter `or` clause.
19821
- *
19822
- * @public
19823
- * @unofficial
19824
- */
19825
- export interface BasesConfigFileFilterOrClause {
19826
- /**
19827
- * Some of the following filters should match.
19828
- *
19829
- * @public
19830
- * @since 1.10.0
19831
- * @example
19832
- * ```ts
19833
- * {
19834
- * or: [
19835
- * '*.md',
19836
- * '*.txt',
19837
- * ],
19838
- * }
19839
- * ```
19840
- */
19841
- or: BasesConfigFileFilter[];
19842
- }
19843
19700
  /**
19844
19701
  * Bases context
19845
19702
  *
@@ -25715,24 +25572,39 @@ export interface HotkeysSettingTab extends SettingTab {
25715
25572
  export interface HourFunction extends BasesFunction, HasExtract {
25716
25573
  }
25717
25574
  /**
25718
- * @todo Documentation incomplete.
25575
+ * Event triggered when a link is hovered.
25576
+ *
25719
25577
  * @public
25720
25578
  * @unofficial
25721
25579
  */
25722
25580
  export interface HoverLinkEvent {
25723
- /** @todo Documentation incomplete. */
25581
+ /**
25582
+ * The mouse event.
25583
+ */
25724
25584
  event: MouseEvent;
25725
- /** @todo Documentation incomplete. */
25726
- hoverParent: WorkspaceLeaf;
25727
- /** @todo Documentation incomplete. */
25585
+ /**
25586
+ * The hover parent.
25587
+ */
25588
+ hoverParent: HoverParent;
25589
+ /**
25590
+ * The link text.
25591
+ */
25728
25592
  linktext: string;
25729
- /** @todo Documentation incomplete. */
25593
+ /**
25594
+ * The source of the event.
25595
+ */
25730
25596
  source: "search" | "editor" | "preview" | "properties" | "graph" | "file-explorer" | "hover-link";
25731
- /** @todo Documentation incomplete. */
25597
+ /**
25598
+ * The source path.
25599
+ */
25732
25600
  sourcePath?: string;
25733
- /** @todo Documentation incomplete. */
25601
+ /**
25602
+ * The state of the event.
25603
+ */
25734
25604
  state?: HoverLinkEventState;
25735
- /** @todo Documentation incomplete. */
25605
+ /**
25606
+ * The target element.
25607
+ */
25736
25608
  targetEl: HTMLElement | null;
25737
25609
  }
25738
25610
  /**
@@ -28709,6 +28581,97 @@ export interface RecentFileTracker {
28709
28581
  */
28710
28582
  serialize(): string[];
28711
28583
  }
28584
+ /**
28585
+ * The handlers for the DOM events.
28586
+ *
28587
+ * @public
28588
+ * @unofficial
28589
+ */
28590
+ export interface RegisterDomEventsHandlers {
28591
+ /**
28592
+ * Handles the external link click event.
28593
+ *
28594
+ * @param evt - The mouse event.
28595
+ * @param targetEl - The target element.
28596
+ * @param linkText - The link text.
28597
+ */
28598
+ onExternalLinkClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
28599
+ /**
28600
+ * Handles the external link right click event.
28601
+ *
28602
+ * @param evt - The mouse event.
28603
+ * @param targetEl - The target element.
28604
+ * @param linkText - The link text.
28605
+ */
28606
+ onExternalLinkRightClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
28607
+ /**
28608
+ * Handles the internal link click event.
28609
+ *
28610
+ * @param evt - The mouse event.
28611
+ * @param targetEl - The target element.
28612
+ * @param linkText - The link text.
28613
+ */
28614
+ onInternalLinkClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
28615
+ /**
28616
+ * Handles the internal link drag event.
28617
+ *
28618
+ * @param evt - The mouse event.
28619
+ * @param targetEl - The target element.
28620
+ * @param linkText - The link text.
28621
+ * @param title - The title.
28622
+ */
28623
+ onInternalLinkDrag(evt: MouseEvent, targetEl: HTMLElement, linkText: string, title?: string): unknown;
28624
+ /**
28625
+ * Handles the internal link mouseover event.
28626
+ *
28627
+ * @param evt - The mouse event.
28628
+ * @param targetEl - The target element.
28629
+ * @param linkText - The link text.
28630
+ */
28631
+ onInternalLinkMouseover(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
28632
+ /**
28633
+ * Handles the internal link right click event.
28634
+ *
28635
+ * @param evt - The mouse event.
28636
+ * @param targetEl - The target element.
28637
+ * @param linkText - The link text.
28638
+ */
28639
+ onInternalLinkRightClick(evt: MouseEvent, targetEl: HTMLElement, linkText: string): unknown;
28640
+ /**
28641
+ * Handles the tag click event.
28642
+ *
28643
+ * @param evt - The mouse event.
28644
+ * @param targetEl - The target element.
28645
+ * @param linkText - The link text.
28646
+ */
28647
+ onTagClick(evt: MouseEvent, targetEl: HTMLElement, tag: string): unknown;
28648
+ }
28649
+ /**
28650
+ * The RegisterDomEventsHandlers constructor.
28651
+ *
28652
+ * @public
28653
+ * @unofficial
28654
+ */
28655
+ export interface RegisterDomEventsHandlersConstructor extends ConstructorBase<[
28656
+ info: RegisterDomEventsHandlersInfo
28657
+ ], RegisterDomEventsHandlers> {
28658
+ }
28659
+ /**
28660
+ * Information about the register dom events handlers.
28661
+ *
28662
+ * @public
28663
+ * @unofficial
28664
+ */
28665
+ export interface RegisterDomEventsHandlersInfo extends HoverParent {
28666
+ /**
28667
+ * Obsidian app instance.
28668
+ */
28669
+ app: App;
28670
+ /**
28671
+ * The path to calculate relative links from.
28672
+ */
28673
+ path: string;
28674
+ }
28712
28675
  /**
28713
28676
  * @todo Documentation incomplete.
28714
28677
  * @public