@zsviczian/excalidraw
Version:
Excalidraw as a React component
67 lines (66 loc) • 3.91 kB
TypeScript
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<MermaidToExcalidrawResult>;
}>;
}
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<void>;
export declare function getCSSFontDefinition(fontFamily: number): Promise<string>;
export declare function loadSceneFonts(elements: NonDeletedExcalidrawElement[]): Promise<FontFace[]>;
export declare function fetchFontFromVault(url: string | URL): Promise<ArrayBuffer | undefined>;
export declare function isTouchInPenMode(appState: AppState, event: React.PointerEvent<HTMLElement> | MouseEvent): boolean;
export declare function getSharedMermaidInstance(): Promise<MermaidToExcalidrawLibProps>;
export declare function loadMermaid(): Promise<MermaidToExcalidrawLibProps>;
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 {};