import type { Scene, Store } from "@excalidraw/element"; import type { GlobalPoint } from "@excalidraw/math"; import type { FontMetadata } from "@excalidraw/common"; import type { ElementsMap, ExcalidrawElement, ExcalidrawTextElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types"; import type { MermaidConfig } from "@excalidraw/mermaid-to-excalidraw"; import type { MermaidToExcalidrawResult } from "@excalidraw/mermaid-to-excalidraw/dist/interfaces"; import type { AppClassProperties, AppState } from "./types"; interface MermaidToExcalidrawLibProps { loaded: boolean; api: Promise<{ parseMermaidToExcalidraw: (definition: string, config?: MermaidConfig) => Promise; }>; } export declare function allowDoubleTapEraser(): any; export declare function isPanWithRightMouseEnabled(): boolean; export declare function getMaxZoom(): number; export declare function isExcaliBrainView(): any; export declare function getExcalidrawContentEl(): HTMLElement; export declare function hideFreedrawPenmodeCursor(): boolean; export declare function getOpenAIDefaultVisionModel(): any; export declare function getFontMetrics(fontFamily: ExcalidrawTextElement["fontFamily"], fontSize?: number): { unitsPerEm: number; ascender: number; descender: number; lineHeight: number; baseline: number; fontString: string; }; export declare function registerLocalFont(fontMetrics: FontMetadata & { name: string; }, uri: string): void; export declare function getFontFamilies(): string[]; export declare const getDefaultColorPalette: () => readonly (readonly [string, string, string, string, string])[]; export declare function registerFontsInCSS(): Promise; export declare function getCSSFontDefinition(fontFamily: number): Promise; export declare function loadSceneFonts(elements: NonDeletedExcalidrawElement[]): Promise; export declare function fetchFontFromVault(url: string | URL): Promise; export declare function isTouchInPenMode(appState: AppState, event: React.PointerEvent | MouseEvent): boolean; export declare function getSharedMermaidInstance(): Promise; export declare function loadMermaid(): Promise; export declare const intersectElementWithLine: (element: ExcalidrawElement, a: GlobalPoint, b: GlobalPoint, gap: number | undefined, elementsMap: ElementsMap) => GlobalPoint[] | undefined; export declare const disableDoubleClickTextEditing: () => any; export declare const getZoomStep: () => any; export declare const getZoomMin: () => any; export declare const getZoomMax: () => any; export declare const runAction: (action: string) => void; export declare const t2: (key: string) => string; export declare const shouldDisableZoom: (appState: AppState) => boolean; export declare const isFullPanelMode: (app: AppClassProperties) => boolean; export declare const isContextMenuDisabled: () => boolean; export declare const refreshAllArrows: (scene: Scene, store: Store) => void; interface KeyBlocker { isBlockingKeys(): boolean; close(): void; } /** * Attaches an inline link suggester to the specified input element. * @param inputEl The HTML input element to attach the suggester to. * @param widthWrapper Optional HTML element to wrap the width of suggester element. * @param containerEl Optional container element used as collision boundary. * @param surpessPlaceholder Whether to suppress the placeholder text. Defaults to true. * @returns A KeyBlocker instance for managing keyboard input. */ export declare const attachInlineLinkSuggester: (inputEl: HTMLInputElement | HTMLTextAreaElement, widthWrapper?: HTMLElement, container?: HTMLDivElement | null, surpessPlaceholder?: boolean) => KeyBlocker; export declare const syncElementLinkWithText: () => boolean; export {};