import type { BasesViewRegistration as BasesViewRegistrationOriginal, CliFlags as CliFlagsOriginal, CliHandler as CliHandlerOriginal, Command as CommandOriginal, EditorSuggest as EditorSuggestOriginal, HoverLinkSource as HoverLinkSourceOriginal, MarkdownPostProcessorContext as MarkdownPostProcessorContextOriginal, MarkdownPostProcessor as MarkdownPostProcessorOriginal, ObsidianProtocolHandler as ObsidianProtocolHandlerOriginal, PluginManifest as PluginManifestOriginal, Plugin as PluginOriginal, PluginSettingTab as PluginSettingTabOriginal, ViewCreator as ViewCreatorOriginal } from 'obsidian'; import type { App } from './App.mjs'; import { Component } from './Component.mjs'; export declare abstract class Plugin extends Component { app: App; basesViewRegistrations__: Map; cliHandlers__: Map; commands__: Map; data__: unknown; editorExtensions__: unknown[]; editorSuggests__: EditorSuggestOriginal[]; extensions__: Map; hoverLinkSources__: Map; manifest: PluginManifestOriginal; markdownCodeBlockProcessors__: Map unknown>; markdownPostProcessors__: MarkdownPostProcessorOriginal[]; obsidianProtocolHandlers__: Map; ribbonActions__: HTMLElement[]; settings?: unknown; settingTabs__: PluginSettingTabOriginal[]; statusBarItems__: HTMLElement[]; views__: Map; constructor(app: App, manifest: PluginManifestOriginal); static fromOriginalType2__(value: PluginOriginal): Plugin; addCommand(command: CommandOriginal): CommandOriginal; addRibbonIcon(_icon: string, _title: string, _callback: (event: MouseEvent) => unknown): HTMLElement; addSettingTab(settingTab: PluginSettingTabOriginal): void; addStatusBarItem(): HTMLElement; asOriginalType2__(): PluginOriginal; constructor2__(_app: App, _manifest: PluginManifestOriginal): void; loadData(): Promise; onExternalSettingsChange(): void; onUserEnable(): void; registerBasesView(viewId: string, registration: BasesViewRegistrationOriginal): boolean; registerCliHandler(command: string, _description: string, _flags: CliFlagsOriginal | null, handler: CliHandlerOriginal): void; registerEditorExtension(extension: unknown): void; registerEditorSuggest(editorSuggest: EditorSuggestOriginal): void; registerExtensions(extensions: string[], viewType: string): void; registerHoverLinkSource(id: string, info: HoverLinkSourceOriginal): void; registerMarkdownCodeBlockProcessor(language: string, handler: (source: string, el: HTMLElement, context: MarkdownPostProcessorContextOriginal) => unknown, _sortOrder?: number): MarkdownPostProcessorOriginal; registerMarkdownPostProcessor(postProcessor: MarkdownPostProcessorOriginal, _sortOrder?: number): MarkdownPostProcessorOriginal; registerObsidianProtocolHandler(action: string, handler: ObsidianProtocolHandlerOriginal): void; registerView(type: string, viewCreator: ViewCreatorOriginal): void; removeCommand(commandId: string): void; saveData(data: unknown): Promise; }