import { ISelectionService } from './ISelectionService.js';
import { IDesignItem } from '../../item/IDesignItem.js';
import { ISelectionChangedEvent } from './ISelectionChangedEvent.js';
import { TypedEvent } from '@node-projects/base-custom-webcomponent';
import { IDesignerCanvas } from '../../widgets/designerView/IDesignerCanvas.js';
import { ISelectionRefreshEvent } from './ISelectionRefreshEvent.js';
import { ISourcePart } from '../sourceMapService/ISourcePart.js';
export declare class SelectionService implements ISelectionService {
    primarySelection: IDesignItem;
    selectedElements: IDesignItem[];
    selectedPart: ISourcePart;
    _designerCanvas: IDesignerCanvas;
    _undoSelectionChanges: boolean;
    constructor(designerCanvas: IDesignerCanvas, undoSelectionChanges: boolean);
    setSelectedElements(designItems: IDesignItem[], event?: Event, selectedPart?: ISourcePart): void;
    private _setSelectedElements;
    setSelectedPart(sourcePart: ISourcePart, event?: Event): void;
    private _setSelectedPart;
    setSelectionByTextRange(positionStart: number, positionEnd: number): void;
    _withoutUndoSetSelectedElements(designItems: IDesignItem[], event?: Event, selectedPart?: ISourcePart): void;
    clearSelectedElements(): void;
    isSelected(designItem: IDesignItem): boolean;
    readonly onSelectionChanged: TypedEvent<ISelectionChangedEvent>;
    readonly onSelectionRefresh: TypedEvent<ISelectionRefreshEvent>;
}
