import { Connection } from 'penpal'; import { ConfigType, EditorAPI, RuntimeConfigType } from './types/CommonTypes'; import { Instrumented } from './types/MethodInvocationTypes'; import { ActionController } from './controllers/ActionController'; import { AnimationController } from './controllers/AnimationController'; import { BarcodeController } from './controllers/BarcodeController'; import { BrandKitController } from './controllers/BrandKitController'; import { CanvasController } from './controllers/CanvasController'; import { CharacterStyleController } from './controllers/CharacterStyleController'; import { ClipboardController } from './controllers/ClipboardController'; import { ColorConversionController } from './controllers/ColorConversionController'; import { ColorStyleController } from './controllers/ColorStyleController'; import { ConfigurationController } from './controllers/ConfigurationController'; import { ConnectorController } from './controllers/ConnectorController'; import { DataConnectorController } from './controllers/DataConnectorController'; import { DataSourceController } from './controllers/DataSourceController'; import { DebugController } from './controllers/DebugController'; import { DocumentController } from './controllers/DocumentController'; import { ExperimentController } from './controllers/ExperimentController'; import { FontConnectorController } from './controllers/FontConnectorController'; import { FontController } from './controllers/FontController'; import { FrameController } from './controllers/FrameController'; import { InfoController } from './controllers/InfoController'; import { LayoutController } from './controllers/LayoutController'; import { MediaConnectorController } from './controllers/MediaConnectorController'; import { PageController } from './controllers/PageController'; import { ParagraphStyleController } from './controllers/ParagraphStyleController'; import { ShapeController } from './controllers/ShapeController'; import { TextStyleController } from './controllers/TextStyleController'; import { ToolController } from './controllers/ToolController'; import { UndoManagerController } from './controllers/UndoManagerController'; import { UtilsController } from './controllers/UtilsController'; import { VariableController } from './controllers/VariableController'; import { NextInitiator } from './next/NextInitiator'; import { GradientStyleController } from './controllers/GradientStyleController'; import { ComponentConnectorController } from './controllers/ComponentConnectorController'; import { ComponentController } from './controllers/ComponentController'; import { ComponentGridController } from './controllers/ComponentGridController'; import { SdkEvents } from './utils/SdkEvents'; export declare class SDK { config: RuntimeConfigType; connection: Connection; /** * @ignore */ editorAPI: EditorAPI; /** * SDK method invocation events. * * Use this to observe which SDK controller method was called and with which parameters/result. * These are SDK-level events (SDK -> consumer), separate from engine subscriber events (`config.events`). */ sdkEvents: SdkEvents; action: Instrumented; layout: Instrumented; frame: Instrumented; shape: Instrumented; barcode: Instrumented; /** @experimental */ component: Instrumented; connector: Instrumented; mediaConnector: Instrumented; fontConnector: Instrumented; /** * @experimental This controller is still experimental and might change in future releases. */ componentConnector: Instrumented; dataConnector: Instrumented; dataSource: Instrumented; animation: Instrumented; document: Instrumented; configuration: Instrumented; variable: Instrumented; utils: Instrumented; tool: Instrumented; page: Instrumented; debug: Instrumented; undoManager: Instrumented; textSelection: Instrumented; paragraphStyle: Instrumented; characterStyle: Instrumented; colorStyle: Instrumented; gradientStyle: Instrumented; font: Instrumented; experiment: Instrumented; canvas: Instrumented; colorConversion: Instrumented; info: Instrumented; clipboard: Instrumented; brandKit: Instrumented; componentGrid: Instrumented; next: NextInitiator; private subscriber; private enabledNextSubscribers; private localConfig; private dataItemMappingTools; private methodListeners; /** * The SDK should be configured clientside and it exposes all controllers to work with in other applications * @param config The configuration object where the SDK and editor can get configured */ constructor(config: ConfigType); /** * This method will initiate the editor, running this will result in the editor restarting * It will generate an iframe in the document */ loadEditor: () => void; setConnection: (newConnection: Connection) => void; private toInstrumented; /** * Wraps every controller previously handed to `toInstrumented` with the invocation * observer, discovering them by their marker rather than a manually maintained * list of property names. Any property assigned via `toInstrumented` is picked up * automatically, using its own property key as the controller name. */ private applyMethodInstrumentation; } export default SDK;