import { TypedEvent } from '@node-projects/base-custom-webcomponent'; import { IDesignItem } from '../../item/IDesignItem.js'; import { ISelectionChangedEvent } from './ISelectionChangedEvent.js'; import { ISelectionRefreshEvent } from './ISelectionRefreshEvent.js'; import { ISourcePart } from '../sourceMapService/ISourcePart.js'; export interface ISelectionService { primarySelection: IDesignItem; selectedElements: IDesignItem[]; selectedPart: ISourcePart; setSelectedElements(designItems: IDesignItem[], even?: Event, selectedPart?: ISourcePart): void; setSelectedPart(sourcePart: ISourcePart, event?: Event): void; setSelectionByTextRange(positionStart: number, positionEnd: number): any; clearSelectedElements(): void; isSelected(designItem: IDesignItem): boolean; readonly onSelectionChanged: TypedEvent; readonly onSelectionRefresh: TypedEvent; }