/** * — light-DOM custom element wrapping the React component. * * No shadow root; attributes are mapped to IdeProps. * * Attribute → prop mapping (all optional): * title → title * manifest-url → manifestUrl * workspace-url → workspaceUrl * workspace-name → workspaceName * canvas-path → canvasPath * theme → theme * fullscreen → fullscreen (boolean, presence = true) * read-only → readOnly (boolean, presence = true) * show-hidden-files → showHiddenFiles (boolean, presence = true) * show-solution-files → showSolutionFiles (boolean, presence = true) * enable-file-explorer → enableFileExplorer (boolean default true; "false" → false) * enable-tabs → enableTabs * enable-terminal → enableTerminal * enable-canvas → enableCanvas * enable-docking → enableDocking * enable-workspace → enableWorkspace * * JS-only props (not attribute-settable): workspaceConfig, api, onStdout, * onStderr, stdin, onFullscreenChange. */ import type { IdeProps, WorkspaceConfig } from '../components/ide-types.js'; export declare const ELEMENT_NAME: "emception-ide"; export declare class EmceptionIdeElement extends HTMLElement { private _root; workspaceConfig: WorkspaceConfig | undefined; api: IdeProps['api']; onStdout: IdeProps['onStdout']; onStderr: IdeProps['onStderr']; stdin: IdeProps['stdin']; onFullscreenChange: IdeProps['onFullscreenChange']; static get observedAttributes(): readonly string[]; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(): void; /** Call after setting JS-only props to trigger a re-render. */ update(): void; private _buildProps; private _render; } /** * Register `` with the custom elements registry. * Safe to call multiple times — skips if already registered. */ export declare function registerEmceptionIde(): void; //# sourceMappingURL=emception-ide.d.ts.map