@apoorvdwi/excalidraw-collab
Version:
Excalidraw as a React component
63 lines (62 loc) • 1.77 kB
TypeScript
import { ExcalidrawTextElement } from "../element/types";
import { AppClassProperties, AppState } from "../types";
export declare type RenderConfig = {
scrollX: AppState["scrollX"];
scrollY: AppState["scrollY"];
/** null indicates transparent bg */
viewBackgroundColor: AppState["viewBackgroundColor"] | null;
zoom: AppState["zoom"];
shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
theme: AppState["theme"];
remotePointerViewportCoords: {
[id: string]: {
x: number;
y: number;
};
};
remotePointerButton?: {
[id: string]: string | undefined;
};
remoteSelectedElementIds: {
[elementId: string]: string[];
};
remotePointerUsernames: {
[id: string]: {
name: string;
color: string;
};
};
remotePointerUserStates: {
[id: string]: string;
};
imageCache: AppClassProperties["imageCache"];
renderScrollbars?: boolean;
renderSelection?: boolean;
renderGrid?: boolean;
/** when exporting the behavior is slightly different (e.g. we can't use
CSS filters), and we disable render optimizations for best output */
isExporting: boolean;
selectionColor?: string;
};
export declare type SceneScroll = {
scrollX: number;
scrollY: number;
};
export interface Scene {
elements: ExcalidrawTextElement[];
}
export declare type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
export declare type ScrollBars = {
horizontal: {
x: number;
y: number;
width: number;
height: number;
} | null;
vertical: {
x: number;
y: number;
width: number;
height: number;
} | null;
};