import { ServiceContainer } from '../services/ServiceContainer.js'; import { InstanceServiceContainer } from '../services/InstanceServiceContainer.js'; import { ChangeGroup } from '../services/undoService/ChangeGroup.js'; import { NodeType } from './NodeType.js'; import { ISize } from "../../interfaces/ISize.js"; import { IStyleRule } from '../services/stylesheetService/IStylesheetService.js'; import { IPlacementService } from '../services/placementService/IPlacementService.js'; import { TypedEvent } from '@node-projects/base-custom-webcomponent'; export interface IDesignItem { lastContainerSize: ISize; readonly window: Window & typeof globalThis; readonly document: Document; readonly usableContainer: ShadowRoot | Element | Document; updateChildrenFromNodesChildren(): any; refreshRenderedDesignItem(): any; setView(node: Element): any; replaceNode(newNode: Node): any; nodeReplaced: TypedEvent; clone(): Promise; readonly nodeType: NodeType; readonly name: string; id: string; readonly isRootItem: boolean; readonly hasAttributes: boolean; readonly hasStyles: boolean; readonly hasChildren: boolean; children(recursive?: boolean): IterableIterator; allMatching(selectors: string): IterableIterator; readonly childCount: number; readonly firstChild: IDesignItem; readonly parent: IDesignItem; _insertChildsInternal(designItems: IDesignItem[], index?: number): any; _insertChildInternal(designItem: IDesignItem, index?: number): any; _removeChildInternal(designItem: IDesignItem): any; _withoutUndoSetStyle(name: string, value: string, important?: boolean): any; _withoutUndoRemoveStyle(name: string): any; _withoutUndoSetAttribute(name: string, value: string): any; _withoutUndoRemoveAttribute(name: string): any; indexOf(designItem: IDesignItem): number; insertAdjacentElement(designItem: IDesignItem, where: InsertPosition): any; insertChild(designItem: IDesignItem, index?: number): any; removeChild(designItem: IDesignItem): any; remove(): any; clearChildren(): any; removeDesignerAttributesAndStylesFromChildren(): any; editContent(): any; editContentFinish(): any; readonly hasContent: boolean; content: string; innerHTML?: string; readonly isEmptyTextNode: boolean; /** Could be a special node if another parser is used */ readonly parsedNode: any; readonly node: Node; readonly element: Element; serviceContainer: ServiceContainer; instanceServiceContainer: InstanceServiceContainer; getOrCreateDesignItem(node: Node): any; openGroup(title: string): ChangeGroup; styles(): Iterable<[name: string, value: string]>; getStyle(name: string): string; isStyleImportant(name: string): boolean; hasStyle(name: string): boolean; setStyle(name: string, value?: string | null, important?: boolean): any; setStyleAsync(name: string, value?: string | null, important?: boolean): Promise; removeStyle(name: string): any; updateStyleInSheetOrLocal(name: string, value?: string | null, important?: boolean, forceSet?: boolean): any; updateStyleInSheetOrLocalAsync(name: string, value?: string | null, important?: boolean, forceSet?: boolean): Promise; getStyleFromSheetOrLocal(name: string, fallback?: string): any; getStyleFromSheetOrLocalOrComputed(name: string, fallback?: string): any; getAllStyles(): IStyleRule[]; readonly hasForcedCss: boolean; cssForceHover: boolean; cssForceActive: boolean; cssForceVisited: boolean; cssForceFocus: boolean; cssForceFocusWithin: boolean; cssForceFocusVisible: boolean; attributes(): Iterable<[name: string, value: string]>; getAttribute(name: string): string; hasAttribute(name: string): boolean; setAttribute(name: string, value?: string | null): any; removeAttribute(name: string): any; setProperty(name: string, value?: any): any; setPropertyAndAttribute(name: string, value?: string | null): any; removePropertyAndAttribute(name: string): any; hideAtDesignTime: boolean; hideAtRunTime: boolean; lockAtDesignTime: boolean; getPlacementService(style?: CSSStyleDeclaration): IPlacementService; getComputedStyleProperty(name: string, fallback: string): string; getComputedStyle(): CSSStyleDeclaration; querySelectorAll(selectors: string): NodeListOf; }