import { Ref } from 'vue'; import { CanvasPluginContext, CanvasParams, CanvasState, CanvasEventName, CanvasMode, CanvasLanguage, CanvasFormAPI } from '../types'; import { HistoryAPI } from './useHistory'; import { ElementsManagerAPI } from './useElements'; import { usePlugins } from './usePlugins'; export interface CanvasAPIContext { state: CanvasState; canvasEmit: (event: CanvasEventName, ...args: any[]) => void; elementsManager: ElementsManagerAPI; dataIOManager: any; presentationManager: any; history: HistoryAPI; editorManager: { setMode: (mode: CanvasMode) => void; setScale: (scale: number) => void; zoomToCenter: (scale: number) => void; setParams: (params: Partial) => void; setBackground: (bg: string) => void; resetParams: () => void; setLanguage: (lang: CanvasLanguage) => void; t: (key: string, ...args: any[]) => any; }; pluginManager: ReturnType; customComponentsRegistry: Record; editorRef: Ref; formAPI: CanvasFormAPI; } export declare function useCanvasAPI(ctx: CanvasAPIContext): CanvasPluginContext['api'];