import { App, Modal, FuzzyMatch, FuzzySuggestModal, Instruction, TFile, TextAreaComponent } from "obsidian"; import ExcalidrawView from "../ExcalidrawView"; import ExcalidrawPlugin from "../main"; import { KeyEvent } from "src/utils/ModifierkeyHelper"; export type ButtonDefinition = { caption: string; tooltip?: string; action: Function; }; export declare class Prompt extends Modal { private prompt_text; private default_value?; private placeholder?; private prompt_desc?; private promptEl; private resolve; constructor(app: App, prompt_text: string, default_value?: string, placeholder?: string, prompt_desc?: string); onOpen(): void; onClose(): void; createForm(): void; openAndGetValue(resolve: (value: string) => void): Promise; } export declare class GenericInputPrompt extends Modal { private header; waitForClose: Promise; private view; private plugin; private resolvePromise; private rejectPromise; private didSubmit; private inputComponent; private input; private buttons; private lines; private displayEditorButtons; private readonly placeholder; private selectionStart; private selectionEnd; private selectionUpdateTimer; private customComponents; private blockPointerInputOutsideModal; static Prompt(view: ExcalidrawView, plugin: ExcalidrawPlugin, app: App, header: string, placeholder?: string, value?: string, buttons?: ButtonDefinition[], lines?: number, displayEditorButtons?: boolean, customComponents?: (container: HTMLElement) => void, blockPointerInputOutsideModal?: boolean): Promise; protected constructor(view: ExcalidrawView, plugin: ExcalidrawPlugin, app: App, header: string, placeholder?: string, value?: string, buttons?: { caption: string; action: Function; }[], lines?: number, displayEditorButtons?: boolean, customComponents?: (container: HTMLElement) => void, blockPointerInputOutsideModal?: boolean); private display; protected createInputField(container: HTMLElement, placeholder?: string, value?: string): TextAreaComponent; private createButton; private createButtonBar; private linkBtnClickCallback; private insertStringBtnClickCallback; private delBtnClickCallback; private uppercaseBtnClickCallback; private submitClickCallback; private cancelClickCallback; private keyDownCallback; private submit; private cancel; private resolveInput; private removeInputListener; onOpen(): void; onClose(): void; } export declare class GenericSuggester extends FuzzySuggestModal { private displayItems; private items; private hint?; private instructions?; private resolvePromise; private rejectPromise; promise: Promise; private resolved; static Suggest(app: App, displayItems: string[], items: string[], hint?: string, instructions?: Instruction[]): Promise; constructor(app: App, displayItems: string[], items: any[], hint?: string, instructions?: Instruction[]); getItemText(item: string): string; getItems(): any[]; selectSuggestion(value: FuzzyMatch, evt: MouseEvent | KeyboardEvent): void; onChooseItem(item: any): void; onClose(): void; } export declare class NewFileActions extends Modal { private plugin; private path; private keys; private view; private openNewFile; private parentFile?; waitForClose: Promise; private resolvePromise; private rejectPromise; private newFile; constructor(plugin: ExcalidrawPlugin, path: string, keys: KeyEvent, view: ExcalidrawView, openNewFile?: boolean, parentFile?: TFile); onOpen(): void; openFile(file: TFile): void; onClose(): void; createForm(): void; } export declare class ConfirmationPrompt extends Modal { private plugin; waitForClose: Promise; private resolvePromise; private rejectPromise; private didConfirm; private readonly message; constructor(plugin: ExcalidrawPlugin, message: string); private display; private createButton; private cancelClickCallback; private confirmClickCallback; onOpen(): void; onClose(): void; }