import { ExcalidrawElement, ExcalidrawTextElement, NonDeletedExcalidrawElement, ExcalidrawFreeDrawElement } from "../element/types"; import { RoughCanvas } from "roughjs/bin/canvas"; import { Drawable, Options } from "roughjs/bin/core"; import { RoughSVG } from "roughjs/bin/svg"; import { RenderConfig } from "../scene/types"; import { BinaryFiles, Zoom } from "../types"; export interface ExcalidrawElementWithCanvas { element: ExcalidrawElement | ExcalidrawTextElement; canvas: HTMLCanvasElement; theme: RenderConfig["theme"]; canvasZoom: Zoom["value"]; canvasOffsetX: number; canvasOffsetY: number; } export declare const DEFAULT_LINK_SIZE = 14; declare type ElementShape = Drawable | Drawable[] | null; declare type ElementShapes = { freedraw: Drawable | null; arrow: Drawable[]; line: Drawable[]; text: null; image: null; }; export declare const getShapeForElement: (element: T) => T["type"] extends keyof ElementShapes ? ElementShapes[T["type"]] | undefined : Drawable | null | undefined; export declare const setShapeForElement: (element: T, shape: T["type"] extends keyof ElementShapes ? ElementShapes[T["type"]] : Drawable) => WeakMap; export declare const invalidateShapeForElement: (element: ExcalidrawElement) => boolean; export declare const generateRoughOptions: (element: ExcalidrawElement, continuousPath?: boolean) => Options; export declare const renderElement: (element: NonDeletedExcalidrawElement, rc: RoughCanvas, context: CanvasRenderingContext2D, renderConfig: RenderConfig) => void; export declare const renderElementToSvg: (element: NonDeletedExcalidrawElement, rsvg: RoughSVG, svgRoot: SVGElement, files: BinaryFiles, offsetX?: number | undefined, offsetY?: number | undefined, exportWithDarkMode?: boolean | undefined) => void; export declare const pathsCache: WeakMap; export declare function generateFreeDrawShape(element: ExcalidrawFreeDrawElement): Path2D; export declare function getFreeDrawPath2D(element: ExcalidrawFreeDrawElement): Path2D | undefined; export declare function getFreeDrawSvgPath(element: ExcalidrawFreeDrawElement): string; export {};