import { CanvasRatio, CanvasElementData, CanvasParams, CanvasLanguage, CanvasMode, CanvasTheme } from '../../types'; type __VLS_Props = { initialElements?: CanvasElementData[]; ratio?: CanvasRatio; showRulers?: boolean; showToolbar?: boolean; customComponents?: Record; mode?: CanvasMode; enableShortcuts?: boolean; showGuides?: boolean; theme?: CanvasTheme; background?: string; autoStep?: boolean; showElementDescription?: boolean; language?: CanvasLanguage; }; declare var __VLS_20: {}; type __VLS_Slots = {} & { default?: (props: typeof __VLS_20) => any; }; declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, { usePlugin: (plugin: import('../../types').CanvasPlugin, options?: Record) => void; state: { document: { id?: string | undefined; meta?: Record | undefined; config: { ratio: CanvasRatio; width?: number | undefined; height?: number | undefined; background: string; bgm?: string | { [x: string]: unknown; url: string; volume?: number | undefined; } | null | undefined; enterSound?: string | { [x: string]: unknown; url: string; volume?: number | undefined; } | null | undefined; animationJson?: string | undefined; autoPlay?: boolean | undefined; autoStep?: boolean | undefined; watermark?: { text: string; color?: string | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; opacity?: number | undefined; angle?: number | undefined; repeat?: boolean | undefined; position?: "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | undefined; } | null | undefined; }; slides: { config?: { background?: string | undefined; bgm?: string | { [x: string]: unknown; url: string; volume?: number | undefined; } | null | undefined; enterSound?: string | { [x: string]: unknown; url: string; volume?: number | undefined; } | null | undefined; transition?: string | undefined; animationJson?: string | undefined; } | undefined; elements: { id: string; name?: string | undefined; type: string; x: number; y: number; width?: number | undefined; height?: number | undefined; rotation?: number | undefined; groupId?: string | undefined; isEditable?: boolean | undefined; props?: Record | undefined; propValues?: Record | undefined; slots?: Record | undefined; animations?: { id: string; type?: "in" | "emphasis" | "out" | undefined; animate?: string | undefined; duration?: number | undefined; delay?: number | undefined; step?: number | undefined; audio?: string | { [x: string]: unknown; url: string; volume?: number | undefined; } | undefined; }[] | undefined; enterStep?: number | undefined; exitStep?: number | undefined; delay?: number | undefined; description?: string | undefined; events?: Record | undefined; methods?: Record | undefined; model?: { [x: string]: any; value?: any; default?: any; field?: string | undefined; checked?: boolean | undefined; } | undefined; }[]; }[]; pluginDatas?: Record | undefined; }; runtime: { activeElements: { id: string; name?: string | undefined; type: string; x: number; y: number; width?: number | undefined; height?: number | undefined; rotation?: number | undefined; groupId?: string | undefined; isEditable?: boolean | undefined; props?: Record | undefined; propValues?: Record | undefined; slots?: Record | undefined; animations?: { id: string; type?: "in" | "emphasis" | "out" | undefined; animate?: string | undefined; duration?: number | undefined; delay?: number | undefined; step?: number | undefined; audio?: string | { [x: string]: unknown; url: string; volume?: number | undefined; } | undefined; }[] | undefined; enterStep?: number | undefined; exitStep?: number | undefined; delay?: number | undefined; description?: string | undefined; events?: Record | undefined; methods?: Record | undefined; model?: { [x: string]: any; value?: any; default?: any; field?: string | undefined; checked?: boolean | undefined; } | undefined; }[]; currentSlideIndex: number; mode: CanvasMode; presentationMode: import('../../types').PresentationMode; currentStep: number; scale: number; offsetX: number; offsetY: number; width: number; height: number; selectedIds: Set & Omit, keyof Set>; lockedIds?: (Set & Omit, keyof Set>) | undefined; drawingMode: string; snapLines: { axis: "x" | "y"; value: number; }[]; isSpacePressed: boolean; isMobile?: boolean | undefined; isDragging?: boolean | undefined; }; editor: { [x: string]: any; theme: CanvasTheme; language: CanvasLanguage; showRoughToolbar: boolean; showPreviewControls: boolean; showRulers: boolean; showGuides: boolean; showGrid: boolean; gridSize: number; enableShortcuts: boolean; disablePan: boolean; disableBgm: boolean; muteAll: boolean; fullScreen: boolean; autoStep: boolean; showElementDescription: boolean; defaultRoughProps?: Record | undefined; }; }; getParams: () => CanvasParams; setParams: (params: Partial) => void; resetParams: () => void; setMode: (mode: CanvasMode) => void; setShowRulers: (showRulers: boolean) => void; setScale: (scale: number) => void; setEnableShortcuts: (enable: boolean) => void; setBackground: (bg: string) => void; setDisablePan: (disable: boolean) => void; setAnimation: (animation: string | null) => void; setAudio: (type: "bgm" | "slide" | "element", audio: string | import('../../types').AudioConfig | null) => void; setLanguage: (lang: CanvasLanguage) => void; setPresentationMode: (mode: "default" | "ppt") => void; nextStep: () => void; prevStep: () => void; goStep: (step: number) => void; stopStep: () => void; pauseStep: () => void; presentation: (options?: boolean | import('../../types').PresentationOptions) => void; getData: any; loadData: any; loadSlides: any; nextSlide: () => void; prevSlide: () => void; goSlide: (index: number) => void; fullscreen: () => void; exitFullscreen: () => void; clearData: any; loadElements: (components: Record) => void; exportData: any; addElement: (el: CanvasElementData | CanvasElementData[], skipHistory?: boolean) => void; insertElementBefore: (element: CanvasElementData, targetId: string) => void; insertElementAfter: (element: CanvasElementData, targetId: string) => void; updateElement: (id: string, props: Partial, skipHistory?: boolean) => void; removeElement: (id: string | string[], skipHistory?: boolean) => void; selectAll: () => void; select: (ids: string | string[]) => void; clearSelection: () => void; groupSelected: () => void; unGroupSelected: () => void; deleteSelect: () => void; undo: () => void; redo: () => void; save: () => void; load: (data: CanvasElementData[] | import('../../types').CanvasDocumentData | any) => boolean | void; alignSelected: (direction: "top" | "bottom" | "left" | "right" | "center" | "middle") => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { [x: string]: any; }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{ [x: `on${Capitalize}`]: ((...args: any) => any) | undefined; }>, { theme: CanvasTheme; language: CanvasLanguage; showRulers: boolean; showGuides: boolean; enableShortcuts: boolean; autoStep: boolean; showElementDescription: boolean; ratio: CanvasRatio; mode: CanvasMode; initialElements: CanvasElementData[]; customComponents: Record; showToolbar: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };