import { FuzzyMatch, TFile, BlockCache, HeadingCache, CachedMetadata, TextComponent, App, TFolder, FuzzySuggestModal, SuggestModal, Scope } from "obsidian"; import { Instance as PopperInstance } from "@popperjs/core"; declare class Suggester { owner: SuggestModal; items: T[]; suggestions: HTMLDivElement[]; selectedItem: number; containerEl: HTMLElement; constructor(owner: SuggestModal, containerEl: HTMLElement, scope: Scope); chooseSuggestion(evt: KeyboardEvent): void; onSuggestionClick(event: MouseEvent, el: HTMLDivElement): void; onSuggestionMouseover(event: MouseEvent, el: HTMLDivElement): void; empty(): void; setSuggestions(items: T[]): void; useSelectedItem(event: MouseEvent | KeyboardEvent): void; wrap(value: number, size: number): number; setSelectedItem(index: number, scroll: boolean): void; } export declare abstract class SuggestionModal extends FuzzySuggestModal { items: T[]; suggestions: HTMLDivElement[]; popper: PopperInstance; scope: Scope; suggester: Suggester>; suggestEl: HTMLDivElement; promptEl: HTMLDivElement; emptyStateText: string; limit: number; shouldNotOpen: boolean; constructor(app: App, inputEl: HTMLInputElement, items: T[]); empty(): void; onInputChanged(): void; onFocus(): void; modifyInput(input: string): string; onNoSuggestion(): void; open(): void; onEscape(): void; close(): void; createPrompt(prompts: HTMLSpanElement[]): void; abstract onChooseItem(item: T, evt: MouseEvent | KeyboardEvent): void; abstract getItemText(arg: T): string; abstract getItems(): T[]; } export declare class PathSuggestionModal extends SuggestionModal { file: TFile; files: TFile[]; text: TextComponent; cache: CachedMetadata; constructor(app: App, input: TextComponent, items: TFile[]); getFile(): void; getItemText(item: TFile | HeadingCache | BlockCache): string; onChooseItem(item: TFile | HeadingCache | BlockCache): void; selectSuggestion({ item }: FuzzyMatch): void; renderSuggestion(result: FuzzyMatch, el: HTMLElement): void; get headings(): HeadingCache[]; get blocks(): BlockCache[]; getItems(): TFile[] | HeadingCache[] | BlockCache[]; } export declare class FolderSuggestionModal extends SuggestionModal { text: TextComponent; cache: CachedMetadata; folders: TFolder[]; folder: TFolder; constructor(app: App, input: TextComponent, items: TFolder[]); getFolder(): void; getItemText(item: TFolder): string; onChooseItem(item: TFolder): void; selectSuggestion({ item }: FuzzyMatch): void; renderSuggestion(result: FuzzyMatch, el: HTMLElement): void; getItems(): TFolder[]; } export declare class FileSuggestionModal extends SuggestionModal { text: TextComponent; cache: CachedMetadata; files: TFile[]; file: TFile; constructor(app: App, input: TextComponent, items: TFile[]); getFile(): void; getSelectedItem(): TFile; getItemText(item: TFile): string; onChooseItem(item: TFile): void; selectSuggestion({ item }: FuzzyMatch): void; renderSuggestion(result: FuzzyMatch, el: HTMLElement): void; getItems(): TFile[]; } export {};