import React from "react";
import Footer from "./components/footer/FooterCenter";
import LiveCollaborationTrigger from "./components/live-collaboration/LiveCollaborationTrigger";
import MainMenu from "./components/main-menu/MainMenu";
import WelcomeScreen from "./components/welcome-screen/WelcomeScreen";
import { useOnAppStateChange as _useOnAppStateChange } from "./hooks/useAppStateValue";
import "./css/app.scss";
import "./css/styles.scss";
import "./fonts/fonts.css";
import type { AppState, ExcalidrawProps } from "./types";
/**
 * Stateless provider that allows `useExcalidrawAPI()` (and hooks built
 * on it, such as `useAppStateValue()` and `useOnAppStateChange()`) to work
 * outside the <Excalidraw> component tree.
 */
export declare const ExcalidrawAPIProvider: ({ children, }: {
    children: React.ReactNode;
}) => import("react/jsx-runtime").JSX.Element;
export declare const Excalidraw: React.MemoExoticComponent<(props: ExcalidrawProps) => import("react/jsx-runtime").JSX.Element>;
export { getSceneVersion, hashElementsVersion, hashString, getNonDeletedElements, } from "@excalidraw/element";
export { getTextFromElements } from "@excalidraw/element";
export { isInvisiblySmallElement } from "@excalidraw/element";
export { defaultLang, useI18n, languages } from "./i18n";
export { restoreAppState, restoreElement, restoreElements, restoreLibraryItems, } from "./data/restore";
export { reconcileElements } from "./data/reconcile";
export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
export { getCommonBoundingBox } from "@excalidraw/element/bounds";
export { getMaximumGroups } from "@excalidraw/element/groups";
export { measureText } from "@excalidraw/element/textMeasurements";
export { wrapText } from "@excalidraw/element/textWrapping";
export { getLineHeight } from "@excalidraw/common";
export { getFontString, getFontFamilyString } from "@excalidraw/common";
export { getBoundTextMaxWidth } from "@excalidraw/element/textElement";
export { mermaidToExcalidraw } from "./components/TTDDialog/MermaidToExcalidrawLib";
export { registerLocalFont, getFontMetrics, getFontFamilies, registerFontsInCSS, getCSSFontDefinition, loadSceneFonts, getDefaultColorPalette, getSharedMermaidInstance, loadMermaid, intersectElementWithLine, } from "../excalidraw/obsidianUtils";
export { refreshTextDimensions } from "@excalidraw/element/newElement";
export { syncMovedIndices, syncInvalidIndices } from "@excalidraw/element";
export { getContainerElement } from "@excalidraw/element/textElement";
export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
export { isLinearElement } from "@excalidraw/element";
export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, getFormFactor, safelyParseJSON, //zsviczian
destroyObsidianUtils, //zsviczian
throttleRAF, } from "@excalidraw/common";
export { mutateElement, newElementWith, bumpVersion, } from "@excalidraw/element";
export { CaptureUpdateAction } from "@excalidraw/element";
export { parseLibraryTokensFromUrl, useHandleLibrary } from "./data/library";
export { getEmbedLink } from "@excalidraw/element/embeddable";
export { Sidebar } from "./components/Sidebar/Sidebar";
export { Button } from "./components/Button";
export { Footer };
export { MainMenu };
export { Ellipsify } from "./components/Ellipsify";
export { useEditorInterface, useStylesPanelMode, useExcalidrawAPI, ExcalidrawAPIContext, } from "./components/App";
export { WelcomeScreen };
export { LiveCollaborationTrigger };
export { Stats } from "./components/Stats";
export { DefaultSidebar } from "./components/DefaultSidebar";
export { TTDDialog } from "./components/TTDDialog/TTDDialog";
export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
export { TTDStreamFetch } from "./components/TTDDialog/utils/TTDStreamFetch";
export type { TTDPersistenceAdapter, SavedChat, SavedChats, } from "./components/TTDDialog/types";
export { zoomToFitBounds } from "./actions/actionCanvas";
export { getCommonBounds, getVisibleSceneBounds, convertToExcalidrawElements, } from "@excalidraw/element";
export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
export { getDataURL } from "./data/blob";
export { isElementLink } from "@excalidraw/element";
export { Fonts } from "./fonts/Fonts";
export { setCustomTextMetricsProvider } from "@excalidraw/element";
export { CommandPalette } from "./components/CommandPalette/CommandPalette";
export { renderSpreadsheet, tryParseSpreadsheet, isSpreadsheetValidForChartType, } from "./charts";
/**
 * hook that subscribes to specific appState prop(s)
 *
 * @param prop - appState prop(s) to subscribe to, or a selector function.
 * NOTE `prop/selector` is memoized and will not change after initial render
 */
export declare function useExcalidrawStateValue<K extends keyof AppState>(prop: K): AppState[K] | undefined;
export declare function useExcalidrawStateValue<T extends keyof AppState>(props: T[]): AppState | undefined;
export declare function useExcalidrawStateValue<T>(selector: (appState: AppState) => T): T | undefined;
export { _useOnAppStateChange as useOnExcalidrawStateChange };
