import { Pen, CheckboardStyle, Theme, ThemeMode } from './components'; import type { BrushAttributes, FillAttributes, MarkerAttributes, RoughAttributes, SerializedNode, StrokeAttributes, TextSerializedNode } from './types/serialized-node'; export declare enum Task { SHOW_LAYERS_PANEL = "show-layers-panel", SHOW_PROPERTIES_PANEL = "show-properties-panel", SHOW_CHAT_PANEL = "show-chat-panel" } /** * Prefer flat objects. * @see https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/initialdata */ export interface AppState { language: string; theme: Theme; themeMode: ThemeMode; checkboardStyle: CheckboardStyle; cameraZoom: number; cameraX: number; cameraY: number; cameraRotation: number; cameraZoomFactor: number; contextBarVisible: boolean; contextMenuVisible: boolean; topbarVisible: boolean; penbarVisible: boolean; penbarAll: Pen[]; penbarSelected: Pen; penbarDrawSizeLabelVisible: boolean; penbarDrawRect: Partial; penbarDrawEllipse: Partial; penbarDrawLine: Partial; penbarDrawArrow: Partial; penbarDrawRoughRect: Partial; penbarDrawRoughEllipse: Partial; penbarDrawRoughLine: Partial; penbarPencil: Partial; penbarBrush: Partial; penbarText: Partial; penbarLasso: Partial; taskbarVisible: boolean; taskbarAll: Task[]; taskbarSelected: Task[]; taskbarChatMessages: Message[]; layersSelected: SerializedNode['id'][]; layersHighlighted: SerializedNode['id'][]; layersExpanded: SerializedNode['id'][]; propertiesOpened: SerializedNode['id'][]; /** * Like croppingElementId in Excalidraw * @see https://github.com/excalidraw/excalidraw/pull/8613 */ layersCropping: SerializedNode['id'][]; layersLassoing: SerializedNode['id'][]; /** * Allow rotate in transformer */ rotateEnabled: boolean; /** * Allow flip in transformer */ flipEnabled: boolean; /** * Allow snap to pixel grid */ snapToPixelGridEnabled: boolean; snapToPixelGridSize: number; /** * Allow snap to objects */ snapToObjectsEnabled: boolean; /** * Snip distance for objects */ snapToObjectsDistance: number; snapLineStroke: string; snapLineStrokeWith: number; /** * Points in editing mode. */ editingPoints: [number, number][]; /** * loading state */ loading: boolean; loadingMessage: string; /** * Global effects */ filter: string; } export declare const getDefaultAppState: () => AppState; export declare const SIBLINGS_MAX_Z_INDEX = 1000000; export declare const SIBLINGS_MIN_Z_INDEX = -1000000; export declare const TRANSFORMER_Z_INDEX: number; export declare const HIGHLIGHTER_Z_INDEX: number; export declare const DRAW_RECT_Z_INDEX: number; export interface Message { role: 'user' | 'assistant'; content: string; references?: { id: string; }[]; images?: { url: string; }[]; suggestions?: { text: string; }[]; }