import type { Events } from 'obsidian'; export interface AdapterListing { files: string[]; folders: string[]; } export interface AjaxOptions { readonly data?: ArrayBuffer | object | string; readonly error?: (error: unknown, request: XMLHttpRequest) => unknown; readonly headers?: Record; readonly method?: 'GET' | 'POST'; readonly req?: XMLHttpRequest; readonly success?: (response: unknown, request: XMLHttpRequest) => unknown; readonly url: string; readonly withCredentials?: boolean; } export interface CoordsLeftTop { left: number; top: number; } export interface EventsEntry { ctx: unknown; e: Events; fn(...data: unknown[]): unknown; name: string; } export interface FileCacheEntry { hash: string; mtime: number; size: number; } export type MaybeReturn = T | void; export interface ObsidianGlobal { activeDocument: Document | undefined; activeWindow: typeof globalThis | Window; nextFrame(callback: () => void): void; sleep(ms: number): Promise; } export interface ParsedLinktext { path: string; subpath: string; } export interface SvgElementInfo { attr?: Record; cls?: string | string[]; parent?: Node; prepend?: boolean; } export interface WorkspaceEnsureSideLeafOptions { readonly active?: boolean; readonly reveal?: boolean; readonly split?: boolean; readonly state?: unknown; } export interface WorkspaceSetActiveLeafOptions { readonly focus?: boolean; }