import { EditingDocument } from './EditingDocument.js'; import { BaseCustomWebComponentLazyAppend, TypedEvent } from "@node-projects/base-custom-webcomponent"; import { DesignerView } from './widgets/designerView/designerView.js'; import { ServiceContainer } from './services/ServiceContainer.js'; import { InstanceServiceContainer } from './services/InstanceServiceContainer.js'; import { ICodeView } from './widgets/codeView/ICodeView.js'; import { IDemoView } from './widgets/demoView/IDemoView.js'; import { IUiCommandHandler } from '../commandHandling/IUiCommandHandler.js'; import { IUiCommand } from '../commandHandling/IUiCommand.js'; import { IDisposable } from '../interfaces/IDisposable.js'; import { ISelectionChangedEvent } from "./services/selectionService/ISelectionChangedEvent.js"; import { ISelectionRefreshEvent } from './services/selectionService/ISelectionRefreshEvent.js'; import { IStylesheet } from "./services/stylesheetService/IStylesheetService.js"; export declare class DocumentContainer extends BaseCustomWebComponentLazyAppend implements IUiCommandHandler, IDisposable { designerView: DesignerView; codeView: ICodeView & HTMLElement; demoView: IDemoView & HTMLElement; additionalData: any; private _document; private _ownsDocument; private _initialLoad; private _subscriptions; private _documentSubscriptions; private _refreshTimer; private _selectionTimer; private _readyCalled; private _disposed; readonly onCommitError: TypedEvent; get editingDocument(): EditingDocument; /** Ready for programmatic access, including code edits waiting for the debounce. */ whenReady(): Promise; commitPendingChanges(): Promise; attachDocument(document: EditingDocument): Promise; detachDocument(): Promise; private bindDocument; private _stylesheetChangedEventRegistered; private _additionalStyle; set additionalStyleString(style: string); get additionalStyleString(): string; private _additionalStyles; set additionalStyles(value: CSSStyleSheet[]); get additionalStyles(): CSSStyleSheet[]; private _additionalStylesheets; set additionalStylesheets(stylesheets: IStylesheet[]); get additionalStylesheets(): IStylesheet[]; additionalStylesheetChanged: TypedEvent<{ name: string; newStyle: string; oldStyle: string; changeSource: "extern" | "styleupdate" | "undo"; }>; get readOnly(): boolean; set readOnly(v: boolean); onContentChanged: TypedEvent<{ source: "designer" | "code"; }>; onTabChanged: TypedEvent<{ oldTab: "designer" | "code" | "split" | "preview"; newTab: "designer" | "code" | "split" | "preview"; }>; private _contentChangeSource; private _serviceContainer; private _content; private _tabControl; private _selectionPosition; private _lastCodeSelectionKey; private _splitDiv; private _designerDiv; private _codeDiv; private refreshInSplitViewDebounced; private _disableChangeNotificationDesigner; private _disableChangeNotificationEditor; static get style(): CSSStyleSheet; constructor(serviceContainer: ServiceContainer, content?: string | EditingDocument, useIframe?: boolean); refreshInSplitView(): Promise; get currentView(): 'designer' | 'split' | 'code' | 'preview'; set currentView(view: 'designer' | 'split' | 'code' | 'preview'); designerSelectionChanged(e: ISelectionChangedEvent | ISelectionRefreshEvent): void; designerContentChanged(notify?: boolean): void; dispose(): Promise; executeCommand(command: IUiCommand): void; canExecuteCommand(command: IUiCommand): boolean; setContentAsync(value: string): Promise; set content(value: string); get content(): string; ready(): void; private updateDesignerHtml; private setCodeViewSelection; get instanceServiceContainer(): InstanceServiceContainer; }