import {PluginInstance, TFolder, WorkspaceLeaf} from "obsidian"; // Needed to support monkey-patching of the folder sort() function declare module 'obsidian' { export interface ViewRegistry { viewByType: Record unknown>; } // undocumented internal interface - for experimental features export interface PluginInstance { id: string; } export type CommunityPluginId = string // undocumented internal interface - for experimental features export interface CommunityPlugin { manifest: { id: CommunityPluginId } _loaded: boolean } // undocumented internal interface - for experimental features export interface CommunityPlugins { enabledPlugins: Set plugins: {[key: CommunityPluginId]: CommunityPlugin} } export interface App { plugins: CommunityPlugins; internalPlugins: InternalPlugins; // undocumented internal API - for experimental features viewRegistry: ViewRegistry; } // undocumented internal interface - for experimental features export interface InstalledPlugin { enabled: boolean; instance: PluginInstance; } // undocumented internal interface - for experimental features export interface InternalPlugins { plugins: Record; getPluginById(id: string): InstalledPlugin; } interface FileExplorerFolder { } export interface FileExplorerView extends View { createFolderDom(folder: TFolder): FileExplorerFolder; requestSort(): void; sortOrder: string } }